aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 1341c14..4a5cf16 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -73,6 +73,7 @@ along with GCC; see the file COPYING3. If not see
#include "builtins.h"
#include "tree-chkp.h"
#include "rtl-chkp.h"
+#include "langhooks.h"
/* Some systems use __main in a way incompatible with its use in gcc, in these
cases use the macros NAME__MAIN to give a quoted symbol and SYMBOL__MAIN to
@@ -6221,6 +6222,15 @@ pass_expand::execute (function *fun)
(int) PARAM_VALUE (PARAM_SSP_BUFFER_SIZE));
}
+ if (warn_abi)
+ if (tree attr = lookup_attribute ("abi warning",
+ DECL_ATTRIBUTES (current_function_decl)))
+ warning_at (DECL_SOURCE_LOCATION (current_function_decl),
+ OPT_Wabi, "definition of %qs: %s",
+ identifier_to_locale (lang_hooks.decl_printable_name
+ (current_function_decl, 1)),
+ TREE_STRING_POINTER (TREE_VALUE (TREE_VALUE (attr))));
+
/* Set up parameters and prepare for return, for the function. */
expand_function_start (current_function_decl);