Ignore "cold" and "hot" attributes, which appeared in gcc 4.3
PATCH 1/1 Ignore "cold" and "hot" attributes, which appeared in gcc 4.3
They describe how likely the function is to be executed, which can affect optimization. Also ignore attributes with underscores.
Signed-off-by Pavel Roskin <[email protected]>
---
ident-list.h | 2 ++ parse.c | 4 ++++ 2 files changed, 6 insertions(+), 0 deletions(-)
ident-list.h +2 -0
@@ -74,6 +74,8 @@ IDENT(__malloc__);IDENT (nonnull);IDENT (__nonnull);IDENT (__nonnull__);IDENT (constructor);IDENT (__constructor__);IDENT (destructor);IDENT (__destructor__); +IDENT (cold);IDENT (__cold__); +IDENT (hot);IDENT (__hot__);IDENT (cdecl);IDENT (__cdecl__);IDENT (stdcall);IDENT (__stdcall__);IDENT (fastcall);IDENT (__fastcall__);
parse.c +4 -0
@@ -353,6 +353,10 @@ static struct init_keyword { { "__constructor__", NS_KEYWORD, .op = &ignore_attr_op }, { "destructor", NS_KEYWORD, .op = &ignore_attr_op }, { "__destructor__", NS_KEYWORD, .op = &ignore_attr_op }, + { "cold", NS_KEYWORD, .op = &ignore_attr_op }, + { "__cold__", NS_KEYWORD, .op = &ignore_attr_op }, + { "hot", NS_KEYWORD, .op = &ignore_attr_op }, + { "__hot__", NS_KEYWORD, .op = &ignore_attr_op }, };void init_parser (int stream)