]> granicus.if.org Git - clang/commitdiff
Remove a redundant and broken check. Fixes PR7810.
authorSebastian Redl <sebastian.redl@getdesigned.at>
Thu, 5 Aug 2010 00:45:34 +0000 (00:45 +0000)
committerSebastian Redl <sebastian.redl@getdesigned.at>
Thu, 5 Aug 2010 00:45:34 +0000 (00:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110294 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDeclCXX.cpp
test/SemaCXX/new-delete.cpp

index 204949d11eb91312971f0d592c54a0bfc2d88e75..9a1a4cceced0b0b2ca2e013306696b4a59cf9503 100644 (file)
@@ -5627,18 +5627,6 @@ CheckOperatorDeleteDeclaration(Sema &SemaRef, const FunctionDecl *FnDecl) {
                                  diag::err_operator_delete_param_type))
     return true;
 
-  QualType FirstParamType = FnDecl->getParamDecl(0)->getType();
-  if (FirstParamType->isDependentType())
-    return SemaRef.Diag(FnDecl->getLocation(),
-                        diag::err_operator_delete_dependent_param_type)
-    << FnDecl->getDeclName() << SemaRef.Context.VoidPtrTy;
-
-  if (SemaRef.Context.getCanonicalType(FirstParamType) != 
-      SemaRef.Context.VoidPtrTy)
-    return SemaRef.Diag(FnDecl->getLocation(),
-                        diag::err_operator_delete_param_type)
-      << FnDecl->getDeclName() << SemaRef.Context.VoidPtrTy;
-  
   return false;
 }
 
index e8176a7758a213968b01af339e08ce992a45e00e..816b808346af25d6d8338ac6091747270dda2a81 100644 (file)
@@ -321,3 +321,14 @@ namespace Instantiate {
     delete xi;
   }
 }
+
+namespace PR7810 {
+  struct X {
+    // cv is ignored in arguments
+    static void operator delete(void *const);
+  };
+  struct Y {
+    // cv is ignored in arguments
+    static void operator delete(void *volatile);
+  };
+}