comparison src/specifier.h @ 452:3d3049ae1304 r21-2-41

Import from CVS: tag r21-2-41
author cvs
date Mon, 13 Aug 2007 11:40:21 +0200
parents 576fb035e263
children e7ef97881643
comparison
equal deleted inserted replaced
451:8ad70c5cd5d7 452:3d3049ae1304
298 #endif /* ERROR_CHECK_TYPECHECK */ 298 #endif /* ERROR_CHECK_TYPECHECK */
299 299
300 #define DEFINE_SPECIFIER_TYPE(type) \ 300 #define DEFINE_SPECIFIER_TYPE(type) \
301 struct specifier_methods * type##_specifier_methods 301 struct specifier_methods * type##_specifier_methods
302 302
303 #define INITIALIZE_SPECIFIER_TYPE(type, obj_name, pred_sym) do { \ 303 #define INITIALIZE_SPECIFIER_TYPE(type, obj_name, pred_sym) do { \
304 type##_specifier_methods = xnew_and_zero (struct specifier_methods); \ 304 type##_specifier_methods = xnew_and_zero (struct specifier_methods); \
305 type##_specifier_methods->name = obj_name; \ 305 type##_specifier_methods->name = obj_name; \
306 type##_specifier_methods->extra_description = \ 306 type##_specifier_methods->extra_description = \
307 specifier_empty_extra_description; \ 307 specifier_empty_extra_description; \
308 defsymbol_nodump (&type##_specifier_methods->predicate_symbol, pred_sym); \ 308 defsymbol_nodump (&type##_specifier_methods->predicate_symbol, pred_sym); \
309 add_entry_to_specifier_type_list (Q##type, type##_specifier_methods); \ 309 add_entry_to_specifier_type_list (Q##type, type##_specifier_methods); \
310 dumpstruct (&type##_specifier_methods, &specifier_methods_description); \ 310 dump_add_root_struct_ptr (&type##_specifier_methods, \
311 &specifier_methods_description); \
311 } while (0) 312 } while (0)
312 313
313 #define REINITIALIZE_SPECIFIER_TYPE(type) do { \ 314 #define REINITIALIZE_SPECIFIER_TYPE(type) do { \
314 staticpro_nodump (&type##_specifier_methods->predicate_symbol); \ 315 staticpro_nodump (&type##_specifier_methods->predicate_symbol); \
315 } while (0) 316 } while (0)