Skip to content
  • John McCall's avatar
    When performing template-substitution into a type, don't just replace the · cebee16b
    John McCall authored
    TemplateTypeParmType with the substituted type directly;  instead, replace it
    with a SubstTemplateTypeParmType which will note that the type was originally
    written as a template type parameter.  This makes it reasonable to preserve
    source information even through template substitution.
    
    Also define the new SubstTemplateTypeParmType class, obviously.
    
    For consistency with current behavior, we stringize these types as if they
    were the underlying type.  I'm not sure this is the right thing to do.
    At any rate, I paled at adding yet another clause to the don't-desugar 'if'
    statement, so I extracted a function to do it.  The new function also does
    The Right Thing more often, I think:  e.g. if we have a chain of typedefs
    leading to a vector type, we will now desugar all but the last one.
    
    llvm-svn: 84412
    cebee16b
Loading