diff options
| author | John McCall <rjmccall@apple.com> | 2010-03-01 23:49:17 +0000 |
|---|---|---|
| committer | John McCall <rjmccall@apple.com> | 2010-03-01 23:49:17 +0000 |
| commit | bd8d9bd39c2df594c4104c117b3b8fea555e8b2c (patch) | |
| tree | 630f4b126a2e96a11dc36da35ebc14b0312c505d /clang/lib/AST/ASTContext.cpp | |
| parent | ac8b9246f6b318d77677e96bdf9225ba1dfcaf45 (diff) | |
| download | bcm5719-llvm-bd8d9bd39c2df594c4104c117b3b8fea555e8b2c.tar.gz bcm5719-llvm-bd8d9bd39c2df594c4104c117b3b8fea555e8b2c.zip | |
Split out types that are non-canonical unless dependent as their own
category. Use this in a few places to eliminate unnecessary TST cases and
do some future-proofing. Provide terrible manglings for typeof. Mangle
decltype with some hope of accuracy.
Our manglings for some of the cases covered in the testcase are different
from gcc's, which I've raised as an issue with the ABI list.
llvm-svn: 97523
Diffstat (limited to 'clang/lib/AST/ASTContext.cpp')
| -rw-r--r-- | clang/lib/AST/ASTContext.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 22871a4a681..5cd52396a80 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -4522,6 +4522,7 @@ QualType ASTContext::mergeTypes(QualType LHS, QualType RHS) { switch (LHSClass) { #define TYPE(Class, Base) #define ABSTRACT_TYPE(Class, Base) +#define NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class: #define NON_CANONICAL_TYPE(Class, Base) case Type::Class: #define DEPENDENT_TYPE(Class, Base) case Type::Class: #include "clang/AST/TypeNodes.def" @@ -4644,9 +4645,6 @@ QualType ASTContext::mergeTypes(QualType LHS, QualType RHS) { return QualType(); } - case Type::TemplateSpecialization: - assert(false && "Dependent types have no size"); - break; } return QualType(); |

