Эх сурвалжийг харах

pointers can be assigned to const pointers

Kajetan Johannes Hammerle 3 жил өмнө
parent
commit
71cc7ab21c
2 өөрчлөгдсөн 3 нэмэгдсэн , 1 устгасан
  1. 2 1
      Compiler.c
  2. 1 0
      tests/const

+ 2 - 1
Compiler.c

@@ -312,7 +312,8 @@ static DataType cCallFunction(const char* name) {
 
 static void cStore(DataType left, DataType right, const char* name) {
     if(dtIsPointer(left)) {
-        if(!dtNullCompare(left, right)) {
+        if(!dtNullCompare(left, right) &&
+           !dtNullCompare(left, dtConst(right))) {
             cInvalidOperation(left, right, name);
         }
         cAddOperation(OP_STORE_POINTER);

+ 1 - 0
tests/const

@@ -39,6 +39,7 @@ void main() {
     //i += 3;
     
     int* e = nullptr;
+    b = e;
     
     test(i + 1);