]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cgraphunit.c
PR middle-end/81824 - Warn for missing attributes with function aliases
authorMartin Sebor <msebor@redhat.com>
Fri, 9 Nov 2018 17:32:52 +0000 (17:32 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Fri, 9 Nov 2018 17:32:52 +0000 (10:32 -0700)
commit79a2c4281c7dcaa6a138d24fd037c62453a12bde
treedff179677c863457f73ef49310ef719591c305e7
parent900dab1338b45c8fa8d1b315dce53712b857da1d
PR middle-end/81824 - Warn for missing attributes with function aliases

gcc/c-family/ChangeLog:

PR middle-end/81824
* c-attribs.c (handle_copy_attribute): New function.

gcc/cp/ChangeLog:

PR middle-end/81824
* pt.c (warn_spec_missing_attributes): Move code to attribs.c.
Call decls_mismatched_attributes.

gcc/ChangeLog:

PR middle-end/81824
* attribs.c (has_attribute): New helper function.
(decls_mismatched_attributes, maybe_diag_alias_attributes): Same.
* attribs.h (decls_mismatched_attributes): Declare.
* cgraphunit.c (handle_alias_pairs): Call maybe_diag_alias_attributes.
(maybe_diag_incompatible_alias): Use OPT_Wattribute_alias_.
* common.opt (-Wattribute-alias): Take an argument.
(-Wno-attribute-alias): New option.
* doc/extend.texi (Common Function Attributes): Document copy.
(Common Variable Attributes): Same.
* doc/invoke.texi (-Wmissing-attributes): Document enhancement.
(-Wattribute-alias): Document new option argument.

gcc/testsuite/ChangeLog:

PR middle-end/81824
* gcc.dg/Wattribute-alias.c: New test.
* gcc.dg/Wmissing-attributes.c: New test.
* gcc.dg/attr-copy.c: New test.
* gcc.dg/attr-copy-2.c: New test.
* gcc.dg/attr-copy-3.c: New test.
* gcc.dg/attr-copy-4.c: New test.

From-SVN: r265980
19 files changed:
gcc/ChangeLog
gcc/attribs.c
gcc/attribs.h
gcc/c-family/ChangeLog
gcc/c-family/c-attribs.c
gcc/cgraphunit.c
gcc/common.opt
gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/doc/extend.texi
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/Wattribute-alias.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/Wmissing-attributes.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-copy-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-copy-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-copy-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-copy.c [new file with mode: 0644]
libgomp/libgomp.h