[svn:parrot] r45221 - trunk/src/pmc

petdance at svn.parrot.org petdance at svn.parrot.org
Sun Mar 28 02:29:19 UTC 2010


Author: petdance
Date: Sun Mar 28 02:29:19 2010
New Revision: 45221
URL: https://trac.parrot.org/parrot/changeset/45221

Log:
protecting arguments, and I hope the reorganizing of the typedefs fixes the Win32 failures

Modified:
   trunk/src/pmc/bigint.pmc
   trunk/src/pmc/bignum.pmc

Modified: trunk/src/pmc/bigint.pmc
==============================================================================
--- trunk/src/pmc/bigint.pmc	Sun Mar 28 01:37:48 2010	(r45220)
+++ trunk/src/pmc/bigint.pmc	Sun Mar 28 02:29:19 2010	(r45221)
@@ -38,193 +38,313 @@
 /* HEADERIZER BEGIN: static */
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 
-static void bigint_abs(PARROT_INTERP, PMC *self, PMC *dest)
-        __attribute__nonnull__(1);
+static void bigint_abs(PARROT_INTERP, ARGIN(PMC *self), ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_add_bigint(PARROT_INTERP,
-    PMC *self,
-    PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
+    ARGIN(PMC *self),
+    ARGIN(PMC *value),
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_add_bigint_int(PARROT_INTERP,
-    PMC *self,
+    ARGIN(PMC *self),
     INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
-static void bigint_clear(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static INTVAL bigint_cmp(PARROT_INTERP, PMC *self, PMC *value)
-        __attribute__nonnull__(1);
-
-static INTVAL bigint_cmp_int(PARROT_INTERP, PMC *self, INTVAL value)
-        __attribute__nonnull__(1);
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
+
+static void bigint_clear(PARROT_INTERP, ARGIN(PMC *self))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
+static INTVAL bigint_cmp(PARROT_INTERP, ARGIN(PMC *self), ARGIN(PMC *value))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
+
+PARROT_WARN_UNUSED_RESULT
+static INTVAL bigint_cmp_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value)
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static void bigint_div_bigint(PARROT_INTERP,
-    PMC *self,
-    PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
+    ARGIN(PMC *self),
+    ARGIN(PMC *value),
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_div_bigint_int(PARROT_INTERP,
-    PMC *self,
+    ARGIN(PMC *self),
     INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_fdiv_bigint(PARROT_INTERP,
-    PMC *self,
-    PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
+    ARGIN(PMC *self),
+    ARGMOD(PMC *value),
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*value)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_fdiv_bigint_int(PARROT_INTERP,
-    PMC *self,
+    ARGIN(PMC *self),
     INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
-static double bigint_get_double(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static long bigint_get_long(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static BIGINT* bigint_get_self(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static char * bigint_get_string(PARROT_INTERP, PMC *self, int base)
-        __attribute__nonnull__(1);
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
+
+PARROT_WARN_UNUSED_RESULT
+static double bigint_get_double(PARROT_INTERP, ARGIN(PMC *self))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
+PARROT_WARN_UNUSED_RESULT
+static long bigint_get_long(PARROT_INTERP, ARGIN(PMC *self))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
+PARROT_CANNOT_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
+static BIGINT* bigint_get_self(PARROT_INTERP, ARGIN(PMC *self))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
+PARROT_WARN_UNUSED_RESULT
+static char * bigint_get_string(PARROT_INTERP, ARGIN(PMC *self), int base)
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static void bigint_mod_bigint(PARROT_INTERP,
-    PMC *self,
-    PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
+    ARGIN(PMC *self),
+    ARGMOD(PMC *value),
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*value)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_mod_bigint_int(PARROT_INTERP,
-    PMC *self,
+    ARGIN(PMC *self),
     INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_mul_bigint(PARROT_INTERP,
-    PMC *self,
+    ARGIN(PMC *self),
     PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_mul_bigint_int(PARROT_INTERP,
-    PMC *self,
+    ARGIN(PMC *self),
     INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
-static void bigint_neg(PARROT_INTERP, PMC *self, PMC *dest)
-        __attribute__nonnull__(1);
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
+
+static void bigint_neg(PARROT_INTERP, ARGIN(PMC *self), ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_pow_bigint_int(PARROT_INTERP,
-    PMC *self,
+    ARGIN(PMC *self),
     INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_set(PARROT_INTERP, PMC *dest, PMC *src)
         __attribute__nonnull__(1);
 
-static void bigint_set_double(PARROT_INTERP, PMC *self, double value)
-        __attribute__nonnull__(1);
-
-static void bigint_set_long(PARROT_INTERP, PMC *self, long value)
-        __attribute__nonnull__(1);
-
-static void bigint_set_self(PARROT_INTERP, PMC *self, BIGINT *value)
-        __attribute__nonnull__(1);
-
-static void bigint_set_str(PARROT_INTERP, PMC *self, char *value, int base)
-        __attribute__nonnull__(1);
+static void bigint_set_double(PARROT_INTERP, ARGIN(PMC *self), double value)
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
+static void bigint_set_long(PARROT_INTERP, ARGIN(PMC *self), long value)
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
+static void bigint_set_self(PARROT_INTERP, ARGIN(PMC *self), BIGINT *value)
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
+static void bigint_set_str(PARROT_INTERP,
+    ARGIN(PMC *self),
+    ARGIN(const char *value),
+    int base)
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static void bigint_sub_bigint(PARROT_INTERP,
-    PMC *self,
+    ARGIN(PMC *self),
     PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
 
 static void bigint_sub_bigint_int(PARROT_INTERP,
-    PMC *self,
+    ARGIN(PMC *self),
     INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
+    ARGMOD(PMC *dest))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(4)
+        FUNC_MODIFIES(*dest);
 
 #define ASSERT_ARGS_bigint_abs __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_add_bigint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(value) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_add_bigint_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_clear __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bigint_cmp __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(value))
 #define ASSERT_ARGS_bigint_cmp_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bigint_div_bigint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(value) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_div_bigint_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_fdiv_bigint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(value) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_fdiv_bigint_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_get_double __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bigint_get_long __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bigint_get_self __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bigint_get_string __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bigint_mod_bigint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(value) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_mod_bigint_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_mul_bigint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_mul_bigint_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_neg __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_pow_bigint_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_set __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bigint_set_double __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bigint_set_long __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bigint_set_self __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bigint_set_str __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(value))
 #define ASSERT_ARGS_bigint_sub_bigint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 #define ASSERT_ARGS_bigint_sub_bigint_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(dest))
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 /* HEADERIZER END: static */
 /* HEADERIZER HFILE: none */
 
 static void
-bigint_init(PARROT_INTERP, PMC *self) {
+bigint_init(PARROT_INTERP, ARGIN(PMC *self)) {
     BIGINT * const bi = mem_gc_allocate_zeroed_typed(interp, BIGINT);
     SETATTR_BigInt_bi(interp, self, bi);
     mpz_init(bi->b);
 }
 
 static void
-bigint_clear(PARROT_INTERP, PMC *self) {
+bigint_clear(PARROT_INTERP, ARGIN(PMC *self)) {
     BIGINT * bi;
     GETATTR_BigInt_bi(interp, self, bi);
     mpz_clear(bi->b);
@@ -242,42 +362,45 @@
 }
 
 static void
-bigint_set_long(PARROT_INTERP, PMC *self, long value) {
+bigint_set_long(PARROT_INTERP, ARGIN(PMC *self), long value) {
     BIGINT *bi;
     GETATTR_BigInt_bi(interp, self, bi);
     mpz_set_si(bi->b, value);
 }
 
 static void
-bigint_set_double(PARROT_INTERP, PMC *self, double value) {
+bigint_set_double(PARROT_INTERP, ARGIN(PMC *self), double value) {
     BIGINT *bi;
     GETATTR_BigInt_bi(interp, self, bi);
     mpz_set_d(bi->b, value);
 }
 
 static void
-bigint_set_str(PARROT_INTERP, PMC *self, char *value, int base) {
+bigint_set_str(PARROT_INTERP, ARGIN(PMC *self), ARGIN(const char *value), int base) {
     BIGINT *bi;
     GETATTR_BigInt_bi(interp, self, bi);
     mpz_set_str(bi->b, value, base);
 }
 
+PARROT_CANNOT_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
 static BIGINT*
-bigint_get_self(PARROT_INTERP, PMC *self) {
+bigint_get_self(PARROT_INTERP, ARGIN(PMC *self)) {
     BIGINT *bi;
     GETATTR_BigInt_bi(interp, self, bi);
     return bi;
 }
 
 static void
-bigint_set_self(PARROT_INTERP, PMC *self, BIGINT *value) {
+bigint_set_self(PARROT_INTERP, ARGIN(PMC *self), BIGINT *value) {
     BIGINT *bi;
     GETATTR_BigInt_bi(interp, self, bi);
     mpz_set(bi->b, (mpz_srcptr)((BIGINT*)value)->b);
 }
 
+PARROT_WARN_UNUSED_RESULT
 static long
-bigint_get_long(PARROT_INTERP, PMC *self) {
+bigint_get_long(PARROT_INTERP, ARGIN(PMC *self)) {
     BIGINT *bi;
     GETATTR_BigInt_bi(interp, self, bi);
     if (mpz_fits_slong_p(bi->b))
@@ -286,8 +409,9 @@
     Parrot_ex_throw_from_c_args(interp, NULL, 1, "bigint_get_long: number too big");
 }
 
+PARROT_WARN_UNUSED_RESULT
 static int
-bigint_get_bool(PARROT_INTERP, PMC *self) {
+bigint_get_bool(PARROT_INTERP, ARGIN(PMC *self)) {
     BIGINT *bi;
     GETATTR_BigInt_bi(interp, self, bi);
     if (mpz_sgn(bi->b) != 0)
@@ -296,8 +420,9 @@
         return 0;
 }
 
+PARROT_WARN_UNUSED_RESULT
 static char *
-bigint_get_string(PARROT_INTERP, PMC *self, int base) {
+bigint_get_string(PARROT_INTERP, ARGIN(PMC *self), int base) {
     BIGINT *bi;
     size_t  n;
     char   *s;
@@ -308,15 +433,16 @@
     return mpz_get_str(s, base, bi->b);
 }
 
+PARROT_WARN_UNUSED_RESULT
 static double
-bigint_get_double(PARROT_INTERP, PMC *self) {
+bigint_get_double(PARROT_INTERP, ARGIN(PMC *self)) {
     BIGINT *bi;
     GETATTR_BigInt_bi(interp, self, bi);
     return mpz_get_d(bi->b);
 }
 
 static void
-bigint_add_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_add_bigint(PARROT_INTERP, ARGIN(PMC *self), ARGIN(PMC *value), ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_value, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, value, bi_value);
@@ -325,7 +451,7 @@
 }
 
 static void
-bigint_add_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_add_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
@@ -336,7 +462,7 @@
 }
 
 static void
-bigint_sub_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_sub_bigint(PARROT_INTERP, ARGIN(PMC *self), PMC *value, ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_value, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, value, bi_value);
@@ -345,7 +471,7 @@
 }
 
 static void
-bigint_sub_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_sub_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
@@ -356,7 +482,7 @@
 }
 
 static void
-bigint_mul_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_mul_bigint(PARROT_INTERP, ARGIN(PMC *self), PMC *value, ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_value, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, value, bi_value);
@@ -365,7 +491,7 @@
 }
 
 static void
-bigint_mul_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_mul_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
@@ -373,7 +499,7 @@
 }
 
 static void
-bigint_pow_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_pow_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
@@ -398,7 +524,7 @@
 }
 
 static void
-bigint_div_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_div_bigint(PARROT_INTERP, ARGIN(PMC *self), ARGIN(PMC *value), ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_value, *bi_dest;
     bigint_check_divide_zero(interp, value);
     GETATTR_BigInt_bi(interp, self, bi_self);
@@ -409,7 +535,7 @@
 }
 
 static void
-bigint_div_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_div_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
@@ -425,7 +551,7 @@
 }
 
 static void
-bigint_fdiv_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_fdiv_bigint(PARROT_INTERP, ARGIN(PMC *self), ARGMOD(PMC *value), ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_value, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, value, bi_value);
@@ -435,7 +561,7 @@
 }
 
 static void
-bigint_fdiv_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_fdiv_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
@@ -450,7 +576,7 @@
 }
 
 static void
-bigint_mod_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_mod_bigint(PARROT_INTERP, ARGIN(PMC *self), ARGMOD(PMC *value), ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_value, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, value, bi_value);
@@ -460,7 +586,7 @@
 }
 
 static void
-bigint_mod_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_mod_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
@@ -474,22 +600,23 @@
 }
 
 static INTVAL
-bigint_cmp(PARROT_INTERP, PMC *self, PMC *value) {
+bigint_cmp(PARROT_INTERP, ARGIN(PMC *self), ARGIN(PMC *value)) {
     BIGINT *bi_self, *bi_value;
     GETATTR_BigInt_bi(interp, self,  bi_self);
     GETATTR_BigInt_bi(interp, value, bi_value);
     return mpz_cmp(bi_self->b, bi_value->b);
 }
 
+PARROT_WARN_UNUSED_RESULT
 static INTVAL
-bigint_cmp_int(PARROT_INTERP, PMC *self, INTVAL value) {
+bigint_cmp_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value) {
     BIGINT *bi;
     GETATTR_BigInt_bi(interp, self, bi);
     return mpz_cmp_si(bi->b, value);
 }
 
 static void
-bigint_abs(PARROT_INTERP, PMC *self, PMC *dest) {
+bigint_abs(PARROT_INTERP, ARGIN(PMC *self), ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
@@ -497,7 +624,7 @@
 }
 
 static void
-bigint_neg(PARROT_INTERP, PMC *self, PMC *dest) {
+bigint_neg(PARROT_INTERP, ARGIN(PMC *self), ARGMOD(PMC *dest)) {
     BIGINT *bi_self, *bi_dest;
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
@@ -513,19 +640,19 @@
 } BIGINT;
 
 static void
-bigint_init(PARROT_INTERP, PMC *self) {
+bigint_init(PARROT_INTERP, ARGIN(PMC *self)) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_clear(PARROT_INTERP, PMC *self) {
+bigint_clear(PARROT_INTERP, ARGIN(PMC *self)) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_set_long(PARROT_INTERP, PMC *self, long value) {
+bigint_set_long(PARROT_INTERP, ARGIN(PMC *self), long value) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
@@ -537,151 +664,151 @@
 }
 
 static void
-bigint_set_double(PARROT_INTERP, PMC *self, double value) {
+bigint_set_double(PARROT_INTERP, ARGIN(PMC *self), double value) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_set_str(PARROT_INTERP, PMC *self, char *value, int base) {
+bigint_set_str(PARROT_INTERP, ARGIN(PMC *self), char *value, int base) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_set_self(PARROT_INTERP, PMC *self, BIGINT *value) {
+bigint_set_self(PARROT_INTERP, ARGIN(PMC *self), BIGINT *value) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static BIGINT*
-bigint_get_self(PARROT_INTERP, PMC *self) {
+bigint_get_self(PARROT_INTERP, ARGIN(PMC *self)) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static char *
-bigint_get_string(PARROT_INTERP, PMC *self, int base) {
+bigint_get_string(PARROT_INTERP, ARGIN(PMC *self), int base) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static long
-bigint_get_long(PARROT_INTERP, PMC *self) {
+bigint_get_long(PARROT_INTERP, ARGIN(PMC *self)) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static int
-bigint_get_bool(PARROT_INTERP, PMC *self) {
+bigint_get_bool(PARROT_INTERP, ARGIN(PMC *self)) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static double
-bigint_get_double(PARROT_INTERP, PMC *self) {
+bigint_get_double(PARROT_INTERP, ARGIN(PMC *self)) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_add_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_add_bigint(PARROT_INTERP, ARGIN(PMC *self), PMC *value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_add_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_add_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_sub_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_sub_bigint(PARROT_INTERP, ARGIN(PMC *self), PMC *value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_sub_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_sub_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_mul_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_mul_bigint(PARROT_INTERP, ARGIN(PMC *self), PMC *value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_mul_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_mul_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_pow_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_pow_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_div_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_div_bigint(PARROT_INTERP, ARGIN(PMC *self), PMC *value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_div_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_div_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_fdiv_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_fdiv_bigint(PARROT_INTERP, ARGIN(PMC *self), PMC *value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_fdiv_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_fdiv_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_mod_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
+bigint_mod_bigint(PARROT_INTERP, ARGIN(PMC *self), PMC *value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_mod_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest) {
+bigint_mod_bigint_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value, PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static INTVAL
-bigint_cmp(PARROT_INTERP, PMC *self, PMC *value) {
+bigint_cmp(PARROT_INTERP, ARGIN(PMC *self), PMC *value) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static INTVAL
-bigint_cmp_int(PARROT_INTERP, PMC *self, INTVAL value) {
+bigint_cmp_int(PARROT_INTERP, ARGIN(PMC *self), INTVAL value) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_abs(PARROT_INTERP, PMC *self, PMC *dest) {
+bigint_abs(PARROT_INTERP, ARGIN(PMC *self), PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }
 
 static void
-bigint_neg(PARROT_INTERP, PMC *self, PMC *dest) {
+bigint_neg(PARROT_INTERP, ARGIN(PMC *self), PMC *dest) {
     Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
         "no bigint lib loaded");
 }

Modified: trunk/src/pmc/bignum.pmc
==============================================================================
--- trunk/src/pmc/bignum.pmc	Sun Mar 28 01:37:48 2010	(r45220)
+++ trunk/src/pmc/bignum.pmc	Sun Mar 28 02:29:19 2010	(r45221)
@@ -172,15 +172,6 @@
 static void bignum_abs(PARROT_INTERP, PMC *self, PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_abs(PARROT_INTERP, PMC *self, PMC *dest)
-        __attribute__nonnull__(1);
-
-static void bignum_add_bignum(PARROT_INTERP,
-    PMC *self,
-    PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
 static void bignum_add_bignum(PARROT_INTERP,
     PMC *self,
     PMC *value,
@@ -193,18 +184,6 @@
     PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_add_bignum_float(PARROT_INTERP,
-    PMC *self,
-    FLOATVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
-static void bignum_add_bignum_int(PARROT_INTERP,
-    PMC *self,
-    INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
 static void bignum_add_bignum_int(PARROT_INTERP,
     PMC *self,
     INTVAL value,
@@ -214,24 +193,12 @@
 static void bignum_clear(PARROT_INTERP, PMC *self)
         __attribute__nonnull__(1);
 
-static void bignum_clear(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static INTVAL bignum_cmp(PARROT_INTERP, PMC *self, PMC *value)
-        __attribute__nonnull__(1);
-
 static INTVAL bignum_cmp(PARROT_INTERP, PMC *self, PMC *value)
         __attribute__nonnull__(1);
 
 static INTVAL bignum_cmp_double(PARROT_INTERP, PMC *self, double value)
         __attribute__nonnull__(1);
 
-static INTVAL bignum_cmp_float(PARROT_INTERP, PMC *self, FLOATVAL value)
-        __attribute__nonnull__(1);
-
-static INTVAL bignum_cmp_int(PARROT_INTERP, PMC *self, INTVAL value)
-        __attribute__nonnull__(1);
-
 static INTVAL bignum_cmp_int(PARROT_INTERP, PMC *self, INTVAL value)
         __attribute__nonnull__(1);
 
@@ -246,18 +213,6 @@
     PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_div_bignum(PARROT_INTERP,
-    PMC *self,
-    PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
-static void bignum_div_bignum_float(PARROT_INTERP,
-    PMC *self,
-    FLOATVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
 static void bignum_div_bignum_float(PARROT_INTERP,
     PMC *self,
     FLOATVAL value,
@@ -270,77 +225,38 @@
     PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_div_bignum_int(PARROT_INTERP,
-    PMC *self,
-    INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
-static void bignum_fdiv_bignum(PARROT_INTERP,
-    PMC *self,
-    PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
 static void bignum_fdiv_bignum(PARROT_INTERP,
     PMC *self,
     PMC *value,
     PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_fdiv_bignum_float(PARROT_INTERP,
-    PMC *self,
-    FLOATVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
 static void bignum_fdiv_bignum_int(PARROT_INTERP,
     PMC *self,
     INTVAL value,
     PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_fdiv_bignum_int(PARROT_INTERP,
-    PMC *self,
-    INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
-static INTVAL bignum_get_bool(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static INTVAL bignum_get_default_prec(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
 static INTVAL bignum_get_default_prec(PARROT_INTERP, PMC *self)
         __attribute__nonnull__(1);
 
 static double bignum_get_double(PARROT_INTERP, PMC *self)
         __attribute__nonnull__(1);
 
-static double bignum_get_double(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
 static FLOATVAL bignum_get_float(PARROT_INTERP, PMC *self)
         __attribute__nonnull__(1);
 
-static BIGNUM* bignum_get_self(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static BIGNUM* bignum_get_self(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static long bignum_get_si(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static long bignum_get_si(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static char * bignum_get_string(PARROT_INTERP, PMC *self, int base)
-        __attribute__nonnull__(1);
-
-static char * bignum_get_string(PARROT_INTERP, PMC *self, int base)
-        __attribute__nonnull__(1);
+static BIGNUM* bignum_get_self(PARROT_INTERP, ARGIN(PMC *self))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
+static long bignum_get_si(PARROT_INTERP, ARGIN(PMC *self))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
+static char * bignum_get_string(PARROT_INTERP, ARGIN(PMC *self), int base)
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static char * bignum_get_string_size(PARROT_INTERP,
     PMC *self,
@@ -348,20 +264,9 @@
     int digits)
         __attribute__nonnull__(1);
 
-static char * bignum_get_string_size(PARROT_INTERP,
-    PMC *self,
-    int base,
-    int digits)
-        __attribute__nonnull__(1);
-
-static unsigned long bignum_get_ui(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static unsigned long bignum_get_ui(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
-
-static void bignum_init(PARROT_INTERP, PMC *self)
-        __attribute__nonnull__(1);
+static unsigned long bignum_get_ui(PARROT_INTERP, ARGIN(PMC *self))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static void bignum_init(PARROT_INTERP, PMC *self)
         __attribute__nonnull__(1);
@@ -372,18 +277,6 @@
     PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_mul_bignum(PARROT_INTERP,
-    PMC *self,
-    PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
-static void bignum_mul_bignum_float(PARROT_INTERP,
-    PMC *self,
-    FLOATVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
 static void bignum_mul_bignum_float(PARROT_INTERP,
     PMC *self,
     FLOATVAL value,
@@ -396,30 +289,9 @@
     PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_mul_bignum_int(PARROT_INTERP,
-    PMC *self,
-    INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
 static void bignum_neg(PARROT_INTERP, PMC *self, PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_neg(PARROT_INTERP, PMC *self, PMC *dest)
-        __attribute__nonnull__(1);
-
-static void bignum_pow_bignum_float(PARROT_INTERP,
-    PMC *self,
-    FLOATVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
-static void bignum_pow_bignum_int(PARROT_INTERP,
-    PMC *self,
-    INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
 static void bignum_pow_bignum_int(PARROT_INTERP,
     PMC *self,
     INTVAL value,
@@ -429,9 +301,6 @@
 static void bignum_set(PARROT_INTERP, PMC *dest, PMC *src)
         __attribute__nonnull__(1);
 
-static void bignum_set(PARROT_INTERP, PMC *dest, PMC *src)
-        __attribute__nonnull__(1);
-
 static void bignum_set_bigint(PARROT_INTERP,
     PMC *self,
     struct BIGINT *value)
@@ -440,26 +309,18 @@
 static void bignum_set_default_prec(PARROT_INTERP, PMC *self, INTVAL prec)
         __attribute__nonnull__(1);
 
-static void bignum_set_default_prec(PARROT_INTERP, PMC *self, INTVAL prec)
-        __attribute__nonnull__(1);
-
-static void bignum_set_double(PARROT_INTERP, PMC *self, double value)
-        __attribute__nonnull__(1);
-
 static void bignum_set_double(PARROT_INTERP, PMC *self, double value)
         __attribute__nonnull__(1);
 
 static void bignum_set_float(PARROT_INTERP, PMC *self, FLOATVAL value)
         __attribute__nonnull__(1);
 
-static void bignum_set_self(PARROT_INTERP, PMC *self, BIGNUM *value)
-        __attribute__nonnull__(1);
-
-static void bignum_set_self(PARROT_INTERP, PMC *self, BIGNUM *value)
-        __attribute__nonnull__(1);
-
-static void bignum_set_si(PARROT_INTERP, PMC *self, long value)
-        __attribute__nonnull__(1);
+static void bignum_set_self(PARROT_INTERP,
+    ARGIN(PMC *self),
+    ARGIN(BIGNUM *value))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static void bignum_set_si(PARROT_INTERP, PMC *self, long value)
         __attribute__nonnull__(1);
@@ -467,9 +328,6 @@
 static void bignum_set_str(PARROT_INTERP, PMC *self, char *value, int base)
         __attribute__nonnull__(1);
 
-static void bignum_set_str(PARROT_INTERP, PMC *self, char *value, int base)
-        __attribute__nonnull__(1);
-
 static void bignum_set_ui(PARROT_INTERP, PMC *self, unsigned long value)
         __attribute__nonnull__(1);
 
@@ -479,30 +337,12 @@
     PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_sub_bignum(PARROT_INTERP,
-    PMC *self,
-    PMC *value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
 static void bignum_sub_bignum_float(PARROT_INTERP,
     PMC *self,
     FLOATVAL value,
     PMC *dest)
         __attribute__nonnull__(1);
 
-static void bignum_sub_bignum_float(PARROT_INTERP,
-    PMC *self,
-    FLOATVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
-static void bignum_sub_bignum_int(PARROT_INTERP,
-    PMC *self,
-    INTVAL value,
-    PMC *dest)
-        __attribute__nonnull__(1);
-
 static void bignum_sub_bignum_int(PARROT_INTERP,
     PMC *self,
     INTVAL value,
@@ -511,158 +351,88 @@
 
 #define ASSERT_ARGS_bignum_abs __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_abs __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_add_bignum __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_add_bignum __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_add_bignum_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_add_bignum_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_add_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_add_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_clear __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_clear __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_cmp __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_cmp __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_cmp_double __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_cmp_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_cmp_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_cmp_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_cmp_ulong __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_div_bignum __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_div_bignum __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_div_bignum_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_div_bignum_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_div_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_div_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_fdiv_bignum __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_fdiv_bignum __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_fdiv_bignum_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_fdiv_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_fdiv_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_get_bool __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_get_default_prec __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_get_default_prec __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_get_double __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_get_double __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_get_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_get_self __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_get_self __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bignum_get_si __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_get_si __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bignum_get_string __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_get_string __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_get_string_size __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bignum_get_string_size __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_get_ui __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_get_ui __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_bignum_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_mul_bignum __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_mul_bignum __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_mul_bignum_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_mul_bignum_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_mul_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_mul_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_neg __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_neg __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_pow_bignum_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_pow_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_pow_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_set __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_set __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_set_bigint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_set_default_prec __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_set_default_prec __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_set_double __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_set_double __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_set_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_set_self __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_set_self __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_set_si __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(self) \
+    , PARROT_ASSERT_ARG(value))
 #define ASSERT_ARGS_bignum_set_si __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_set_str __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_set_str __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_set_ui __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_sub_bignum __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_sub_bignum __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_sub_bignum_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_sub_bignum_float __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_bignum_sub_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bignum_sub_bignum_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
@@ -755,21 +525,21 @@
 #  endif
 
 static BIGNUM*
-bignum_get_self(PARROT_INTERP, PMC *self) {
+bignum_get_self(PARROT_INTERP, ARGIN(PMC *self)) {
     BIGNUM *bn;
     GETATTR_BigNum_bn(interp, self, bn);
     return bn;
 }
 
 static void
-bignum_set_self(PARROT_INTERP, PMC *self, BIGNUM *value) {
+bignum_set_self(PARROT_INTERP, ARGIN(PMC *self), ARGIN(BIGNUM *value)) {
     BIGNUM *bn;
     GETATTR_BigNum_bn(interp, self, bn);
     mpf_set(bn->b, (mpf_srcptr)(value)->b);
 }
 
 static long
-bignum_get_si(PARROT_INTERP, PMC *self) {
+bignum_get_si(PARROT_INTERP, ARGIN(PMC *self)) {
     BIGNUM *bn;
     GETATTR_BigNum_bn(interp, self, bn);
     if (mpf_fits_slong_p(bn->b))
@@ -779,7 +549,7 @@
 }
 
 static unsigned long
-bignum_get_ui(PARROT_INTERP, PMC *self) {
+bignum_get_ui(PARROT_INTERP, ARGIN(PMC *self)) {
     BIGNUM *bn;
     GETATTR_BigNum_bn(interp, self, bn);
     if (mpf_fits_slong_p(bn->b))
@@ -789,7 +559,7 @@
 }
 
 static INTVAL
-bignum_get_bool(PARROT_INTERP, PMC *self) {
+bignum_get_bool(PARROT_INTERP, ARGIN(PMC *self)) {
     BIGNUM *bn;
     GETATTR_BigNum_bn(interp, self, bn);
     if (mpf_sgn(bn->b) != 0)
@@ -799,7 +569,7 @@
 }
 
 static char *
-bignum_get_string(PARROT_INTERP, PMC *self, int base) {
+bignum_get_string(PARROT_INTERP, ARGIN(PMC *self), int base) {
     BIGNUM *bn;
     size_t  n;
     char   *s;
@@ -1095,6 +865,8 @@
     mpf_set_default_prec(prec);
 }
 
+/* HEADERIZER STOP */
+
 #else /* ifdef PARROT_HAS_GMP */
 
 typedef struct BIGNUM {


More information about the parrot-commits mailing list