[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