* decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
on CLASS_TYPE_P types.
* g++.dg/ext/attrib44.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185709
138bc75d-0d04-0410-961f-
82ee72b054a4
+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.
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
+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
--- /dev/null
+// 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 }