annotate m4/intmax_t.m4 @ 425:67815606c5d9 3.0-beta2

Prevent NULL deref in lw_expr_destroy
author lost@l-w.ca
date Sun, 19 Sep 2010 10:27:47 -0600
parents 3c2e1f24cc7d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
421
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
1 # intmax_t.m4 serial 7
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
2 dnl Copyright (C) 1997-2004, 2006-2007, 2009-2010 Free Software Foundation,
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
3 dnl Inc.
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
4 dnl This file is free software; the Free Software Foundation
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
5 dnl gives unlimited permission to copy and/or distribute it,
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
6 dnl with or without modifications, as long as this notice is preserved.
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
7
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
8 dnl From Paul Eggert.
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
9
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
10 AC_PREREQ([2.13])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
11
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
12 # Define intmax_t to 'long' or 'long long'
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
13 # if it is not already defined in <stdint.h> or <inttypes.h>.
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
14
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
15 AC_DEFUN([gl_AC_TYPE_INTMAX_T],
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
16 [
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
17 dnl For simplicity, we assume that a header file defines 'intmax_t' if and
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
18 dnl only if it defines 'uintmax_t'.
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
19 AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
20 AC_REQUIRE([gl_AC_HEADER_STDINT_H])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
21 if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
22 AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
23 test $ac_cv_type_long_long_int = yes \
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
24 && ac_type='long long' \
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
25 || ac_type='long'
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
26 AC_DEFINE_UNQUOTED([intmax_t], [$ac_type],
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
27 [Define to long or long long if <inttypes.h> and <stdint.h> don't define.])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
28 else
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
29 AC_DEFINE([HAVE_INTMAX_T], [1],
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
30 [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
31 fi
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
32 ])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
33
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
34 dnl An alternative would be to explicitly test for 'intmax_t'.
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
35
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
36 AC_DEFUN([gt_AC_TYPE_INTMAX_T],
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
37 [
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
38 AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
39 AC_REQUIRE([gl_AC_HEADER_STDINT_H])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
40 AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t],
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
41 [AC_TRY_COMPILE([
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
42 #include <stddef.h>
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
43 #include <stdlib.h>
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
44 #if HAVE_STDINT_H_WITH_UINTMAX
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
45 #include <stdint.h>
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
46 #endif
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
47 #if HAVE_INTTYPES_H_WITH_UINTMAX
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
48 #include <inttypes.h>
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
49 #endif
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
50 ], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
51 if test $gt_cv_c_intmax_t = yes; then
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
52 AC_DEFINE([HAVE_INTMAX_T], [1],
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
53 [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
54 else
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
55 AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
56 test $ac_cv_type_long_long_int = yes \
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
57 && ac_type='long long' \
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
58 || ac_type='long'
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
59 AC_DEFINE_UNQUOTED([intmax_t], [$ac_type],
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
60 [Define to long or long long if <stdint.h> and <inttypes.h> don't define.])
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
61 fi
3c2e1f24cc7d Added generated files for release
lost@l-w.ca
parents:
diff changeset
62 ])