Преглед на файлове

Fix for preprocessor conditional compilation inside class declarations

mingodad преди 4 години
родител
ревизия
03df048c55
променени са 1 файла, в които са добавени 6 реда и са изтрити 3 реда
  1. 6 3
      SquiLu/squirrel/sqcompiler.cpp

+ 6 - 3
SquiLu/squirrel/sqcompiler.cpp

@@ -2125,6 +2125,12 @@ start_again:
         int addClassMember = 0;
         int addClassMember = 0;
         while(_token != terminator)
         while(_token != terminator)
         {
         {
+            checkEatPragma();
+            if(_token == TK_PRAGMA) {
+                    Pragma();
+                    continue;
+            }
+
             bool hasattrs = false;
             bool hasattrs = false;
             bool isstatic = false;
             bool isstatic = false;
             bool cppDestructor = false;
             bool cppDestructor = false;
@@ -2134,9 +2140,6 @@ start_again:
             const SQChar *membertypename = 0;
             const SQChar *membertypename = 0;
             SQInteger member_type_token = 0;
             SQInteger member_type_token = 0;
 
 
-            checkEatPragma();
-            if(_token == TK_PRAGMA) Pragma();
-
             //check if is an attribute
             //check if is an attribute
             if(isClass)
             if(isClass)
             {
             {