# New Ticket Created by  "Senaka Fernando" 
# Please include the string:  [perl #52500]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=52500 >


Use of C++ keywords as argument names breaks build in C++. Attached patch
solves this issue. I have replaced the keywords using the "_+keyword"
convention.

Regards,
Senaka
Index: include/parrot/global.h
===================================================================
--- include/parrot/global.h	(revision 26685)
+++ include/parrot/global.h	(working copy)
@@ -126,7 +126,7 @@
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
 PARROT_CAN_RETURN_NULL
-PMC * Parrot_ns_get_name(PARROT_INTERP, ARGIN(PMC *namespace))
+PMC * Parrot_ns_get_name(PARROT_INTERP, ARGIN(PMC *_namespace))
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
Index: include/parrot/dod.h
===================================================================
--- include/parrot/dod.h	(revision 26685)
+++ include/parrot/dod.h	(working copy)
@@ -168,7 +168,7 @@
 void parrot_gc_gms_wb(PARROT_INTERP,
     ARGIN(PMC *agg),
     ARGIN(void *old),
-    ARGIN(void *new))
+    ARGIN(void *_new))
         __attribute__nonnull__(1)
         __attribute__nonnull__(2)
         __attribute__nonnull__(3)
@@ -178,7 +178,7 @@
     ARGIN(PMC *agg),
     ARGIN(void *old),
     ARGIN(void *old_key),
-    ARGIN(void *new),
+    ARGIN(void *_new),
     ARGIN(void *new_key))
         __attribute__nonnull__(1)
         __attribute__nonnull__(2)
@@ -207,45 +207,45 @@
  * write barrier
  */
 #if PARROT_GC_IMS
-#  define DOD_WRITE_BARRIER(interp, agg, old, new) \
+#  define DOD_WRITE_BARRIER(interp, agg, old, _new) \
     do { \
-        if (!PMC_IS_NULL(new)   && \
+        if (!PMC_IS_NULL(_new)   && \
                 PObj_live_TEST(agg) && \
                 (PObj_get_FLAGS(agg) & PObj_custom_GC_FLAG) && \
-                !PObj_live_TEST(new)) { \
-            Parrot_dod_ims_wb(interp, agg, new); \
+                !PObj_live_TEST(_new)) { \
+            Parrot_dod_ims_wb(interp, agg, _new); \
         } \
     } while (0)
 
-#  define DOD_WRITE_BARRIER_KEY(interp, agg, old, old_key, new, new_key) \
-          DOD_WRITE_BARRIER(interp, agg, old, new)
+#  define DOD_WRITE_BARRIER_KEY(interp, agg, old, old_key, _new, new_key) \
+          DOD_WRITE_BARRIER(interp, agg, old, _new)
 #endif
 
 #if PARROT_GC_MS
-#  define DOD_WRITE_BARRIER(interp, agg, old, new)
-#  define DOD_WRITE_BARRIER_KEY(interp, agg, old, old_key, new, new_key)
+#  define DOD_WRITE_BARRIER(interp, agg, old, _new)
+#  define DOD_WRITE_BARRIER_KEY(interp, agg, old, old_key, _new, new_key)
 #endif
 
 #if PARROT_GC_GMS
-#  define DOD_WRITE_BARRIER(interp, agg, old, new) do { \
+#  define DOD_WRITE_BARRIER(interp, agg, old, _new) do { \
     UINTVAL gen_agg, gen_new; \
-    if (!(new) || PMC_IS_NULL(new)) \
+    if (!(_new) || PMC_IS_NULL(_new)) \
         break; \
     gen_agg = PObj_to_GMSH(agg)->gen->gen_no; \
-    gen_new = PObj_to_GMSH(new)->gen->gen_no; \
+    gen_new = PObj_to_GMSH(_new)->gen->gen_no; \
     if (gen_agg < gen_new) \
-        parrot_gc_gms_wb(interp, agg, old, new); \
+        parrot_gc_gms_wb(interp, agg, old, _new); \
 } while (0)
 
-#  define DOD_WRITE_BARRIER_KEY(interp, agg, old, old_key, new, new_key) do { \
+#  define DOD_WRITE_BARRIER_KEY(interp, agg, old, old_key, _new, new_key) do { \
     UINTVAL gen_agg, gen_new, gen_key; \
-    if (!(new) || PMC_IS_NULL(new)) \
+    if (!(_new) || PMC_IS_NULL(_new)) \
         break; \
     gen_agg = PObj_to_GMSH(agg)->gen->gen_no; \
-    gen_new = PObj_to_GMSH(new)->gen->gen_no; \
+    gen_new = PObj_to_GMSH(_new)->gen->gen_no; \
     gen_key = PObj_to_GMSH(new_key)->gen->gen_no; \
     if (gen_agg < gen_new || gen_agg < gen_key) \
-        parrot_gc_gms_wb_key(interp, agg, old, old_key, new, new_key); \
+        parrot_gc_gms_wb_key(interp, agg, old, old_key, _new, new_key); \
 } while (0)
 
 #endif

Reply via email to