diff options
| author | Thomas Guyot-Sionnest <dermoth@aei.ca> | 2010-04-07 21:11:46 -0400 |
|---|---|---|
| committer | Thomas Guyot-Sionnest <dermoth@aei.ca> | 2010-04-12 21:26:35 -0400 |
| commit | 74da141e618ef99959d509cb2e7be35a348a39db (patch) | |
| tree | 88ebc38b381a1021fc2d74864a71e230ae591c3d /gl/m4/longlong.m4 | |
| parent | c63a4f726a0b6ad8cf6040f947754a81fd4683bb (diff) | |
| download | monitoring-plugins-74da141e618ef99959d509cb2e7be35a348a39db.tar.gz | |
Sync with the latest Gnulib code (177f525)
Signed-off-by: Thomas Guyot-Sionnest <dermoth@aei.ca>
Diffstat (limited to 'gl/m4/longlong.m4')
| -rw-r--r-- | gl/m4/longlong.m4 | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/gl/m4/longlong.m4 b/gl/m4/longlong.m4 index eedc8d56..cca3c1a9 100644 --- a/gl/m4/longlong.m4 +++ b/gl/m4/longlong.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # longlong.m4 serial 14 | 1 | # longlong.m4 serial 14 |
| 2 | dnl Copyright (C) 1999-2007, 2009 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1999-2007, 2009-2010 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -20,30 +20,30 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT], | |||
| 20 | [AC_LINK_IFELSE( | 20 | [AC_LINK_IFELSE( |
| 21 | [_AC_TYPE_LONG_LONG_SNIPPET], | 21 | [_AC_TYPE_LONG_LONG_SNIPPET], |
| 22 | [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. | 22 | [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. |
| 23 | dnl If cross compiling, assume the bug isn't important, since | 23 | dnl If cross compiling, assume the bug isn't important, since |
| 24 | dnl nobody cross compiles for this platform as far as we know. | 24 | dnl nobody cross compiles for this platform as far as we know. |
| 25 | AC_RUN_IFELSE( | 25 | AC_RUN_IFELSE( |
| 26 | [AC_LANG_PROGRAM( | 26 | [AC_LANG_PROGRAM( |
| 27 | [[@%:@include <limits.h> | 27 | [[@%:@include <limits.h> |
| 28 | @%:@ifndef LLONG_MAX | 28 | @%:@ifndef LLONG_MAX |
| 29 | @%:@ define HALF \ | 29 | @%:@ define HALF \ |
| 30 | (1LL << (sizeof (long long int) * CHAR_BIT - 2)) | 30 | (1LL << (sizeof (long long int) * CHAR_BIT - 2)) |
| 31 | @%:@ define LLONG_MAX (HALF - 1 + HALF) | 31 | @%:@ define LLONG_MAX (HALF - 1 + HALF) |
| 32 | @%:@endif]], | 32 | @%:@endif]], |
| 33 | [[long long int n = 1; | 33 | [[long long int n = 1; |
| 34 | int i; | 34 | int i; |
| 35 | for (i = 0; ; i++) | 35 | for (i = 0; ; i++) |
| 36 | { | 36 | { |
| 37 | long long int m = n << i; | 37 | long long int m = n << i; |
| 38 | if (m >> i != n) | 38 | if (m >> i != n) |
| 39 | return 1; | 39 | return 1; |
| 40 | if (LLONG_MAX / 2 < m) | 40 | if (LLONG_MAX / 2 < m) |
| 41 | break; | 41 | break; |
| 42 | } | 42 | } |
| 43 | return 0;]])], | 43 | return 0;]])], |
| 44 | [ac_cv_type_long_long_int=yes], | 44 | [ac_cv_type_long_long_int=yes], |
| 45 | [ac_cv_type_long_long_int=no], | 45 | [ac_cv_type_long_long_int=no], |
| 46 | [ac_cv_type_long_long_int=yes])], | 46 | [ac_cv_type_long_long_int=yes])], |
| 47 | [ac_cv_type_long_long_int=no])]) | 47 | [ac_cv_type_long_long_int=no])]) |
| 48 | if test $ac_cv_type_long_long_int = yes; then | 48 | if test $ac_cv_type_long_long_int = yes; then |
| 49 | AC_DEFINE([HAVE_LONG_LONG_INT], [1], | 49 | AC_DEFINE([HAVE_LONG_LONG_INT], [1], |
| @@ -83,24 +83,24 @@ AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], | |||
| 83 | [ | 83 | [ |
| 84 | AC_LANG_PROGRAM( | 84 | AC_LANG_PROGRAM( |
| 85 | [[/* For now, do not test the preprocessor; as of 2007 there are too many | 85 | [[/* For now, do not test the preprocessor; as of 2007 there are too many |
| 86 | implementations with broken preprocessors. Perhaps this can | 86 | implementations with broken preprocessors. Perhaps this can |
| 87 | be revisited in 2012. In the meantime, code should not expect | 87 | be revisited in 2012. In the meantime, code should not expect |
| 88 | #if to work with literals wider than 32 bits. */ | 88 | #if to work with literals wider than 32 bits. */ |
| 89 | /* Test literals. */ | 89 | /* Test literals. */ |
| 90 | long long int ll = 9223372036854775807ll; | 90 | long long int ll = 9223372036854775807ll; |
| 91 | long long int nll = -9223372036854775807LL; | 91 | long long int nll = -9223372036854775807LL; |
| 92 | unsigned long long int ull = 18446744073709551615ULL; | 92 | unsigned long long int ull = 18446744073709551615ULL; |
| 93 | /* Test constant expressions. */ | 93 | /* Test constant expressions. */ |
| 94 | typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) | 94 | typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) |
| 95 | ? 1 : -1)]; | 95 | ? 1 : -1)]; |
| 96 | typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 | 96 | typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 |
| 97 | ? 1 : -1)]; | 97 | ? 1 : -1)]; |
| 98 | int i = 63;]], | 98 | int i = 63;]], |
| 99 | [[/* Test availability of runtime routines for shift and division. */ | 99 | [[/* Test availability of runtime routines for shift and division. */ |
| 100 | long long int llmax = 9223372036854775807ll; | 100 | long long int llmax = 9223372036854775807ll; |
| 101 | unsigned long long int ullmax = 18446744073709551615ull; | 101 | unsigned long long int ullmax = 18446744073709551615ull; |
| 102 | return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | 102 | return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) |
| 103 | | (llmax / ll) | (llmax % ll) | 103 | | (llmax / ll) | (llmax % ll) |
| 104 | | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | 104 | | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) |
| 105 | | (ullmax / ull) | (ullmax % ull));]]) | 105 | | (ullmax / ull) | (ullmax % ull));]]) |
| 106 | ]) | 106 | ]) |
