Small step in factoring out arch-specific code:  replace
__attribute((regparm(n))) with REGPARM(n) everywhere.  REGPARM() is defined in
vg_skin.h, but will eventually be defined separately for each arch.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2601 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/addrcheck/ac_main.c b/addrcheck/ac_main.c
index 75195eb..c5e2b51 100644
--- a/addrcheck/ac_main.c
+++ b/addrcheck/ac_main.c
@@ -715,34 +715,34 @@
 #  endif
 }
 
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_LOAD4 ( Addr a )
 {
    ac_helperc_ACCESS4 ( a, /*isWrite*/False );
 }
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_STORE4 ( Addr a )
 {
    ac_helperc_ACCESS4 ( a, /*isWrite*/True );
 }
 
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_LOAD2 ( Addr a )
 {
    ac_helperc_ACCESS2 ( a, /*isWrite*/False );
 }
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_STORE2 ( Addr a )
 {
    ac_helperc_ACCESS2 ( a, /*isWrite*/True );
 }
 
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_LOAD1 ( Addr a )
 {
    ac_helperc_ACCESS1 ( a, /*isWrite*/False );
 }
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_STORE1 ( Addr a )
 {
    ac_helperc_ACCESS1 ( a, /*isWrite*/True );
@@ -912,13 +912,13 @@
 #  endif
 }
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 static void ac_fpu_READ_check ( Addr addr, Int size )
 {
    ac_fpu_ACCESS_check ( addr, size, /*isWrite*/False );
 }
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 static void ac_fpu_WRITE_check ( Addr addr, Int size )
 {
    ac_fpu_ACCESS_check ( addr, size, /*isWrite*/True );
diff --git a/cachegrind/cg_main.c b/cachegrind/cg_main.c
index dae1b96..1e0493c 100644
--- a/cachegrind/cg_main.c
+++ b/cachegrind/cg_main.c
@@ -290,7 +290,7 @@
 /*--- Cache simulation functions                           ---*/
 /*------------------------------------------------------------*/
 
-static __attribute__ ((regparm (1)))
+static REGPARM(1)
 void log_1I_0D_cache_access(instr_info* n)
 {
    //VG_(printf)("1I_0D: CCaddr=0x%x, iaddr=0x%x, isize=%u\n",
@@ -302,7 +302,7 @@
    VGP_POPCC(VgpCacheSimulate);
 }
 
-static __attribute__ ((regparm (2)))
+static REGPARM(2)
 void log_1I_1Dr_cache_access(instr_info* n, Addr data_addr)
 {
    //VG_(printf)("1I_1Dr: CCaddr=%p, iaddr=%p, isize=%u, daddr=%p, dsize=%u\n",
@@ -318,7 +318,7 @@
    VGP_POPCC(VgpCacheSimulate);
 }
 
-static __attribute__ ((regparm (2)))
+static REGPARM(2)
 void log_1I_1Dw_cache_access(instr_info* n, Addr data_addr)
 {
    //VG_(printf)("1I_1Dw: CCaddr=%p, iaddr=%p, isize=%u, daddr=%p, dsize=%u\n",
@@ -334,7 +334,7 @@
    VGP_POPCC(VgpCacheSimulate);
 }
 
-static __attribute__ ((regparm (3)))
+static REGPARM(3)
 void log_1I_2D_cache_access(instr_info* n, Addr data_addr1, Addr data_addr2)
 {
    //VG_(printf)("1I_2D: CCaddr=%p, iaddr=%p, isize=%u, daddr1=%p, daddr2=%p, dsize=%u\n",
diff --git a/coregrind/toolfuncs.def b/coregrind/toolfuncs.def
index 7fa7dc3..8d49f37 100644
--- a/coregrind/toolfuncs.def
+++ b/coregrind/toolfuncs.def
@@ -199,7 +199,7 @@
 ## specialising can optimise things significantly.  If any of the
 ## specialised cases are defined, the general case must be defined too.
 
-## Nb: they must all use the __attribute__((regparm(n))) attribute.
+## Nb: they must all use the REGPARM(n) attribute.
 void,	new_mem_stack_4,	Addr new_ESP
 void,	new_mem_stack_8,	Addr new_ESP
 void,	new_mem_stack_12,	Addr new_ESP
diff --git a/coregrind/vg_include.h b/coregrind/vg_include.h
index 2fad874..27b95e4 100644
--- a/coregrind/vg_include.h
+++ b/coregrind/vg_include.h
@@ -1375,7 +1375,7 @@
 extern void VG_(pad_address_space)(void);
 extern void VG_(unpad_address_space)(void);
 
-extern __attribute__((regparm(1))) 
+extern REGPARM(1)
        void VG_(unknown_esp_update) ( Addr new_ESP );
 
 /* ---------------------------------------------------------------------
diff --git a/coregrind/vg_libpthread.c b/coregrind/vg_libpthread.c
index fae30aa..cc7bbd8 100644
--- a/coregrind/vg_libpthread.c
+++ b/coregrind/vg_libpthread.c
@@ -654,8 +654,8 @@
    and for clearing up afterwards.
    ------------------------------------------------ */
 
-typedef void *(*__attribute__ ((regparm (3), stdcall)) allocate_tls_t) (void *result);
-typedef void (*__attribute__ ((regparm (3), stdcall)) deallocate_tls_t) (void *tcb, int dealloc_tcb);
+typedef void *(*__attribute__ ((stdcall)) REGPARM(3) allocate_tls_t) (void *result);
+typedef void (*__attribute__ ((stdcall)) REGPARM(3) deallocate_tls_t) (void *tcb, int dealloc_tcb);
 
 static allocate_tls_t allocate_tls = NULL;
 static deallocate_tls_t deallocate_tls = NULL;
@@ -965,7 +965,7 @@
 }
 
 
-__attribute ((regparm (1)))
+REGPARM(1)
 void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
 {
    int          res;
@@ -980,7 +980,7 @@
 }
 
 
-__attribute ((regparm (1)))
+REGPARM(1)
 void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf)
 {
    /* As __pthread_register cancel, but save the thread's original
@@ -1006,7 +1006,7 @@
 }
 
 
-__attribute ((regparm (1)))
+REGPARM(1)
 void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
 {
    int          res;
@@ -1022,7 +1022,7 @@
 }
 
 
-__attribute ((regparm (1)))
+REGPARM(1)
 void __pthread_unregister_restore (__pthread_unwind_buf_t *__buf)
 {
    int          res;
@@ -1049,7 +1049,7 @@
    return;
 }
 
-__attribute ((regparm (1)))
+REGPARM(1)
 __attribute ((__noreturn__))
 void __pthread_unwind (__pthread_unwind_buf_t *__buf)
 {
@@ -1073,7 +1073,7 @@
 }
 
 
-__attribute ((regparm (1)))
+REGPARM(1)
 __attribute ((__noreturn__))
 void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
 {
diff --git a/coregrind/vg_memory.c b/coregrind/vg_memory.c
index 483073a..d1a10c0 100644
--- a/coregrind/vg_memory.c
+++ b/coregrind/vg_memory.c
@@ -676,7 +676,7 @@
 /* This function gets called if new_mem_stack and/or die_mem_stack are
    tracked by the tool, and one of the specialised cases (eg. new_mem_stack_4)
    isn't used in preference */
-__attribute__((regparm(1)))
+REGPARM(1)
 void VG_(unknown_esp_update)(Addr new_ESP)
 {
    Addr old_ESP = VG_(get_archreg)(R_ESP);
diff --git a/helgrind/hg_main.c b/helgrind/hg_main.c
index c14d8d2..6da8ccc 100644
--- a/helgrind/hg_main.c
+++ b/helgrind/hg_main.c
@@ -1696,8 +1696,6 @@
 static void eraser_mem_read (Addr a, UInt data_size, ThreadId tid);
 static void eraser_mem_write(Addr a, UInt data_size, ThreadId tid);
 
-#define REGPARM(x)	__attribute__((regparm (x)))
-
 static void eraser_mem_help_read_1(Addr a) REGPARM(1);
 static void eraser_mem_help_read_2(Addr a) REGPARM(1);
 static void eraser_mem_help_read_4(Addr a) REGPARM(1);
diff --git a/include/vg_skin.h.base b/include/vg_skin.h.base
index a984988..1a837d3 100644
--- a/include/vg_skin.h.base
+++ b/include/vg_skin.h.base
@@ -36,6 +36,8 @@
 
 #include "vg_constants_skin.h"
 
+// XXX: here temporarily, will eventually go in arch-specific headers...
+#define REGPARM(x)     __attribute__((regparm (x)))
 
 /* ---------------------------------------------------------------------
    Where to send bug reports to.
diff --git a/memcheck/mac_shared.h b/memcheck/mac_shared.h
index bb16d6e..a9338d0 100644
--- a/memcheck/mac_shared.h
+++ b/memcheck/mac_shared.h
@@ -347,18 +347,18 @@
           Bool is_valid_address   ( Addr )
        );
 
-extern __attribute__((regparm(1))) void MAC_(new_mem_stack_4)  ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(die_mem_stack_4)  ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(new_mem_stack_8)  ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(die_mem_stack_8)  ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(new_mem_stack_12) ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(die_mem_stack_12) ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(new_mem_stack_16) ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(die_mem_stack_16) ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(new_mem_stack_32) ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(die_mem_stack_32) ( Addr old_ESP );
-extern                             void MAC_(die_mem_stack) ( Addr a, UInt len);
-extern                             void MAC_(new_mem_stack) ( Addr a, UInt len);
+extern REGPARM(1) void MAC_(new_mem_stack_4)  ( Addr old_ESP );
+extern REGPARM(1) void MAC_(die_mem_stack_4)  ( Addr old_ESP );
+extern REGPARM(1) void MAC_(new_mem_stack_8)  ( Addr old_ESP );
+extern REGPARM(1) void MAC_(die_mem_stack_8)  ( Addr old_ESP );
+extern REGPARM(1) void MAC_(new_mem_stack_12) ( Addr old_ESP );
+extern REGPARM(1) void MAC_(die_mem_stack_12) ( Addr old_ESP );
+extern REGPARM(1) void MAC_(new_mem_stack_16) ( Addr old_ESP );
+extern REGPARM(1) void MAC_(die_mem_stack_16) ( Addr old_ESP );
+extern REGPARM(1) void MAC_(new_mem_stack_32) ( Addr old_ESP );
+extern REGPARM(1) void MAC_(die_mem_stack_32) ( Addr old_ESP );
+extern            void MAC_(die_mem_stack) ( Addr a, UInt len);
+extern            void MAC_(new_mem_stack) ( Addr a, UInt len);
 
 
 /*------------------------------------------------------------*/
@@ -377,7 +377,7 @@
                             ALIGNED8_NEW,  ALIGNED8_DIE,                      \
                             UNALIGNED_NEW, UNALIGNED_DIE)                     \
                                                                               \
-void __attribute__((regparm(1))) MAC_(new_mem_stack_4)(Addr new_ESP)          \
+void REGPARM(1) MAC_(new_mem_stack_4)(Addr new_ESP)                           \
 {                                                                             \
    PROF_EVENT(110);                                                           \
    if (IS_ALIGNED4_ADDR(new_ESP)) {                                           \
@@ -387,7 +387,7 @@
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(die_mem_stack_4)(Addr new_ESP)          \
+void REGPARM(1) MAC_(die_mem_stack_4)(Addr new_ESP)                           \
 {                                                                             \
    PROF_EVENT(120);                                                           \
    if (IS_ALIGNED4_ADDR(new_ESP)) {                                           \
@@ -397,7 +397,7 @@
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(new_mem_stack_8)(Addr new_ESP)          \
+void REGPARM(1) MAC_(new_mem_stack_8)(Addr new_ESP)                           \
 {                                                                             \
    PROF_EVENT(111);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -410,7 +410,7 @@
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(die_mem_stack_8)(Addr new_ESP)          \
+void REGPARM(1) MAC_(die_mem_stack_8)(Addr new_ESP)                           \
 {                                                                             \
    PROF_EVENT(121);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -423,7 +423,7 @@
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(new_mem_stack_12)(Addr new_ESP)         \
+void REGPARM(1) MAC_(new_mem_stack_12)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(112);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -437,7 +437,7 @@
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(die_mem_stack_12)(Addr new_ESP)         \
+void REGPARM(1) MAC_(die_mem_stack_12)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(122);                                                           \
    /* Note the -12 in the test */                                             \
@@ -452,7 +452,7 @@
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(new_mem_stack_16)(Addr new_ESP)         \
+void REGPARM(1) MAC_(new_mem_stack_16)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(113);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -467,7 +467,7 @@
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(die_mem_stack_16)(Addr new_ESP)         \
+void REGPARM(1) MAC_(die_mem_stack_16)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(123);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -482,7 +482,7 @@
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(new_mem_stack_32)(Addr new_ESP)         \
+void REGPARM(1) MAC_(new_mem_stack_32)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(114);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -501,7 +501,7 @@
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(die_mem_stack_32)(Addr new_ESP)         \
+void REGPARM(1) MAC_(die_mem_stack_32)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(124);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
diff --git a/memcheck/mc_include.h b/memcheck/mc_include.h
index a3a39fd..9396cb7 100644
--- a/memcheck/mc_include.h
+++ b/memcheck/mc_include.h
@@ -121,16 +121,16 @@
 
 
 /* Functions defined in mc_main.c */
-extern __attribute__ ((regparm(2))) void MC_(helperc_STOREV4) ( Addr, UInt );
-extern __attribute__ ((regparm(2))) void MC_(helperc_STOREV2) ( Addr, UInt );
-extern __attribute__ ((regparm(2))) void MC_(helperc_STOREV1) ( Addr, UInt );
+extern REGPARM(2) void MC_(helperc_STOREV4) ( Addr, UInt );
+extern REGPARM(2) void MC_(helperc_STOREV2) ( Addr, UInt );
+extern REGPARM(2) void MC_(helperc_STOREV1) ( Addr, UInt );
    
-extern __attribute__ ((regparm(1))) UInt MC_(helperc_LOADV1) ( Addr );
-extern __attribute__ ((regparm(1))) UInt MC_(helperc_LOADV2) ( Addr );
-extern __attribute__ ((regparm(1))) UInt MC_(helperc_LOADV4) ( Addr );
+extern REGPARM(1) UInt MC_(helperc_LOADV1)  ( Addr );
+extern REGPARM(1) UInt MC_(helperc_LOADV2)  ( Addr );
+extern REGPARM(1) UInt MC_(helperc_LOADV4)  ( Addr );
 
-extern __attribute__ ((regparm(2))) void MC_(fpu_write_check) ( Addr addr, Int size );
-extern __attribute__ ((regparm(2))) void MC_(fpu_read_check)  ( Addr addr, Int size );
+extern REGPARM(2) void MC_(fpu_write_check) ( Addr addr, Int size );
+extern REGPARM(2) void MC_(fpu_read_check)  ( Addr addr, Int size );
 
 
 /* For client requests */
diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c
index 4a8256a..bfad60b 100644
--- a/memcheck/mc_main.c
+++ b/memcheck/mc_main.c
@@ -762,7 +762,7 @@
    Under all other circumstances, it defers to the relevant _SLOWLY
    function, which can handle all situations.
 */
-__attribute__ ((regparm(1)))
+REGPARM(1)
 UInt MC_(helperc_LOADV4) ( Addr a )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -787,7 +787,7 @@
 #  endif
 }
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 void MC_(helperc_STOREV4) ( Addr a, UInt vbytes )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -812,7 +812,7 @@
 #  endif
 }
 
-__attribute__ ((regparm(1)))
+REGPARM(1)
 UInt MC_(helperc_LOADV2) ( Addr a )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -835,7 +835,7 @@
 #  endif
 }
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 void MC_(helperc_STOREV2) ( Addr a, UInt vbytes )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -856,7 +856,7 @@
 #  endif
 }
 
-__attribute__ ((regparm(1)))
+REGPARM(1)
 UInt MC_(helperc_LOADV1) ( Addr a )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -879,7 +879,7 @@
 #  endif
 }
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 void MC_(helperc_STOREV1) ( Addr a, UInt vbytes )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -1107,7 +1107,7 @@
    FPU load and store checks, called from generated code.
    ------------------------------------------------------------------ */
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 void MC_(fpu_read_check) ( Addr addr, Int size )
 {
    /* Ensure the read area is both addressible and valid (ie,
@@ -1199,7 +1199,7 @@
 }
 
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 void MC_(fpu_write_check) ( Addr addr, Int size )
 {
    /* Ensure the written area is addressible, and moan if otherwise.