diff options
author | Steve Naroff <snaroff@apple.com> | 2007-07-31 12:34:36 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2007-07-31 12:34:36 +0000 |
commit | d1861fd633d5096a00777c918eb8575ea7162fe7 (patch) | |
tree | cd71c78f1c513b18ab427f6036aa2debdcb7d93a /Sema/SemaType.cpp | |
parent | 8a2bc625e86983e250ed31040695a870a767196b (diff) |
Add parsing and AST support for GNU "typeof".
Many small changes to lot's of files.
Still some FIXME's, however the basic support is in place.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40631 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Sema/SemaType.cpp')
-rw-r--r-- | Sema/SemaType.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Sema/SemaType.cpp b/Sema/SemaType.cpp index cf72e38e2f..d70002340b 100644 --- a/Sema/SemaType.cpp +++ b/Sema/SemaType.cpp @@ -95,6 +95,18 @@ static QualType ConvertDeclSpecToType(const DeclSpec &DS, ASTContext &Ctx) { // TypeQuals handled by caller. return Ctx.getTypedefType(cast<TypedefDecl>(D)); } + case DeclSpec::TST_typeofType: { + QualType T = QualType::getFromOpaquePtr(DS.getTypeRep()); + assert(!T.isNull() && "Didn't get a type for typeof?"); + // TypeQuals handled by caller. + return Ctx.getTypeOfType(T); + } + case DeclSpec::TST_typeofExpr: { + Expr *E = static_cast<Expr *>(DS.getTypeRep()); + assert(E && "Didn't get an expression for typeof?"); + // TypeQuals handled by caller. + return Ctx.getTypeOfType(E); + } } } |