compiler/libec: Added warning on deleting const qualified object
authorJerome St-Louis <jerome@ecere.com>
Wed, 4 Jun 2014 03:27:51 +0000 (23:27 -0400)
committerJerome St-Louis <jerome@ecere.com>
Wed, 4 Jun 2014 03:27:51 +0000 (23:27 -0400)
compiler/bootstrap/libec/bootstrap/pass15.c
compiler/libec/src/pass15.ec

index 578d232..59dfb28 100644 (file)
@@ -15329,6 +15329,8 @@ if(exp->__anon1.op.op == SIZEOF && exp->__anon1.op.exp2->expType)
 {
 DeclareType(exp->__anon1.op.exp2->expType, 0x0, 0x0);
 }
+if(exp->__anon1.op.op == DELETE && exp->__anon1.op.exp2 && exp->__anon1.op.exp2->expType && __ecereProp_Type_Get_specConst(exp->__anon1.op.exp2->expType))
+Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "deleting const qualified object\n", (((void *)0))));
 yylloc = oldyylloc;
 FreeType(dummy);
 if(type2)
index 771a9d1..6f458e7 100644 (file)
@@ -9152,6 +9152,9 @@ void ProcessExpressionType(Expression exp)
             DeclareType(exp.op.exp2.expType, false, false);
          }
 
+         if(exp.op.op == DELETE && exp.op.exp2 && exp.op.exp2.expType && exp.op.exp2.expType.specConst)
+            Compiler_Warning($"deleting const qualified object\n");
+
          yylloc = oldyylloc;
 
          FreeType(dummy);