while (N##_add(*++elements) != -1 && len--); \
return N##_elements; \
} \
- typedef char VECTOR_FILL(extra_semicolon_,__COUNTER__)
+ typedef char VECTOR_FILL(extra_semicolon_##N,__COUNTER__)
#define VECTOR_PROT(T,N) \
extern T* N##_data ; \
extern long N##_elements ; \
VECTOR_PROT(int, code_globals );
VECTOR_PROT(char, code_chars );
+typedef float qcfloat;
+typedef int32_t qcint;
+
/*
* code_write -- writes out the compiled file
* code_init -- prepares the code file
void code_init ();
uint32_t code_genstring (const char *string);
uint32_t code_cachedstring(const char *string);
+qcint code_alloc_field (size_t qcsize);
/*===================================================================*/
/*========================= assembler.c =============================*/
* Since we may want to support that as well, let's redefine
* float and int here.
*/
-typedef float qcfloat;
-typedef int32_t qcint;
-
typedef union {
qcint _int;
qcint string;
};
enum {
-# define GMQCC_DEFINE_FLAG(X) X,
+# define GMQCC_DEFINE_FLAG(X) WARN_##X,
# include "warns.def"
# undef GMQCC_DEFINE_FLAG
COUNT_WARNINGS
};
static const opts_flag_def opts_warn_list[] = {
-# define GMQCC_DEFINE_FLAG(X) { #X, LONGBIT(X) },
+# define GMQCC_DEFINE_FLAG(X) { #X, LONGBIT(WARN_##X) },
# include "warns.def"
# undef GMQCC_DEFINE_FLAG
{ NULL, LONGBIT(0) }