]> granicus.if.org Git - clang/commitdiff
Fix the EntityKind order so that all entity kinds that can be copied (using copy...
authorAnders Carlsson <andersca@mac.com>
Sat, 23 Jan 2010 05:47:27 +0000 (05:47 +0000)
committerAnders Carlsson <andersca@mac.com>
Sat, 23 Jan 2010 05:47:27 +0000 (05:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94289 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticSemaKinds.td
lib/Sema/SemaInit.h
test/SemaCXX/new-delete.cpp

index 4cfe94ec37cfc2af17320161a4187798c71a411d..df0f7f749526cd2dab26e0b21c29fc7af75245d5 100644 (file)
@@ -546,8 +546,9 @@ def err_destructor_name : Error<
 // C++ initialization
 def err_init_conversion_failed : Error<
   "cannot initialize %select{a variable|a parameter|return object|an "
-  "exception object|a value|a base class|a member subobject|an array element}0"
-  " of type %1 with an %select{rvalue|lvalue}2 of type %3">;
+  "exception object|a member subobject|an array element|a new value|a value|a "
+  "base class|an array element}0 of type %1 with an %select{rvalue|lvalue}2 of "
+  "type %3">;
 
 def err_lvalue_to_rvalue_ref : Error<"rvalue reference cannot bind to lvalue">;
 def err_invalid_initialization : Error<
index 5c305545b09cda85ebce875ff54d7fa226a6c1b8..d7d3756020f86d5e8274f39052bfacf42175105e 100644 (file)
@@ -47,6 +47,11 @@ public:
     /// \brief The entity being initialized is an exception object that
     /// is being thrown.
     EK_Exception,
+    /// \brief The entity being initialized is a non-static data member 
+    /// subobject.
+    EK_Member,
+    /// \brief The entity being initialized is an element of an array.
+    EK_ArrayElement,
     /// \brief The entity being initialized is an object (or array of
     /// objects) allocated via new.
     EK_New,
@@ -54,11 +59,6 @@ public:
     EK_Temporary,
     /// \brief The entity being initialized is a base member subobject.
     EK_Base,
-    /// \brief The entity being initialized is a non-static data member 
-    /// subobject.
-    EK_Member,
-    /// \brief The entity being initialized is an element of an array.
-    EK_ArrayElement,
     /// \brief The entity being initialized is an element of a vector.
     /// or vector.
     EK_VectorElement
index 0e0f630bc497ff8fcc60f5e0a7792fb9c5517dc8..b058fc13d96f336944449e872dab3625b5437220 100644 (file)
@@ -65,7 +65,7 @@ void bad_news(int *ip)
   (void)new S(1); // expected-error {{no matching constructor}}
   (void)new S(1, 1); // expected-error {{call to constructor of 'struct S' is ambiguous}}
   (void)new const int; // expected-error {{default initialization of an object of const type 'int const'}}
-  (void)new float*(ip); // expected-error {{cannot initialize a value of type 'float *' with an lvalue of type 'int *'}}
+  (void)new float*(ip); // expected-error {{cannot initialize a new value of type 'float *' with an lvalue of type 'int *'}}
   // Undefined, but clang should reject it directly.
   (void)new int[-1]; // expected-error {{array size is negative}}
   (void)new int[*(S*)0]; // expected-error {{array size expression must have integral or enumerated type, not 'struct S'}}