decl2.c (is_late_template_attribute): Don't defer attribute visibility just because the type is dependent.

* decl2.c (is_late_template_attribute): Don't defer attribute
        visibility just because the type is dependent.

From-SVN: r131833
This commit is contained in:
Jason Merrill 2008-01-25 14:47:28 -05:00 committed by Jason Merrill
parent b6219f4208
commit 1d555e2632
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2008-01-25 Jason Merrill <jason@redhat.com>
* decl2.c (is_late_template_attribute): Don't defer attribute
visibility just because the type is dependent.
2008-01-25 Jason Merrill <jason@redhat.com>
Mark Mitchell <mark@codesourcery.com>

View File

@ -1014,9 +1014,12 @@ is_late_template_attribute (tree attr, tree decl)
|| code == BOUND_TEMPLATE_TEMPLATE_PARM
|| code == TYPENAME_TYPE)
return true;
/* Also defer attributes on dependent types. This is not necessary
in all cases, but is the better default. */
else if (dependent_type_p (type))
/* Also defer most attributes on dependent types. This is not
necessary in all cases, but is the better default. */
else if (dependent_type_p (type)
/* But attribute visibility specifically works on
templates. */
&& !is_attribute_p ("visibility", name))
return true;
else
return false;