]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - gmqcc.h
Typos
[xonotic/gmqcc.git] / gmqcc.h
diff --git a/gmqcc.h b/gmqcc.h
index b95bac4fc2268b2ca3f9db035831b2c0f204702a..53a5460bf9718b6cac970e734a9549673db84f45 100644 (file)
--- a/gmqcc.h
+++ b/gmqcc.h
  * I suspect it also has just __inline of some sort, but our use
  * of inline is correct (not guessed), WE WANT IT TO BE INLINE
  */
-#elseif defined(_MSC_VER)
+#elif defined(_MSC_VER)
 #    define GMQCC_INLINE __forceinline
 #else
 #    define GMQCC_INLINE
     typedef struct { char _fail : 0; } int64_t;
     typedef struct { char _fail : 0; } uint64_t;
 #endif
-#ifdef _LP64 /* long pointer == 64 */
-    typedef unsigned long  uintptr_t;
-    typedef long           intptr_t;
-#else
-    typedef unsigned int   uintptr_t;
-    typedef int            intptr_t;
-#endif
 /* Ensure type sizes are correct: */
 typedef char uint8_size_is_correct  [sizeof(uint8_t)  == 1?1:-1];
 typedef char uint16_size_is_correct [sizeof(uint16_t) == 2?1:-1];
@@ -190,9 +183,6 @@ typedef char uint64_size_is_correct [sizeof(uint64_t) == 8?1:-1];
 typedef char int16_size_if_correct  [sizeof(int16_t)  == 2?1:-1];
 typedef char int32_size_is_correct  [sizeof(int32_t)  == 4?1:-1];
 typedef char int64_size_is_correct  [sizeof(int64_t)  >= 8?1:-1];
-/* intptr_t / uintptr_t correct size check */
-typedef char uintptr_size_is_correct[sizeof(intptr_t) == sizeof(int*)?1:-1];
-typedef char intptr_size_is_correct [sizeof(uintptr_t)== sizeof(int*)?1:-1];
 
 /*===================================================================*/
 /*=========================== util.c ================================*/
@@ -546,7 +536,12 @@ enum {
      */
     VINSTR_PHI,
     VINSTR_JUMP,
-    VINSTR_COND
+    VINSTR_COND,
+    /* A never returning CALL.
+     * Creating this causes IR blocks to be marked as 'final'.
+     * No-Return-Call
+     */
+    VINSTR_NRCALL
 };
 
 extern prog_section_statement *code_statements;
@@ -573,6 +568,7 @@ qcint    code_alloc_field (size_t qcsize);
 
 /* this function is used to keep statements and linenumbers together */
 void     code_push_statement(prog_section_statement *stmt, int linenum);
+void     code_pop_statement();
 
 /*
  * A shallow copy of a lex_file to remember where which ast node