/*
- * Copyright (C) 2012
+ * Copyright (C) 2012, 2013
* Wolfgang Bumiller
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
#define AST_FLAG_VARIADIC (1<<0)
#define AST_FLAG_NORETURN (1<<1)
#define AST_FLAG_INLINE (1<<2)
+#define AST_FLAG_INITIALIZED (1<<3)
+#define AST_FLAG_DEPRECATED (1<<4)
+#define AST_FLAG_TYPE_MASK (AST_FLAG_VARIADIC | AST_FLAG_NORETURN)
/* Value
*
ast_expression_common expression;
const char *name;
+ const char *desc;
/*
int vtype;
const char *name;
ir_block *irblock;
ast_goto **gotos;
+ /* means it has not yet been defined */
+ bool undefined;
};
-ast_label* ast_label_new(lex_ctx ctx, const char *name);
+ast_label* ast_label_new(lex_ctx ctx, const char *name, bool undefined);
void ast_label_delete(ast_label*);
void ast_label_register_goto(ast_label*, ast_goto*);