diff options
| author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2008-12-03 20:26:15 +0000 |
|---|---|---|
| committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2008-12-03 20:26:15 +0000 |
| commit | faf6808e7ac9fdf1f1e905531e6350c2ec677b9d (patch) | |
| tree | 6f3c1a36d4e5946912f00a09b653654f1dc61453 /clang/lib/Sema/Sema.h | |
| parent | cd7cc1ec0b8897c61d35d9eaad2ef37a0ab9ad35 (diff) | |
| download | bcm5719-llvm-faf6808e7ac9fdf1f1e905531e6350c2ec677b9d.tar.gz bcm5719-llvm-faf6808e7ac9fdf1f1e905531e6350c2ec677b9d.zip | |
Overload resolution for the operator new function. Member version is still untested.
llvm-svn: 60503
Diffstat (limited to 'clang/lib/Sema/Sema.h')
| -rw-r--r-- | clang/lib/Sema/Sema.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index cfb221bf401..150b32ec51d 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -202,6 +202,10 @@ public: /// The C++ "std" namespace, where the standard library resides. Cached here /// by GetStdNamespace NamespaceDecl *StdNamespace; + + /// A flag to remember whether the implicit forms of operator new and delete + /// have been declared. + bool GlobalNewDeleteDeclared; /// ObjCMethodList - a linked list of methods with different signatures. struct ObjCMethodList { @@ -831,6 +835,14 @@ public: ExprTy **ConstructorArgs, unsigned NumConsArgs, SourceLocation ConstructorRParen); bool CheckAllocatedType(QualType AllocType, const Declarator &D); + bool FindAllocationFunctions(SourceLocation StartLoc, bool UseGlobal, + QualType AllocType, bool IsArray, + Expr **PlaceArgs, unsigned NumPlaceArgs, + FunctionDecl *&OperatorNew, + FunctionDecl *&OperatorDelete); + void DeclareGlobalNewDelete(); + void DeclareGlobalAllocationFunction(DeclarationName Name, QualType Return, + QualType Argument); /// ActOnCXXDelete - Parsed a C++ 'delete' expression virtual ExprResult ActOnCXXDelete(SourceLocation StartLoc, bool UseGlobal, |

