PR c/28744
* cgraph.h (struct cgraph_node): Remove externally_visible bitfield. * cgraphunit.c (process_function_and_variable_attributes): Set local.externally_visible rather than externally_visible. PR c/28744 * c-common.c (handle_externally_visible_attribute): First look at TREE_CODE and only if it is function or var decl, check for non-public objects. Don't warn for DECL_EXTERNAL. * cgraphunit.c (process_function_and_variable_attributes): Warn if externally_visible attribute is used on non-public object. * gcc.dg/attr-externally-visible-1.c: New test. * gcc.dg/attr-externally-visible-2.c: New test. * g++.dg/parse/attr-externally-visible-1.C: New test. * g++.dg/parse/attr-externally-visible-2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116222 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/ChangeLog 15 additions, 0 deletionsgcc/ChangeLog
- gcc/c-common.c 8 additions, 8 deletionsgcc/c-common.c
- gcc/cgraph.h 0 additions, 2 deletionsgcc/cgraph.h
- gcc/cgraphunit.c 20 additions, 6 deletionsgcc/cgraphunit.c
- gcc/testsuite/ChangeLog 8 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C 48 additions, 0 deletionsgcc/testsuite/g++.dg/parse/attr-externally-visible-1.C
- gcc/testsuite/g++.dg/parse/attr-externally-visible-2.C 38 additions, 0 deletionsgcc/testsuite/g++.dg/parse/attr-externally-visible-2.C
- gcc/testsuite/gcc.dg/attr-externally-visible-1.c 48 additions, 0 deletionsgcc/testsuite/gcc.dg/attr-externally-visible-1.c
- gcc/testsuite/gcc.dg/attr-externally-visible-2.c 33 additions, 0 deletionsgcc/testsuite/gcc.dg/attr-externally-visible-2.c
Loading
Please register or sign in to comment