summaryrefslogtreecommitdiff
path: root/tests/misc/expr
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2008-10-15 15:29:38 +0200
committerJim Meyering <meyering@redhat.com>2008-10-15 16:30:28 +0200
commit4fb3704c25726a29b5af658f3137794cdf5cf01c (patch)
tree8d9e773dafb98a1d46f079ef99ae9be9ccbde07a /tests/misc/expr
parent514b7fbc0069bbd53087561020b1562ccbcd11ee (diff)
downloadcoreutils-4fb3704c25726a29b5af658f3137794cdf5cf01c.tar.xz
expr: remove --bignum and --no-bignum options
* doc/coreutils.texi (expr invocation): Remove the --bignum and --no-bignum options. They weren't really needed, and they broke longstanding (albeit nonportable) scripts. * src/expr.c: Don't include <assert.h>. Include "inttostr.h", "long-options.h", "verify.h". Check at compile-time that size_t fits in unsigned long int, as the code assumes this in several places. (HAVE_GMP): Define to 0 if not defined, for convenience. (mpz_t, mpz_clear, mpz_init_set_ui, mpz_init_set_str, mpz_add): (mpz_sub, mpz_mul, mpz_tdiv_q, mpz_tdiv_r, mpz_get_str, mpz_sgn): (mpz_fits_ulong_p, mpz_get_ui, mpz_out_str): Supply substitutes when !HAVE_GMP, which work well enough for expr's purposes. (mp_integer): Remove. All integers are gmp, if gmp is available. (struct valinfo): Remove 'z' member; no longer needed. The 'i' member is always of type mpz_t. (enum arithmetic_mode, MP_NEVER, MP_ALWAYS, MP_AUTO, mode): Remove; no longer needed. (usage): Remove documentation of --bignum and --no-bignum. (integer_overflow): Abort if error misbehaves, to pacify GCC. Restore old message on arithmetic overflow, to be conservative. (die): Omit exit_status parameter; not needed (is always EXPR_FAILURE). (string_too_long, USE_BIGNUM, NO_USE_BIGNUM, long_options): Remove; no longer needed. (main): Don't use getopt_long; this breaks old nonportable scripts. (int_value): Arg is unsigned, in case we have strings whose length exceeds LONG_MAX (!). (int_value, freev, printv, null, tostring, toarith): (eval6, eval4, eval3): Always use mpz_ functions, to simplify the code. (substr_value): Remove; no longer needed. (getsize): Simplify the API: one arg rather than 3. Don't assume unsigned long int fits in size_t. (promote, domult, dodivide, doadd): Remove; no longer needed. * tests/misc/expr: Don't use --bignum to test for bignum support. Instead, use big numbers to test this.
Diffstat (limited to 'tests/misc/expr')
-rwxr-xr-xtests/misc/expr4
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/misc/expr b/tests/misc/expr
index 4d236621e..b790d20a6 100755
--- a/tests/misc/expr
+++ b/tests/misc/expr
@@ -163,8 +163,8 @@ my @Tests =
['bignum-div', "$big_prod / $big", {OUT => $big_p1}],
);
-# If using --bignum fails, remove all /^bignum-/ tests
-`expr --bignum 1`
+# If using big numbers fails, remove all /^bignum-/ tests
+`expr $big_prod '*' $big_prod '*' $big_prod`
or @Tests = grep {$_->[0] !~ /^bignum-/} @Tests;
# Append a newline to end of each expected `OUT' string.