Revert r304592

r304592 - [ODRHash] Add support for TemplateArgument types.
Possibly causing one of the errors in modules build bot.

llvm-svn: 304618
This commit is contained in:
Richard Trieu 2017-06-03 00:11:23 +00:00
parent 87af646034
commit d064d1b6e8
2 changed files with 1 additions and 37 deletions

View File

@ -128,25 +128,7 @@ void ODRHash::AddTemplateName(TemplateName Name) {
}
}
void ODRHash::AddTemplateArgument(TemplateArgument TA) {
auto Kind = TA.getKind();
ID.AddInteger(Kind);
switch (Kind) {
case TemplateArgument::Null:
case TemplateArgument::Declaration:
case TemplateArgument::NullPtr:
case TemplateArgument::Integral:
case TemplateArgument::Template:
case TemplateArgument::TemplateExpansion:
case TemplateArgument::Expression:
case TemplateArgument::Pack:
break;
case TemplateArgument::Type:
AddQualType(TA.getAsType());
break;
}
}
void ODRHash::AddTemplateArgument(TemplateArgument TA) {}
void ODRHash::AddTemplateParameterList(const TemplateParameterList *TPL) {}
void ODRHash::clear() {

View File

@ -900,24 +900,6 @@ S2 s2;
#endif
}
namespace TemplateArgument {
#if defined(FIRST)
template<typename> struct U1 {};
struct S1 {
U1<int> u;
};
#elif defined(SECOND)
template<typename> struct U1 {};
struct S1 {
U1<double> u;
};
#else
S1 s1;
// expected-error@first.h:* {{'TemplateArgument::S1::u' from module 'FirstModule' is not present in definition of 'TemplateArgument::S1' in module 'SecondModule'}}
// expected-note@second.h:* {{declaration of 'u' does not match}}
#endif
}
// Interesting cases that should not cause errors. struct S should not error
// while struct T should error at the access specifier mismatch at the end.
namespace AllDecls {