diff options
author | Martin Liska <mliska@suse.cz> | 2018-10-04 16:44:53 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2018-10-04 14:44:53 +0000 |
commit | 96c545e5ed9d50b2af2d1d5a6a49b7ff1baa0d85 (patch) | |
tree | 3cb97d2117782805b63df0e3c56ff104071742f3 /gcc/cgraphunit.c | |
parent | b8ce8129a560f64f8b2855c4a3812b7c3c0ebf3f (diff) | |
download | gcc-96c545e5ed9d50b2af2d1d5a6a49b7ff1baa0d85.zip gcc-96c545e5ed9d50b2af2d1d5a6a49b7ff1baa0d85.tar.gz gcc-96c545e5ed9d50b2af2d1d5a6a49b7ff1baa0d85.tar.bz2 |
Error about alias attribute with body definition (PR c/87483).
2018-10-04 Martin Liska <mliska@suse.cz>
PR c/87483
* cgraphunit.c (process_function_and_variable_attributes):
Warn about a function with alias attribute and a body.
2018-10-04 Martin Liska <mliska@suse.cz>
PR c/87483
* gcc.dg/pr87483.c: New test.
From-SVN: r264846
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index c0baaea..146855f 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -784,6 +784,12 @@ process_function_and_variable_attributes (cgraph_node *first, DECL_ATTRIBUTES (decl) = remove_attribute ("weakref", DECL_ATTRIBUTES (decl)); } + else if (lookup_attribute ("alias", DECL_ATTRIBUTES (decl)) + && node->definition + && !node->alias) + warning_at (DECL_SOURCE_LOCATION (node->decl), OPT_Wattributes, + "%<alias%> attribute ignored" + " because function is defined"); if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (decl)) && !DECL_DECLARED_INLINE_P (decl) |