[svn:parrot] r44010 - trunk/compilers/pirc/src
bacek at svn.parrot.org
bacek at svn.parrot.org
Tue Feb 16 11:12:19 UTC 2010
Author: bacek
Date: Tue Feb 16 11:12:18 2010
New Revision: 44010
URL: https://trac.parrot.org/parrot/changeset/44010
Log:
PIRC: Really use headerizer
Modified:
trunk/compilers/pirc/src/pirpcc.c
trunk/compilers/pirc/src/pirpcc.h
trunk/compilers/pirc/src/pirsymbol.c
trunk/compilers/pirc/src/pirsymbol.h
Modified: trunk/compilers/pirc/src/pirpcc.c
==============================================================================
--- trunk/compilers/pirc/src/pirpcc.c Tue Feb 16 11:11:52 2010 (r44009)
+++ trunk/compilers/pirc/src/pirpcc.c Tue Feb 16 11:12:18 2010 (r44010)
@@ -41,67 +41,84 @@
static void arguments_to_operands(
ARGIN(lexer_state * const lexer),
- argument * const args,
+ ARGIN(argument * const args),
unsigned num_arguments)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+static int calculate_pcc_argument_flags(ARGIN(argument * const arg))
+ __attribute__nonnull__(1);
+
+static int calculate_pcc_target_flags(ARGIN(target * const result))
__attribute__nonnull__(1);
-static int calculate_pcc_argument_flags(argument * const arg);
-static int calculate_pcc_target_flags(target * const result);
static void convert_nci_call(
ARGIN(lexer_state * const lexer),
- invocation * const inv)
- __attribute__nonnull__(1);
+ ARGIN(invocation * const inv))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
static void convert_pcc_call(
ARGIN(lexer_state * const lexer),
- invocation * const inv)
- __attribute__nonnull__(1);
+ ARGIN(invocation * const inv))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
static void convert_pcc_methodcall(
ARGIN(lexer_state * const lexer),
- invocation * const inv)
- __attribute__nonnull__(1);
+ ARGIN(invocation * const inv))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
static void convert_pcc_methodtailcall(
ARGIN(lexer_state * const lexer),
- invocation * const inv)
- __attribute__nonnull__(1);
+ ARGIN(invocation * const inv))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
static void convert_pcc_return(
ARGIN(lexer_state * const lexer),
- invocation * const inv)
- __attribute__nonnull__(1);
+ ARGIN(invocation * const inv))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
static void convert_pcc_tailcall(
ARGIN(lexer_state * const lexer),
- invocation * const inv)
- __attribute__nonnull__(1);
+ ARGIN(invocation * const inv))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
static void convert_pcc_yield(
ARGIN(lexer_state * const lexer),
- invocation * const inv)
- __attribute__nonnull__(1);
+ ARGIN(invocation * const inv))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
static int generate_signature_pmc(
ARGIN(lexer_state * const lexer),
unsigned size)
__attribute__nonnull__(1);
+PARROT_CANNOT_RETURN_NULL
static target * generate_unique_pir_reg(
ARGIN(lexer_state * const lexer),
pir_type type)
__attribute__nonnull__(1);
+PARROT_CANNOT_RETURN_NULL
static target * get_invoked_sub(
ARGIN(lexer_state * const lexer),
- target * const sub)
- __attribute__nonnull__(1);
+ ARGIN(target * const sub))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
static void save_global_reference(
ARGIN(lexer_state * const lexer),
- instruction * const instr,
- char const * const label)
- __attribute__nonnull__(1);
+ ARGIN(instruction * const instr),
+ ARGIN(char const * const label))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
static void targets_to_operands(
ARGIN(lexer_state * const lexer),
@@ -114,31 +131,44 @@
, PARROT_ASSERT_ARG(array) \
, PARROT_ASSERT_ARG(alias))
#define ASSERT_ARGS_arguments_to_operands __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
-#define ASSERT_ARGS_calculate_pcc_argument_flags __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
-#define ASSERT_ARGS_calculate_pcc_target_flags __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(args))
+#define ASSERT_ARGS_calculate_pcc_argument_flags __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(arg))
+#define ASSERT_ARGS_calculate_pcc_target_flags __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(result))
#define ASSERT_ARGS_convert_nci_call __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(inv))
#define ASSERT_ARGS_convert_pcc_call __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(inv))
#define ASSERT_ARGS_convert_pcc_methodcall __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(inv))
#define ASSERT_ARGS_convert_pcc_methodtailcall __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(inv))
#define ASSERT_ARGS_convert_pcc_return __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(inv))
#define ASSERT_ARGS_convert_pcc_tailcall __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(inv))
#define ASSERT_ARGS_convert_pcc_yield __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(inv))
#define ASSERT_ARGS_generate_signature_pmc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(lexer))
#define ASSERT_ARGS_generate_unique_pir_reg __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(lexer))
#define ASSERT_ARGS_get_invoked_sub __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(sub))
#define ASSERT_ARGS_save_global_reference __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(instr) \
+ , PARROT_ASSERT_ARG(label))
#define ASSERT_ARGS_targets_to_operands __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(lexer))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
@@ -158,7 +188,7 @@
*/
static int
-calculate_pcc_target_flags(target * const result)
+calculate_pcc_target_flags(ARGIN(target * const result))
{
int flag = 0;
@@ -193,7 +223,7 @@
*/
static int
-calculate_pcc_argument_flags(argument * const arg)
+calculate_pcc_argument_flags(ARGIN(argument * const arg))
{
int flag = 0;
@@ -241,6 +271,7 @@
=cut
*/
+PARROT_CANNOT_RETURN_NULL
static target *
generate_unique_pir_reg(ARGIN(lexer_state * const lexer), pir_type type)
{
@@ -433,7 +464,8 @@
*/
static void
-arguments_to_operands(ARGIN(lexer_state * const lexer), argument * const args, unsigned num_arguments)
+arguments_to_operands(ARGIN(lexer_state * const lexer),
+ ARGIN(argument * const args), unsigned num_arguments)
{
ASSERT_ARGS(arguments_to_operands)
@@ -515,7 +547,8 @@
*/
void
-generate_getresults_instr(ARGIN(lexer_state * const lexer), target * const targetlist)
+generate_getresults_instr(ARGIN(lexer_state * const lexer),
+ ARGIN(target * const targetlist))
{
/* add this point we know that there's only 1 target, as that's the convention for
* exception handlers:
@@ -543,8 +576,9 @@
*/
static void
-save_global_reference(ARGIN(lexer_state * const lexer), instruction * const instr,
- char const * const label)
+save_global_reference(ARGIN(lexer_state * const lexer),
+ ARGIN(instruction * const instr),
+ ARGIN(char const * const label))
{
ASSERT_ARGS(save_global_reference)
@@ -574,8 +608,10 @@
=cut
*/
+PARROT_CANNOT_RETURN_NULL
static target *
-get_invoked_sub(ARGIN(lexer_state * const lexer), target * const sub)
+get_invoked_sub(ARGIN(lexer_state * const lexer),
+ ARGIN(target * const sub))
{
target *subreg = NULL;
symbol *sym = NULL;
@@ -653,7 +689,8 @@
*/
static void
-convert_pcc_call(ARGIN(lexer_state * const lexer), invocation * const inv)
+convert_pcc_call(ARGIN(lexer_state * const lexer),
+ ARGIN(invocation * const inv))
{
ASSERT_ARGS(convert_pcc_call)
@@ -693,7 +730,8 @@
*/
static void
-convert_pcc_tailcall(ARGIN(lexer_state * const lexer), invocation * const inv)
+convert_pcc_tailcall(ARGIN(lexer_state * const lexer),
+ ARGIN(invocation * const inv))
{
ASSERT_ARGS(convert_pcc_tailcall)
@@ -723,7 +761,8 @@
*/
static void
-convert_pcc_return(ARGIN(lexer_state * const lexer), invocation * const inv)
+convert_pcc_return(ARGIN(lexer_state * const lexer),
+ ARGIN(invocation * const inv))
{
ASSERT_ARGS(convert_pcc_return)
@@ -748,7 +787,8 @@
*/
static void
-convert_nci_call(ARGIN(lexer_state * const lexer), invocation * const inv)
+convert_nci_call(ARGIN(lexer_state * const lexer),
+ ARGIN(invocation * const inv))
{
ASSERT_ARGS(convert_nci_call)
@@ -781,7 +821,8 @@
*/
static void
-convert_pcc_yield(ARGIN(lexer_state * const lexer), invocation * const inv)
+convert_pcc_yield(ARGIN(lexer_state * const lexer),
+ ARGIN(invocation * const inv))
{
ASSERT_ARGS(convert_pcc_yield)
@@ -807,7 +848,8 @@
*/
static void
-convert_pcc_methodcall(ARGIN(lexer_state * const lexer), invocation * const inv)
+convert_pcc_methodcall(ARGIN(lexer_state * const lexer),
+ ARGIN(invocation * const inv))
{
ASSERT_ARGS(convert_pcc_methodcall)
@@ -840,7 +882,8 @@
*/
static void
-convert_pcc_methodtailcall(ARGIN(lexer_state * const lexer), invocation * const inv)
+convert_pcc_methodtailcall(ARGIN(lexer_state * const lexer),
+ ARGIN(invocation * const inv))
{
ASSERT_ARGS(convert_pcc_methodtailcall)
@@ -880,7 +923,8 @@
*/
void
-convert_inv_to_instr(ARGIN(lexer_state * const lexer), invocation * const inv)
+convert_inv_to_instr(ARGIN(lexer_state * const lexer),
+ ARGIN(invocation * const inv))
{
switch (inv->type) {
case CALL_PCC:
Modified: trunk/compilers/pirc/src/pirpcc.h
==============================================================================
--- trunk/compilers/pirc/src/pirpcc.h Tue Feb 16 11:11:52 2010 (r44009)
+++ trunk/compilers/pirc/src/pirpcc.h Tue Feb 16 11:12:18 2010 (r44010)
@@ -14,16 +14,18 @@
void convert_inv_to_instr(
ARGIN(lexer_state * const lexer),
- invocation * const inv)
- __attribute__nonnull__(1);
+ ARGIN(invocation * const inv))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
void emit_sub_epilogue(ARGIN(lexer_state * const lexer))
__attribute__nonnull__(1);
void generate_getresults_instr(
ARGIN(lexer_state * const lexer),
- target * const targetlist)
- __attribute__nonnull__(1);
+ ARGIN(target * const targetlist))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
void generate_parameters_instr(
ARGIN(lexer_state * const lexer),
@@ -31,11 +33,13 @@
__attribute__nonnull__(1);
#define ASSERT_ARGS_convert_inv_to_instr __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(inv))
#define ASSERT_ARGS_emit_sub_epilogue __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(lexer))
#define ASSERT_ARGS_generate_getresults_instr __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(targetlist))
#define ASSERT_ARGS_generate_parameters_instr __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(lexer))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
Modified: trunk/compilers/pirc/src/pirsymbol.c
==============================================================================
--- trunk/compilers/pirc/src/pirsymbol.c Tue Feb 16 11:11:52 2010 (r44009)
+++ trunk/compilers/pirc/src/pirsymbol.c Tue Feb 16 11:12:18 2010 (r44010)
@@ -48,7 +48,7 @@
*/
-/* HEADERIZER HFILE: none */
+/* HEADERIZER HFILE: compilers/pirc/src/pirsymbol.h */
/* HEADERIZER BEGIN: static */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
Modified: trunk/compilers/pirc/src/pirsymbol.h
==============================================================================
--- trunk/compilers/pirc/src/pirsymbol.h Tue Feb 16 11:11:52 2010 (r44009)
+++ trunk/compilers/pirc/src/pirsymbol.h Tue Feb 16 11:12:18 2010 (r44010)
@@ -75,49 +75,158 @@
/* lookup table to convert value_type and pir_type values into one another. */
extern const int valuetype_pirtype_clut[10];
+/* HEADERIZER BEGIN: compilers/pirc/src/pirsymbol.c */
+/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-/* symbol constructor */
-symbol *new_symbol(struct lexer_state * const lexer, char const * const name, pir_type type);
-
-/* to enter a symbol in the symbol table */
-void declare_local(struct lexer_state * const lexer, pir_type type, symbol * const list);
-
-/* to find a symbol in the symbol table */
-symbol *find_symbol(struct lexer_state * const lexer, char const * const name);
-
-
-pir_reg *find_register(struct lexer_state * const lexer, pir_type type, int regno);
-
-
-/* to find declared symbols that are never referenced */
-void check_unused_symbols(struct lexer_state * const lexer);
-
-/* find specified register; if it was not used yet, assign a PASM register to it */
-int color_reg(struct lexer_state * const lexer, pir_type type, int regno);
-
-/* store a global identifier (label) */
-void store_global_label(struct lexer_state * const lexer, char const * const name);
-
-/* find a global identifier */
-global_label *find_global_label(struct lexer_state * const lexer, char const * const name);
-
-/* store a global .const symbol */
-void store_global_constant(struct lexer_state * const lexer, constdecl * const c);
-
-/* find a global .const symbol */
-constdecl *find_global_constant(struct lexer_state * const lexer, char const * const name);
-
-void assign_vanilla_register(struct lexer_state * const lexer, symbol * const sym);
-
-void store_local_label(struct lexer_state * const lexer, char const * const label, unsigned offset);
-
-unsigned find_local_label(struct lexer_state * const lexer, char const * const label);
-
-unsigned get_hashcode(char const * const str, unsigned num_buckets);
-
-bucket *get_bucket(hashtable * const table, unsigned long hash);
-
-void store_bucket(hashtable * const table, bucket * const buck, unsigned long hash);
+void assign_vanilla_register(
+ NOTNULL(lexer_state * const lexer),
+ ARGMOD(symbol * const sym))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(* const sym);
+
+void check_unused_symbols(NOTNULL(lexer_state * const lexer))
+ __attribute__nonnull__(1);
+
+int color_reg(ARGIN(lexer_state * const lexer), pir_type type, int regno)
+ __attribute__nonnull__(1);
+
+void declare_local(
+ NOTNULL(lexer_state * const lexer),
+ pir_type type,
+ NOTNULL(symbol * const list))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+
+PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
+constdecl * find_global_constant(
+ ARGIN(lexer_state * const lexer),
+ ARGIN(char const * const name))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
+global_label * find_global_label(
+ ARGIN(lexer_state * const lexer),
+ ARGIN(char const * const name))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_WARN_UNUSED_RESULT
+unsigned find_local_label(
+ ARGIN(lexer_state * const lexer),
+ ARGIN(char const * const labelname))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
+pir_reg * find_register(
+ ARGIN(lexer_state * const lexer),
+ pir_type type,
+ int regno)
+ __attribute__nonnull__(1);
+
+PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
+symbol * find_symbol(
+ NOTNULL(lexer_state * const lexer),
+ NOTNULL(char const * const name))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
+bucket * get_bucket(NOTNULL(hashtable * const table), unsigned long hash)
+ __attribute__nonnull__(1);
+
+PARROT_PURE_FUNCTION
+PARROT_WARN_UNUSED_RESULT
+unsigned get_hashcode(NOTNULL(char const * const str), unsigned num_buckets)
+ __attribute__nonnull__(1);
+
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
+symbol * new_symbol(
+ NOTNULL(lexer_state * const lexer),
+ NOTNULL(char const * const name),
+ pir_type type)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+void store_bucket(
+ NOTNULL(hashtable * const table),
+ NOTNULL(bucket * const buck),
+ unsigned long hash)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+void store_global_constant(
+ ARGIN(lexer_state * const lexer),
+ ARGIN(constdecl * const c))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+void store_global_label(
+ ARGIN(lexer_state * const lexer),
+ ARGIN(char const * const name))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+void store_local_label(
+ ARGIN(lexer_state * const lexer),
+ ARGIN(char const * const labelname),
+ unsigned offset)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+#define ASSERT_ARGS_assign_vanilla_register __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(sym))
+#define ASSERT_ARGS_check_unused_symbols __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer))
+#define ASSERT_ARGS_color_reg __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer))
+#define ASSERT_ARGS_declare_local __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(list))
+#define ASSERT_ARGS_find_global_constant __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(name))
+#define ASSERT_ARGS_find_global_label __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(name))
+#define ASSERT_ARGS_find_local_label __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(labelname))
+#define ASSERT_ARGS_find_register __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer))
+#define ASSERT_ARGS_find_symbol __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(name))
+#define ASSERT_ARGS_get_bucket __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(table))
+#define ASSERT_ARGS_get_hashcode __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(str))
+#define ASSERT_ARGS_new_symbol __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(name))
+#define ASSERT_ARGS_store_bucket __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(table) \
+ , PARROT_ASSERT_ARG(buck))
+#define ASSERT_ARGS_store_global_constant __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(c))
+#define ASSERT_ARGS_store_global_label __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(name))
+#define ASSERT_ARGS_store_local_label __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(labelname))
+/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
+/* HEADERIZER END: compilers/pirc/src/pirsymbol.c */
#endif /* PARROT_PIR_PIRSYMBOL_H_GUARD */
More information about the parrot-commits
mailing list