diff options
author | John McCall <rjmccall@apple.com> | 2009-09-05 06:31:47 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2009-09-05 06:31:47 +0000 |
commit | 2191b20bfb31fc0e22a158f6b4204cd0b7dbd0fd (patch) | |
tree | f83185278453f6702e0ebee829f34e2cd58b6a4f /lib/Sema/Sema.cpp | |
parent | a2f4ec0df645fc249d2945beef9653f03b175417 (diff) |
Start emitting ElaboratedTypes in C++ mode. Support the effort in various
ways: remove elab types during desugaring, enhance pretty-printing to allow
tags to be suppressed without suppressing scopes, look through elab types
when associating a typedef name with an anonymous record type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81065 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/Sema.cpp')
-rw-r--r-- | lib/Sema/Sema.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Sema/Sema.cpp b/lib/Sema/Sema.cpp index 755cc22d52..b41902c15f 100644 --- a/lib/Sema/Sema.cpp +++ b/lib/Sema/Sema.cpp @@ -52,6 +52,10 @@ static void ConvertArgToStringFn(Diagnostic::ArgumentKind Kind, intptr_t Val, // If the desugared type is a vector type, we don't want to expand it, // it will turn into an attribute mess. People want their "vec4". !isa<VectorType>(DesugaredTy) && + + // Don't aka just because we saw an elaborated type. + (!isa<ElaboratedType>(Ty) || + cast<ElaboratedType>(Ty)->getUnderlyingType() != DesugaredTy) && // Don't desugar magic Objective-C types. Ty.getUnqualifiedType() != Context.getObjCIdType() && |