diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2003-06-17 06:17:44 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2003-06-17 06:17:44 +0000 |
commit | 6cf87ca4e574edb0bf2bcb2cf396adb6e040311d (patch) | |
tree | aba39e5edc2926935bd59dd4f66f9b3d59447d19 /gcc/cppexp.c | |
parent | 82620aaf0b59eead65b65bbaa3db5606df4027f9 (diff) | |
download | gcc-6cf87ca4e574edb0bf2bcb2cf396adb6e040311d.zip gcc-6cf87ca4e574edb0bf2bcb2cf396adb6e040311d.tar.gz gcc-6cf87ca4e574edb0bf2bcb2cf396adb6e040311d.tar.bz2 |
* cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c
* cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
* cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
ISO C: new-style function declarations, no need for PARAMS,
no special punctuation on indirect function calls, use string
constant concatenation where convenient.
From-SVN: r68070
Diffstat (limited to 'gcc/cppexp.c')
-rw-r--r-- | gcc/cppexp.c | 173 |
1 files changed, 58 insertions, 115 deletions
diff --git a/gcc/cppexp.c b/gcc/cppexp.c index bb74d1a..16082ef 100644 --- a/gcc/cppexp.c +++ b/gcc/cppexp.c @@ -40,34 +40,31 @@ struct op /* Some simple utility routines on double integers. */ #define num_zerop(num) ((num.low | num.high) == 0) #define num_eq(num1, num2) (num1.low == num2.low && num1.high == num2.high) -static bool num_positive PARAMS ((cpp_num, size_t)); -static bool num_greater_eq PARAMS ((cpp_num, cpp_num, size_t)); -static cpp_num num_trim PARAMS ((cpp_num, size_t)); -static cpp_num num_part_mul PARAMS ((cpp_num_part, cpp_num_part)); - -static cpp_num num_unary_op PARAMS ((cpp_reader *, cpp_num, enum cpp_ttype)); -static cpp_num num_binary_op PARAMS ((cpp_reader *, cpp_num, cpp_num, - enum cpp_ttype)); -static cpp_num num_negate PARAMS ((cpp_num, size_t)); -static cpp_num num_bitwise_op PARAMS ((cpp_reader *, cpp_num, cpp_num, - enum cpp_ttype)); -static cpp_num num_inequality_op PARAMS ((cpp_reader *, cpp_num, cpp_num, - enum cpp_ttype)); -static cpp_num num_equality_op PARAMS ((cpp_reader *, cpp_num, cpp_num, - enum cpp_ttype)); -static cpp_num num_mul PARAMS ((cpp_reader *, cpp_num, cpp_num)); -static cpp_num num_div_op PARAMS ((cpp_reader *, cpp_num, cpp_num, - enum cpp_ttype)); -static cpp_num num_lshift PARAMS ((cpp_num, size_t, size_t)); -static cpp_num num_rshift PARAMS ((cpp_num, size_t, size_t)); - -static cpp_num append_digit PARAMS ((cpp_num, int, int, size_t)); -static cpp_num parse_defined PARAMS ((cpp_reader *)); -static cpp_num eval_token PARAMS ((cpp_reader *, const cpp_token *)); -static struct op *reduce PARAMS ((cpp_reader *, struct op *, enum cpp_ttype)); -static unsigned int interpret_float_suffix PARAMS ((const uchar *, size_t)); -static unsigned int interpret_int_suffix PARAMS ((const uchar *, size_t)); -static void check_promotion PARAMS ((cpp_reader *, const struct op *)); +static bool num_positive (cpp_num, size_t); +static bool num_greater_eq (cpp_num, cpp_num, size_t); +static cpp_num num_trim (cpp_num, size_t); +static cpp_num num_part_mul (cpp_num_part, cpp_num_part); + +static cpp_num num_unary_op (cpp_reader *, cpp_num, enum cpp_ttype); +static cpp_num num_binary_op (cpp_reader *, cpp_num, cpp_num, enum cpp_ttype); +static cpp_num num_negate (cpp_num, size_t); +static cpp_num num_bitwise_op (cpp_reader *, cpp_num, cpp_num, enum cpp_ttype); +static cpp_num num_inequality_op (cpp_reader *, cpp_num, cpp_num, + enum cpp_ttype); +static cpp_num num_equality_op (cpp_reader *, cpp_num, cpp_num, + enum cpp_ttype); +static cpp_num num_mul (cpp_reader *, cpp_num, cpp_num); +static cpp_num num_div_op (cpp_reader *, cpp_num, cpp_num, enum cpp_ttype); +static cpp_num num_lshift (cpp_num, size_t, size_t); +static cpp_num num_rshift (cpp_num, size_t, size_t); + +static cpp_num append_digit (cpp_num, int, int, size_t); +static cpp_num parse_defined (cpp_reader *); +static cpp_num eval_token (cpp_reader *, const cpp_token *); +static struct op *reduce (cpp_reader *, struct op *, enum cpp_ttype); +static unsigned int interpret_float_suffix (const uchar *, size_t); +static unsigned int interpret_int_suffix (const uchar *, size_t); +static void check_promotion (cpp_reader *, const struct op *); /* Token type abuse to create unary plus and minus operators. */ #define CPP_UPLUS (CPP_LAST_CPP_OP + 1) @@ -84,9 +81,7 @@ static void check_promotion PARAMS ((cpp_reader *, const struct op *)); length LEN, possibly zero. Returns 0 for an invalid suffix, or a flag vector describing the suffix. */ static unsigned int -interpret_float_suffix (s, len) - const uchar *s; - size_t len; +interpret_float_suffix (const uchar *s, size_t len) { size_t f = 0, l = 0, i = 0; @@ -113,9 +108,7 @@ interpret_float_suffix (s, len) of length LEN, possibly zero. Returns 0 for an invalid suffix, or a flag vector describing the suffix. */ static unsigned int -interpret_int_suffix (s, len) - const uchar *s; - size_t len; +interpret_int_suffix (const uchar *s, size_t len) { size_t u, l, i; @@ -149,9 +142,7 @@ interpret_int_suffix (s, len) floating point, or invalid), radix (decimal, octal, hexadecimal), and type suffixes. */ unsigned int -cpp_classify_number (pfile, token) - cpp_reader *pfile; - const cpp_token *token; +cpp_classify_number (cpp_reader *pfile, const cpp_token *token) { const uchar *str = token->val.str.text; const uchar *limit; @@ -314,13 +305,11 @@ cpp_classify_number (pfile, token) of precision options->precision. We do not provide any interface for decimal->float conversion, - because the preprocessor doesn't need it and the floating point - handling in GCC proper is too ugly to speak of. */ + because the preprocessor doesn't need it and we don't want to + drag in GCC's floating point emulator. */ cpp_num -cpp_interpret_integer (pfile, token, type) - cpp_reader *pfile; - const cpp_token *token; - unsigned int type; +cpp_interpret_integer (cpp_reader *pfile, const cpp_token *token, + unsigned int type) { const uchar *p, *end; cpp_num result; @@ -403,13 +392,9 @@ cpp_interpret_integer (pfile, token, type) return result; } -/* Append DIGIT to NUM, a number of PRECISION bits being read in base - BASE. */ +/* Append DIGIT to NUM, a number of PRECISION bits being read in base BASE. */ static cpp_num -append_digit (num, digit, base, precision) - cpp_num num; - int digit, base; - size_t precision; +append_digit (cpp_num num, int digit, int base, size_t precision) { cpp_num result; unsigned int shift = 3 + (base == 16); @@ -458,8 +443,7 @@ append_digit (num, digit, base, precision) /* Handle meeting "defined" in a preprocessor expression. */ static cpp_num -parse_defined (pfile) - cpp_reader *pfile; +parse_defined (cpp_reader *pfile) { cpp_num result; int paren = 0; @@ -529,9 +513,7 @@ parse_defined (pfile) number or character constant, or the result of the "defined" or "#" operators). */ static cpp_num -eval_token (pfile, token) - cpp_reader *pfile; - const cpp_token *token; +eval_token (cpp_reader *pfile, const cpp_token *token) { cpp_num result; unsigned int temp; @@ -695,8 +677,7 @@ static const struct operator stored in the 'value' field of the stack element of the operator that precedes it. */ bool -_cpp_parse_expr (pfile) - cpp_reader *pfile; +_cpp_parse_expr (cpp_reader *pfile) { struct op *top = pfile->op_stack; unsigned int lex_count; @@ -838,10 +819,7 @@ _cpp_parse_expr (pfile) pushing operator OP. Returns NULL on error, otherwise the top of the stack. */ static struct op * -reduce (pfile, top, op) - cpp_reader *pfile; - struct op *top; - enum cpp_ttype op; +reduce (cpp_reader *pfile, struct op *top, enum cpp_ttype op) { unsigned int prio; @@ -985,8 +963,7 @@ reduce (pfile, top, op) /* Returns the position of the old top of stack after expansion. */ struct op * -_cpp_expand_op_stack (pfile) - cpp_reader *pfile; +_cpp_expand_op_stack (cpp_reader *pfile) { size_t old_size = (size_t) (pfile->op_limit - pfile->op_stack); size_t new_size = old_size * 2 + 20; @@ -1001,9 +978,7 @@ _cpp_expand_op_stack (pfile) /* Emits a warning if the effective sign of either operand of OP changes because of integer promotions. */ static void -check_promotion (pfile, op) - cpp_reader *pfile; - const struct op *op; +check_promotion (cpp_reader *pfile, const struct op *op) { if (op->value.unsignedp == op[-1].value.unsignedp) return; @@ -1023,9 +998,7 @@ check_promotion (pfile, op) /* Clears the unused high order bits of the number pointed to by PNUM. */ static cpp_num -num_trim (num, precision) - cpp_num num; - size_t precision; +num_trim (cpp_num num, size_t precision) { if (precision > PART_PRECISION) { @@ -1045,9 +1018,7 @@ num_trim (num, precision) /* True iff A (presumed signed) >= 0. */ static bool -num_positive (num, precision) - cpp_num num; - size_t precision; +num_positive (cpp_num num, size_t precision) { if (precision > PART_PRECISION) { @@ -1061,9 +1032,7 @@ num_positive (num, precision) /* Sign extend a number, with PRECISION significant bits and all others assumed clear, to fill out a cpp_num structure. */ cpp_num -cpp_num_sign_extend (num, precision) - cpp_num num; - size_t precision; +cpp_num_sign_extend (cpp_num num, size_t precision) { if (!num.unsignedp) { @@ -1087,9 +1056,7 @@ cpp_num_sign_extend (num, precision) /* Returns the negative of NUM. */ static cpp_num -num_negate (num, precision) - cpp_num num; - size_t precision; +num_negate (cpp_num num, size_t precision) { cpp_num copy; @@ -1106,9 +1073,7 @@ num_negate (num, precision) /* Returns true if A >= B. */ static bool -num_greater_eq (pa, pb, precision) - cpp_num pa, pb; - size_t precision; +num_greater_eq (cpp_num pa, cpp_num pb, size_t precision) { bool unsignedp; @@ -1131,10 +1096,8 @@ num_greater_eq (pa, pb, precision) /* Returns LHS OP RHS, where OP is a bit-wise operation. */ static cpp_num -num_bitwise_op (pfile, lhs, rhs, op) - cpp_reader *pfile ATTRIBUTE_UNUSED; - cpp_num lhs, rhs; - enum cpp_ttype op; +num_bitwise_op (cpp_reader *pfile ATTRIBUTE_UNUSED, + cpp_num lhs, cpp_num rhs, enum cpp_ttype op) { lhs.overflow = false; lhs.unsignedp = lhs.unsignedp || rhs.unsignedp; @@ -1162,10 +1125,8 @@ num_bitwise_op (pfile, lhs, rhs, op) /* Returns LHS OP RHS, where OP is an inequality. */ static cpp_num -num_inequality_op (pfile, lhs, rhs, op) - cpp_reader *pfile; - cpp_num lhs, rhs; - enum cpp_ttype op; +num_inequality_op (cpp_reader *pfile, cpp_num lhs, cpp_num rhs, + enum cpp_ttype op) { bool gte = num_greater_eq (lhs, rhs, CPP_OPTION (pfile, precision)); @@ -1186,10 +1147,8 @@ num_inequality_op (pfile, lhs, rhs, op) /* Returns LHS OP RHS, where OP is == or !=. */ static cpp_num -num_equality_op (pfile, lhs, rhs, op) - cpp_reader *pfile ATTRIBUTE_UNUSED; - cpp_num lhs, rhs; - enum cpp_ttype op; +num_equality_op (cpp_reader *pfile ATTRIBUTE_UNUSED, + cpp_num lhs, cpp_num rhs, enum cpp_ttype op) { /* Work around a 3.0.4 bug; see PR 6950. */ bool eq = num_eq (lhs, rhs); @@ -1204,9 +1163,7 @@ num_equality_op (pfile, lhs, rhs, op) /* Shift NUM, of width PRECISION, right by N bits. */ static cpp_num -num_rshift (num, precision, n) - cpp_num num; - size_t precision, n; +num_rshift (cpp_num num, size_t precision, size_t n) { cpp_num_part sign_mask; @@ -1246,9 +1203,7 @@ num_rshift (num, precision, n) /* Shift NUM, of width PRECISION, left by N bits. */ static cpp_num -num_lshift (num, precision, n) - cpp_num num; - size_t precision, n; +num_lshift (cpp_num num, size_t precision, size_t n) { if (n >= precision) { @@ -1288,10 +1243,7 @@ num_lshift (num, precision, n) /* The four unary operators: +, -, ! and ~. */ static cpp_num -num_unary_op (pfile, num, op) - cpp_reader *pfile; - cpp_num num; - enum cpp_ttype op; +num_unary_op (cpp_reader *pfile, cpp_num num, enum cpp_ttype op) { switch (op) { @@ -1326,10 +1278,7 @@ num_unary_op (pfile, num, op) /* The various binary operators. */ static cpp_num -num_binary_op (pfile, lhs, rhs, op) - cpp_reader *pfile; - cpp_num lhs, rhs; - enum cpp_ttype op; +num_binary_op (cpp_reader *pfile, cpp_num lhs, cpp_num rhs, enum cpp_ttype op) { cpp_num result; size_t precision = CPP_OPTION (pfile, precision); @@ -1411,8 +1360,7 @@ num_binary_op (pfile, lhs, rhs, op) /* Multiplies two unsigned cpp_num_parts to give a cpp_num. This cannot overflow. */ static cpp_num -num_part_mul (lhs, rhs) - cpp_num_part lhs, rhs; +num_part_mul (cpp_num_part lhs, cpp_num_part rhs) { cpp_num result; cpp_num_part middle[2], temp; @@ -1442,9 +1390,7 @@ num_part_mul (lhs, rhs) /* Multiply two preprocessing numbers. */ static cpp_num -num_mul (pfile, lhs, rhs) - cpp_reader *pfile; - cpp_num lhs, rhs; +num_mul (cpp_reader *pfile, cpp_num lhs, cpp_num rhs) { cpp_num result, temp; bool unsignedp = lhs.unsignedp || rhs.unsignedp; @@ -1494,10 +1440,7 @@ num_mul (pfile, lhs, rhs) /* Divide two preprocessing numbers, returning the answer or the remainder depending upon OP. */ static cpp_num -num_div_op (pfile, lhs, rhs, op) - cpp_reader *pfile; - cpp_num lhs, rhs; - enum cpp_ttype op; +num_div_op (cpp_reader *pfile, cpp_num lhs, cpp_num rhs, enum cpp_ttype op) { cpp_num result, sub; cpp_num_part mask; |