]> granicus.if.org Git - clang/commitdiff
Improve wording of diagnostic complaining about a non-void* pointer as the first...
authorDouglas Gregor <dgregor@apple.com>
Fri, 27 Aug 2010 21:39:15 +0000 (21:39 +0000)
committerDouglas Gregor <dgregor@apple.com>
Fri, 27 Aug 2010 21:39:15 +0000 (21:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112298 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticSemaKinds.td
test/SemaCXX/new-delete.cpp

index 2a1e8a7a29f702edfda9b6b3363933d9191485ee..32550dc6166b438b38ce03938297cad9fdec3a34 100644 (file)
@@ -2941,7 +2941,7 @@ def err_operator_new_default_arg: Error<
 def err_operator_delete_dependent_param_type : Error<
   "%0 cannot take a dependent type as first parameter; use %1 instead">;
 def err_operator_delete_param_type : Error<
-  "%0 takes type %1 as first parameter">;
+  "first parameter of %0 must have type %1">;
 
 // C++ literal operators
 def err_literal_operator_outside_namespace : Error<
index b127e667c5315e319751eeb490c3a9bca3218e42..9a64e4c01d7e1205365dea1a3a8d4eb3b070efd5 100644 (file)
@@ -344,3 +344,13 @@ namespace TemplateDestructors {
     template<class T> void operator delete(void*, const size_t, const int, T*);
   };
 }
+
+namespace DeleteParam {
+  struct X {
+    void operator delete(X*); // expected-error{{first parameter of 'operator delete' must have type 'void *'}}
+  };
+
+  struct Y {
+    void operator delete(void* const);
+  };
+}