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: [LTO merge][4/15][RFA] C++ front end


On 09/30/2009 09:10 AM, Diego Novillo wrote:
+  /* Templates do not need assembler names.  */
+  if (DECL_LANG_SPECIFIC (decl)
+      &&  (DECL_TEMPLATE_INSTANTIATION (decl)
+           || DECL_TEMPLATE_SPECIALIZATION (decl)))
+    return false;

This is entirely the wrong test; Mark suggested it because he didn't understand what you were asking for. This test finds decls that are related to templates, but doesn't discriminate between those that depend on template parameters and those which have all the template parameters replaced.


We never see TEMPLATE_DECLs.  The root of the problem was that I
was causing ICEs in the name mangler whenever I tried to create
assembler names for certain VAR_DECLs and FUNCTION_DECLs.

What they all have in common is that they either depend on
template arguments or they are a template specialization.

It shouldn't happen for full specializations, only for partial specializations (that still depend on template parms).


But the question is, where are you getting these decls from? What list do you find them on?

Jason


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