2018-08-01 Nathan Sidwell <nathan@acm.org>
+ libcpp/
+ * internal.h (_cpp_construct_macro): Rename to ...
+ (_cpp_new_macro): ... here. Kill old declaration.
+ * macro.c (_cpp_construct_macro): Rename to ...
+ (_cpp_new_macro): ... here. Kill old definition.
+ (create_iso_definition): Adjust.
+ * traditional.c (_cpp_create_trad_definition): Adjust.
+
Macro tokens are trailing array
libcpp/
* include/cpp-id-data.h (cpp_macro): Move tokens to trailing array.
}
/* In macro.c */
-extern cpp_macro *_cpp_construct_macro (cpp_reader *, cpp_macro_kind, void *);
-extern cpp_macro *_cpp_new_macro (cpp_reader *, cpp_macro_kind);
+extern cpp_macro *_cpp_new_macro (cpp_reader *, cpp_macro_kind, void *);
extern void _cpp_free_definition (cpp_hashnode *);
extern bool _cpp_create_definition (cpp_reader *, cpp_hashnode *);
extern void _cpp_pop_context (cpp_reader *);
}
}
- macro = _cpp_construct_macro (pfile, cmk_macro,
- _cpp_reserve_room (pfile, 0,
- sizeof (cpp_macro)));
+ macro = _cpp_new_macro (pfile, cmk_macro,
+ _cpp_reserve_room (pfile, 0, sizeof (cpp_macro)));
if (!token)
{
}
cpp_macro *
-_cpp_construct_macro (cpp_reader *pfile, cpp_macro_kind kind, void *placement)
+_cpp_new_macro (cpp_reader *pfile, cpp_macro_kind kind, void *placement)
{
cpp_macro *macro = (cpp_macro *) placement;
return macro;
}
-cpp_macro *
-_cpp_new_macro (cpp_reader *pfile, cpp_macro_kind kind)
-{
- void *placement;
-
- if (pfile->hash_table->alloc_subobject)
- placement = pfile->hash_table->alloc_subobject (sizeof (cpp_macro));
- else
- placement = _cpp_aligned_alloc (pfile, sizeof (cpp_macro));
- return _cpp_construct_macro (pfile, kind, placement);
-}
-
/* Parse a macro and save its expansion. Returns nonzero on success. */
bool
_cpp_create_definition (cpp_reader *pfile, cpp_hashnode *node)
if (fun_like >= 0)
{
- macro = _cpp_new_macro (pfile, cmk_traditional);
+ macro = _cpp_new_macro (pfile, cmk_traditional,
+ _cpp_aligned_alloc (pfile, sizeof (cpp_macro)));
macro->parm.params = params;
macro->paramc = nparms;
macro->fun_like = fun_like != 0;