diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2009-05-10 18:38:11 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2009-05-10 18:38:11 +0000 |
commit | 6e8ed16ffef02b82995a90bdcf10ffff7d63839a (patch) | |
tree | e493c276b5aea9c425cadfc2d53d0f3dd78fe18d /lib/AST/ASTContext.cpp | |
parent | 9f2e23e708d3fa7c54f6626cd901993a86e007e6 (diff) |
Implement C++0x nullptr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71405 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/ASTContext.cpp')
-rw-r--r-- | lib/AST/ASTContext.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index 4aed59f37e..133e8c20b8 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -276,6 +276,9 @@ void ASTContext::InitBuiltinTypes() { // void * type VoidPtrTy = getPointerType(VoidTy); + + // nullptr type (C++0x 2.14.7) + InitBuiltinType(NullPtrTy, BuiltinType::NullPtr); } //===----------------------------------------------------------------------===// @@ -431,6 +434,9 @@ ASTContext::getTypeInfo(const Type *T) { Width = Target.getLongDoubleWidth(); Align = Target.getLongDoubleAlign(); break; + case BuiltinType::NullPtr: + Width = Target.getPointerWidth(0); // C++ 3.9.1p11: sizeof(nullptr_t) + Align = Target.getPointerAlign(0); // == sizeof(void*) } break; case Type::FixedWidthInt: |