re PR middle-end/36282 (Spurious warning "asm declaration ignored due to conflict...
authorJakub Jelinek <jakub@redhat.com>
Thu, 13 Mar 2014 20:56:06 +0000 (21:56 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 13 Mar 2014 20:56:06 +0000 (21:56 +0100)
commit39a1ebb3ddb6b2afcc96723b0cb59dbd10be5268
tree8f7c0d3df37b36ddc8cdb15d240d700dcfbb3b2e
parent3386d77eb83f3043afcc46503356165bc5ddfdba
re PR middle-end/36282 (Spurious warning "asm declaration ignored due to conflict with previous rename")

PR middle-end/36282
* c-pragma.c (apply_pragma_weak): Only look at
TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
DECL_ASSEMBLER_NAME_SET_P (decl).
(maybe_apply_pending_pragma_weaks): Exit early if
vec_safe_is_empty (pending_weaks) rather than only when
!pending_weaks.
(maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
set assembler name back to NULL afterwards.

* c-c++-common/pr36282-1.c: New test.
* c-c++-common/pr36282-2.c: New test.
* c-c++-common/pr36282-3.c: New test.
* c-c++-common/pr36282-4.c: New test.

From-SVN: r208557
gcc/c-family/ChangeLog
gcc/c-family/c-pragma.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/pr36282-1.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/pr36282-2.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/pr36282-3.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/pr36282-4.c [new file with mode: 0644]