diff options
-rw-r--r-- | docs/UsersManual.html | 4 | ||||
-rw-r--r-- | lib/Sema/SemaDecl.cpp | 5 | ||||
-rw-r--r-- | test/CodeGenCXX/operator-new.cpp | 9 |
3 files changed, 4 insertions, 14 deletions
diff --git a/docs/UsersManual.html b/docs/UsersManual.html index 7d6af988e1..13e0209414 100644 --- a/docs/UsersManual.html +++ b/docs/UsersManual.html @@ -592,8 +592,8 @@ The checks are: <dt id="opt_fno-assume-sane-operator-new"><b>-fno-assume-sane-operator-new</b>: Don't assume that the C++'s new operator is sane.</dt> -<dd>This option tells the compiler to do not assume that C++'s global - and any -possibly overloaded - new operator will always return a pointer that do not +<dd>This option tells the compiler to do not assume that C++'s global new +operator will always return a pointer that do not alias any other pointer when the function returns.</dd> <!-- ======================================================================= --> diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index ca42cac72c..ee4bd22676 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -2799,11 +2799,6 @@ Sema::ActOnFunctionDeclarator(Scope* S, Declarator& D, DeclContext* DC, D.getIdentifierLoc(), Name, R, TInfo, isStatic, isInline); - if ((Name.getCXXOverloadedOperator() == OO_New || - Name.getCXXOverloadedOperator() == OO_Array_New) && - getLangOptions().AssumeSaneOperatorNew) - NewFD->addAttr(::new (Context) MallocAttr()); - isVirtualOkay = !isStatic; } else { // Determine whether the function was written with a diff --git a/test/CodeGenCXX/operator-new.cpp b/test/CodeGenCXX/operator-new.cpp index 6becaae72c..da64fc1b2d 100644 --- a/test/CodeGenCXX/operator-new.cpp +++ b/test/CodeGenCXX/operator-new.cpp @@ -7,15 +7,10 @@ class teste { int A; teste() : A(2) {} - void* operator new(unsigned) {return ::new teste();} }; void f1() { + // CHECK-SANE: declare noalias i8* @_Znwj( + // CHECK-SANENOT: declare i8* @_Znwj( new teste(); } - -// CHECK-SANE: define linkonce_odr noalias i8* @_ZN5testenwEj( -// CHECK-SANE: declare noalias i8* @_Znwj( - -// CHECK-SANENOT: define linkonce_odr i8* @_ZN5testenwEj( -// CHECK-SANENOT: declare i8* @_Znwj( |