This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++ PATCH] Fix check_explicit_specialization (PR c++/32596, regression caused by PR c++/31923)


Jakub Jelinek wrote:

> The above change causes PR c++/32596 regression.

> The following patch copies just DECL_INTERFACE_KNOWN which is enough to fix
> this bug and didn't cause any make check-g++ or make check-libstdc++-v3
> failure, but I wonder if we shouldn't copy DECL_NOT_REALLY_EXTERN as well,
> or if DECL_INTERFACE_KNOWN can be copied over unconditionally.

I don't think DECL_NOT_REALLY_EXTERN has any meaning for a template.
(It certainly does for an instantiation, but not for the template
itself.)  At least, I hope it doesn't have any meaning...

> 2007-08-15  Jakub Jelinek  <jakub@redhat.com>
> 
> 	PR c++/32596
> 	* pt.c (check_explicit_specialization): Set DECL_INTERFACE_KNOWN
> 	if tmpl_func is not public and has DECL_INTERFACE_KNOWN set.
> 
> 	* g++.dg/ext/visibility/anon5.C: New test.

I think you should copy DECL_INTERFACE_KNOWN unconditionally.  If that
passes testing, this change is OK.

Thanks,

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]