replaced malloc by VLA
[cparser] / symbol_t.h
index 44b9900..1fe4054 100644 (file)
 #define SYMBOL_T_H
 
 #include <stdbool.h>
+#include "symbol.h"
 #include "ast.h"
 #include "token_t.h"
 
-struct pp_definition {
+struct pp_definition_t {
+       symbol_t          *symbol;
        source_position_t  source_position;
-       bool               expanding;
-       token_t            replacement_list[];
+       pp_definition_t   *parent_expansion;
+       size_t             expand_pos;
+       bool               is_variadic;
+       size_t             argument_count;
+       token_t           *arguments;
+       size_t             list_len;
+       token_t           *replacement_list;
 };
 
 struct symbol_t {
-       const char     *string;
-       unsigned short  ID;
-       unsigned short  pp_ID;
-       declaration_t  *declaration;
-       pp_definition  *pp_define;
+       const char       *string;
+       unsigned short    ID;
+       unsigned short    pp_ID;
+       declaration_t    *declaration;
+       pp_definition_t  *pp_definition;
 };
 
 #endif