summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorRichard Trieu <rtrieu@google.com>2017-06-03 00:11:23 +0000
committerRichard Trieu <rtrieu@google.com>2017-06-03 00:11:23 +0000
commitd064d1b6e80a0a8323932b346b38bfbbcbacf5c1 (patch)
tree88eef2b744b6ec16bcb1eabeebce613fb45c14ee /clang
parent87af6460342c83374f97fa83d3daa17eea3309cb (diff)
downloadbcm5719-llvm-d064d1b6e80a0a8323932b346b38bfbbcbacf5c1.tar.gz
bcm5719-llvm-d064d1b6e80a0a8323932b346b38bfbbcbacf5c1.zip
Revert r304592
r304592 - [ODRHash] Add support for TemplateArgument types. Possibly causing one of the errors in modules build bot. llvm-svn: 304618
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/AST/ODRHash.cpp20
-rw-r--r--clang/test/Modules/odr_hash.cpp18
2 files changed, 1 insertions, 37 deletions
diff --git a/clang/lib/AST/ODRHash.cpp b/clang/lib/AST/ODRHash.cpp
index bd08de45c62..0e822ce35b8 100644
--- a/clang/lib/AST/ODRHash.cpp
+++ b/clang/lib/AST/ODRHash.cpp
@@ -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() {
diff --git a/clang/test/Modules/odr_hash.cpp b/clang/test/Modules/odr_hash.cpp
index fb7005be259..a6a0b74743a 100644
--- a/clang/test/Modules/odr_hash.cpp
+++ b/clang/test/Modules/odr_hash.cpp
@@ -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 {
OpenPOWER on IntegriCloud