re PR c++/52671 (ICE with misplaced attribute on enum)
PR c++/52671 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION on CLASS_TYPE_P types. * g++.dg/ext/attrib44.C: New test. From-SVN: r185709
This commit is contained in:
parent
c140ddf392
commit
d4655dc7dd
@ -1,3 +1,9 @@
|
||||
2012-03-22 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/52671
|
||||
* decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
|
||||
on CLASS_TYPE_P types.
|
||||
|
||||
2012-03-20 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* lex.c (init_reswords): Use >= for cxx_dialect test.
|
||||
|
@ -4219,7 +4219,8 @@ check_tag_decl (cp_decl_specifier_seq *declspecs)
|
||||
if (declspecs->attributes && warn_attributes)
|
||||
{
|
||||
location_t loc;
|
||||
if (!CLASSTYPE_TEMPLATE_INSTANTIATION (declared_type))
|
||||
if (!CLASS_TYPE_P (declared_type)
|
||||
|| !CLASSTYPE_TEMPLATE_INSTANTIATION (declared_type))
|
||||
/* For a non-template class, use the name location. */
|
||||
loc = location_of (declared_type);
|
||||
else
|
||||
|
@ -1,3 +1,8 @@
|
||||
2012-03-22 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/52671
|
||||
* g++.dg/ext/attrib44.C: New test.
|
||||
|
||||
2012-03-22 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR middle-end/51737
|
||||
|
4
gcc/testsuite/g++.dg/ext/attrib44.C
Normal file
4
gcc/testsuite/g++.dg/ext/attrib44.C
Normal file
@ -0,0 +1,4 @@
|
||||
// PR c++/52671
|
||||
// { dg-do compile }
|
||||
__attribute__ ((deprecated)) enum E { E0 }; // { dg-warning "attribute ignored in declaration of" }
|
||||
// { dg-message "must follow the" "" { target *-*-* } 3 }
|
Loading…
x
Reference in New Issue
Block a user