summaryrefslogtreecommitdiff
path: root/fixincludes/tests/base
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2010-01-26 19:24:32 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2010-01-26 19:24:32 +0000
commite2fb821c7079df82ce367072ec950830e3187cf7 (patch)
tree74232716d53286c9f9eba7a28ff5d8315c035de8 /fixincludes/tests/base
parent9e73085469b120650ddf53c18d01a99a171aeaed (diff)
downloadgcc-e2fb821c7079df82ce367072ec950830e3187cf7.tar.gz
gcc:
* config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint. * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE, INT64_TYPE): Define. (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define. (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE, INT_LEAST64_TYPE): Define. (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE, UINT_LEAST64_TYPE): Define. (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE) INT_FAST64_TYPE): Define. (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE, UINT_FAST64_TYPE): Define. (INTMAX_TYPE, UINTMAX_TYPE): Define. (INTPTR_TYPE, UINTPTR_TYPE): Define. (SIG_ATOMIC_TYPE): Define. fixincludes: * inclhack.def (aix_stdint_1): Add stdint-aix.h to files. (aix_stdint_2): Likewise. (aix_stdint_3): Likewise. (aix_stdint_4): Likewise. (aix_stdint_5): Likewise. (darwin_stdint_1): Add stdint-darwin.h to files. (darwin_stdint_2): Likewise. (darwin_stdint_3): Likewise. (darwin_stdint_4): Likewise. (darwin_stdint_5): Likewise. (darwin_stdint_6): Likewise. (darwin_stdint_7): Likewise. (hpux_c99_intptr): Add stdint-hpux11.h to files. (hpux_c99_inttypes): Likewise. (hpux_c99_inttypes2): Likewise. (hpux_stdint_least_fast): Likewise. (irix_stdint_c99): Renamed to irix_stdint_c99_mode. (irix_stdint_c99_types): New fix. (irix_stdint_c99_macros): New fix. (newlib_stdint_1): Add stdint-newlib.h to files. (newlib_stdint_2): Likewise. fixincl.x: Regenerate. tests/base/stdint-aix.h: New file. tests/base/stdint.h [AIX_STDINT_1_CHECK, AIX_STDINT_2_CHECK, AIX_STDINT_3_CHECK, AIX_STDINT_4_CHECK, AIX_STDINT_5_CHECK]: Moved ... tests/base/stdint-aix.h: ... here. [AIX_STDINT_3_CHECK]: Updated to match aix_stdint_3 fix. [AIX_STDINT_4_CHECK]: Updated to match aix_stdint_4 fix. [AIX_STDINT_5_CHECK]: Updated to match aix_stdint_5 fix. tests/base/stdint-darwin.h: New file. tests/base/stdint.h [DARWIN_STDINT_1_CHECK, DARWIN_STDINT_2_CHECK, DARWIN_STDINT_3_CHECK, DARWIN_STDINT_4_CHECK, DARWIN_STDINT_5_CHECK, DARWIN_STDINT_6_CHECK]: Moved ... tests/base/stdint-darwin.h: ... here. [DARWIN_STDINT_1_CHECK]: Updated to match darwin_stdint_1 fix. [DARWIN_STDINT_4_CHECK]: Updated to match darwin_stdint_4 fix. [DARWIN_STDINT_6_CHECK]: Updated to match darwin_stdint_6 fix. tests/base/stdint-hpux11.h: New file. tests/base/stdint.h [HPUX_C99_INTPTR_CHECK, HPUX_C99_INTTYPES2_CHECK, HPUX_STDINT_LEAST_FAST_CHECK]: Moved ... tests/base/stdint-hpux11.h: ... here. [HPUX_C99_INTPTR_CHECK]: Updated to match hpux_c99_intptr fix. [HPUX_C99_INTTYPES2_CHECK]: Updated to match hpux_c99_inttypes2 fix. tests/base/stdint.h [IRIX_STDINT_C99_CHECK]: Renamed guard to IRIX_STDINT_C99_MODE_CHECK. tests/base/stdint-irix65.h: New file. tests/base/stdint-newlib.h: New file. tests/base/stdint.h [NEWLIB_STDINT_1_CHECK, NEWLIB_STDINT_2_CHECK]: Moved ... tests/base/stdint-newlib.h: ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156259 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'fixincludes/tests/base')
-rw-r--r--fixincludes/tests/base/stdint-aix.h48
-rw-r--r--fixincludes/tests/base/stdint-darwin.h79
-rw-r--r--fixincludes/tests/base/stdint-hpux11.h36
-rw-r--r--fixincludes/tests/base/stdint-irix65.h40
-rw-r--r--fixincludes/tests/base/stdint-newlib.h42
-rw-r--r--fixincludes/tests/base/stdint.h173
6 files changed, 247 insertions, 171 deletions
diff --git a/fixincludes/tests/base/stdint-aix.h b/fixincludes/tests/base/stdint-aix.h
new file mode 100644
index 00000000000..1560e75d644
--- /dev/null
+++ b/fixincludes/tests/base/stdint-aix.h
@@ -0,0 +1,48 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/stdint-aix.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( AIX_STDINT_1_CHECK )
+#define UINT8_MAX (255)
+#define UINT16_MAX (65535)
+#endif /* AIX_STDINT_1_CHECK */
+
+
+#if defined( AIX_STDINT_2_CHECK )
+#define INTPTR_MIN (-INTPTR_MAX-1)
+#define INTPTR_MAX 9223372036854775807L
+#define UINTPTR_MAX 18446744073709551615UL
+#else
+#define INTPTR_MIN (-INTPTR_MAX-1)
+#define INTPTR_MAX 2147483647L
+#define UINTPTR_MAX 4294967295UL
+#endif /* AIX_STDINT_2_CHECK */
+
+
+#if defined( AIX_STDINT_3_CHECK )
+#define PTRDIFF_MIN (-9223372036854775807L - 1)
+#define PTRDIFF_MAX 9223372036854775807L
+#else
+#define PTRDIFF_MIN (-2147483647L - 1)
+#define PTRDIFF_MAX 2147483647L
+#endif /* AIX_STDINT_3_CHECK */
+
+
+#if defined( AIX_STDINT_4_CHECK )
+#define SIZE_MAX 18446744073709551615UL
+#else
+#define SIZE_MAX 4294967295UL
+#endif /* AIX_STDINT_4_CHECK */
+
+
+#if defined( AIX_STDINT_5_CHECK )
+#define UINT8_C(c) c
+#define UINT16_C(c) c
+#endif /* AIX_STDINT_5_CHECK */
diff --git a/fixincludes/tests/base/stdint-darwin.h b/fixincludes/tests/base/stdint-darwin.h
new file mode 100644
index 00000000000..7a5d6dadfee
--- /dev/null
+++ b/fixincludes/tests/base/stdint-darwin.h
@@ -0,0 +1,79 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/stdint-darwin.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( DARWIN_STDINT_1_CHECK )
+#define UINT8_C(v) v
+#define UINT16_C(v) v
+#endif /* DARWIN_STDINT_1_CHECK */
+
+
+#if defined( DARWIN_STDINT_2_CHECK )
+#if __WORDSIZE == 64
+#define INTPTR_MAX 9223372036854775807L
+#define INTPTR_MIN (-INTPTR_MAX-1)
+#else
+#define INTPTR_MAX 2147483647L
+#define INTPTR_MIN (-INTPTR_MAX-1)
+#endif
+#endif /* DARWIN_STDINT_2_CHECK */
+
+
+#if defined( DARWIN_STDINT_3_CHECK )
+#if __WORDSIZE == 64
+#define UINTPTR_MAX 18446744073709551615UL
+#else
+#define UINTPTR_MAX 4294967295UL
+#endif
+#endif /* DARWIN_STDINT_3_CHECK */
+
+
+#if defined( DARWIN_STDINT_4_CHECK )
+#if __WORDSIZE == 64
+#define SIZE_MAX 18446744073709551615UL
+#else
+#define SIZE_MAX 4294967295UL
+#endif
+#endif /* DARWIN_STDINT_4_CHECK */
+
+
+#if defined( DARWIN_STDINT_5_CHECK )
+#if __WORDSIZE == 64
+#define INTMAX_MIN (-9223372036854775807L - 1)
+#define INTMAX_MAX 9223372036854775807L
+#define UINTMAX_MAX 18446744073709551615UL
+#else
+#define INTMAX_MIN (-9223372036854775807LL - 1)
+#define INTMAX_MAX 9223372036854775807LL
+#define UINTMAX_MAX 18446744073709551615ULL
+#endif
+#endif /* DARWIN_STDINT_5_CHECK */
+
+
+#if defined( DARWIN_STDINT_6_CHECK )
+#if __WORDSIZE == 64
+#define PTRDIFF_MIN (-9223372036854775807L - 1)
+#define PTRDIFF_MAX 9223372036854775807L
+#else
+#define PTRDIFF_MIN (-2147483647 - 1)
+#define PTRDIFF_MAX 2147483647
+#endif
+#endif /* DARWIN_STDINT_6_CHECK */
+
+
+#if defined( DARWIN_STDINT_7_CHECK )
+#if __WORDSIZE == 64
+#define INTMAX_C(v) (v ## L)
+#define UINTMAX_C(v) (v ## UL)
+#else
+#define INTMAX_C(v) (v ## LL)
+#define UINTMAX_C(v) (v ## ULL)
+#endif
+#endif /* DARWIN_STDINT_7_CHECK */
diff --git a/fixincludes/tests/base/stdint-hpux11.h b/fixincludes/tests/base/stdint-hpux11.h
new file mode 100644
index 00000000000..6e8ea134998
--- /dev/null
+++ b/fixincludes/tests/base/stdint-hpux11.h
@@ -0,0 +1,36 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/stdint-hpux11.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( HPUX_C99_INTPTR_CHECK )
+#define PTRDIFF_MAX (2147483647l)
+#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
+#define INTPTR_MAX (2147483647l)
+#define INTPTR_MIN (-INTPTR_MAX - 1)
+#define UINTPTR_MAX (4294967295ul)
+#define SIZE_MAX (4294967295ul)
+
+#endif /* HPUX_C99_INTPTR_CHECK */
+
+
+#if defined( HPUX_C99_INTTYPES2_CHECK )
+#define INT8_C(__c) (__c)
+#define UINT8_C(__c) (__c)
+#define INT16_C(__c) (__c)
+#define UINT16_C(__c) (__c)
+
+#endif /* HPUX_C99_INTTYPES2_CHECK */
+
+
+#if defined( HPUX_STDINT_LEAST_FAST_CHECK )
+# define UINT_FAST64_MAX __UINT64_MAX__
+# define UINT_LEAST64_MAX __UINT64_MAX__
+
+#endif /* HPUX_STDINT_LEAST_FAST_CHECK */
diff --git a/fixincludes/tests/base/stdint-irix65.h b/fixincludes/tests/base/stdint-irix65.h
new file mode 100644
index 00000000000..d1757fb5522
--- /dev/null
+++ b/fixincludes/tests/base/stdint-irix65.h
@@ -0,0 +1,40 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/stdint-irix65.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( IRIX_STDINT_C99_TYPES_CHECK )
+#define INT64_MIN (-0x7fffffffffffffffLL - 1)
+#define INT64_MAX 0x7fffffffffffffffLL
+#define UINT32_MAX 0xffffffffU
+#define UINT64_MAX 0xffffffffffffffffULL
+#define INTPTR_MIN (-0x7fffffffL - 1)
+#define INTPTR_MAX 0x7fffffffL
+#define UINTPTR_MAX 0xffffffffUL
+#define INTPTR_MIN (-0x7fffffffffffffffL - 1)
+#define INTPTR_MAX 0x7fffffffffffffffL
+#define UINTPTR_MAX 0xffffffffffffffffUL
+#define PTRDIFF_MIN (-0x7fffffffffffffffL - 1)
+#define PTRDIFF_MAX 0x7fffffffffffffffL
+#define SIZE_MAX 0xffffffffffffffffUL
+#endif /* IRIX_STDINT_C99_TYPES_CHECK */
+
+
+#if defined( IRIX_STDINT_C99_MACROS_CHECK )
+#define INT8_C(x) (x)
+#define INT16_C(x) (x)
+#define INT32_C(x) (x)
+#define INT64_C(x) (x ## LL)
+#define UINT8_C(x) (x)
+#define UINT16_C(x) (x)
+#define UINT32_C(x) (x ## U)
+#define UINT64_C(x) (x ## ULL)
+#define INTMAX_C(x) (x ## LL)
+#define UINTMAX_C(x) (x ## ULL)
+#endif /* IRIX_STDINT_C99_MACROS_CHECK */
diff --git a/fixincludes/tests/base/stdint-newlib.h b/fixincludes/tests/base/stdint-newlib.h
new file mode 100644
index 00000000000..451a4756a84
--- /dev/null
+++ b/fixincludes/tests/base/stdint-newlib.h
@@ -0,0 +1,42 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/stdint-newlib.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( NEWLIB_STDINT_1_CHECK )
+/* @todo - Add support for wint_t types. */
+#define INT32_MIN (-INT32_MAX - 1)
+#define INT32_MAX __INT32_MAX__
+#define UINT32_MAX __UINT32_MAX__
+#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)
+#define INT_LEAST32_MAX __INT_LEAST32_MAX__
+#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__
+#define INT_FAST8_MIN (-INT_FAST8_MAX - 1)
+#define INT_FAST8_MAX __INT_FAST8_MAX__
+#define UINT_FAST8_MAX __UINT_FAST8_MAX__
+#define SIZE_MAX __SIZE_MAX__
+#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
+#define PTRDIFF_MAX __PTRDIFF_MAX__
+#define UINT8_C(c) __UINT8_C(c)
+#define UINT16_C(c) __UINT16_C(c)
+#endif /* NEWLIB_STDINT_1_CHECK */
+
+
+#if defined( NEWLIB_STDINT_2_CHECK )
+/* @todo - Add support for wint_t types. */
+#define INTMAX_MAX __INTMAX_MAX__
+#define INTMAX_MIN (-INTMAX_MAX - 1)
+#define UINTMAX_MAX __UINTMAX_MAX__
+#define WCHAR_MAX __WCHAR_MAX__
+#define WCHAR_MIN __WCHAR_MIN__
+#define WINT_MAX __WINT_MAX__
+#define WINT_MIN __WINT_MIN__
+
+/** Macros for minimum-width integer constant expressions */
+#endif /* NEWLIB_STDINT_2_CHECK */
diff --git a/fixincludes/tests/base/stdint.h b/fixincludes/tests/base/stdint.h
index 3159505f3c3..3d897f88f7e 100644
--- a/fixincludes/tests/base/stdint.h
+++ b/fixincludes/tests/base/stdint.h
@@ -9,115 +9,6 @@
-#if defined( AIX_STDINT_1_CHECK )
-#define UINT8_MAX (255)
-#define UINT16_MAX (65535)
-#endif /* AIX_STDINT_1_CHECK */
-
-
-#if defined( AIX_STDINT_2_CHECK )
-#define INTPTR_MIN (-INTPTR_MAX-1)
-#define INTPTR_MAX 9223372036854775807L
-#define UINTPTR_MAX 18446744073709551615UL
-#else
-#define INTPTR_MIN (-INTPTR_MAX-1)
-#define INTPTR_MAX 2147483647L
-#define UINTPTR_MAX 4294967295UL
-#endif /* AIX_STDINT_2_CHECK */
-
-
-#if defined( AIX_STDINT_3_CHECK )
-#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
-#define PTRDIFF_MAX __PTRDIFF_MAX__
-#else
-#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
-#define PTRDIFF_MAX __PTRDIFF_MAX__
-#endif /* AIX_STDINT_3_CHECK */
-
-
-#if defined( AIX_STDINT_4_CHECK )
-#define SIZE_MAX __SIZE_MAX__
-#else
-#define SIZE_MAX __SIZE_MAX__
-#endif /* AIX_STDINT_4_CHECK */
-
-
-#if defined( AIX_STDINT_5_CHECK )
-#define UINT8_C(c) __UINT8_C(c)
-#define UINT16_C(c) __UINT16_C(c)
-#endif /* AIX_STDINT_5_CHECK */
-
-
-#if defined( DARWIN_STDINT_1_CHECK )
-#define UINT8_C(c) __UINT8_C(c)
-#define UINT16_C(c) __UINT16_C(c)
-#endif /* DARWIN_STDINT_1_CHECK */
-
-
-#if defined( DARWIN_STDINT_2_CHECK )
-#if __WORDSIZE == 64
-#define INTPTR_MAX 9223372036854775807L
-#define INTPTR_MIN (-INTPTR_MAX-1)
-#else
-#define INTPTR_MAX 2147483647L
-#define INTPTR_MIN (-INTPTR_MAX-1)
-#endif
-#endif /* DARWIN_STDINT_2_CHECK */
-
-
-#if defined( DARWIN_STDINT_3_CHECK )
-#if __WORDSIZE == 64
-#define UINTPTR_MAX 18446744073709551615UL
-#else
-#define UINTPTR_MAX 4294967295UL
-#endif
-#endif /* DARWIN_STDINT_3_CHECK */
-
-
-#if defined( DARWIN_STDINT_4_CHECK )
-#if __WORDSIZE == 64
-#define SIZE_MAX __SIZE_MAX__
-#else
-#define SIZE_MAX __SIZE_MAX__
-#endif
-#endif /* DARWIN_STDINT_4_CHECK */
-
-
-#if defined( DARWIN_STDINT_5_CHECK )
-#if __WORDSIZE == 64
-#define INTMAX_MIN (-9223372036854775807L - 1)
-#define INTMAX_MAX 9223372036854775807L
-#define UINTMAX_MAX 18446744073709551615UL
-#else
-#define INTMAX_MIN (-9223372036854775807LL - 1)
-#define INTMAX_MAX 9223372036854775807LL
-#define UINTMAX_MAX 18446744073709551615ULL
-#endif
-#endif /* DARWIN_STDINT_5_CHECK */
-
-
-#if defined( DARWIN_STDINT_6_CHECK )
-#if __WORDSIZE == 64
-#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
-#define PTRDIFF_MAX __PTRDIFF_MAX__
-#else
-#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
-#define PTRDIFF_MAX __PTRDIFF_MAX__
-#endif
-#endif /* DARWIN_STDINT_6_CHECK */
-
-
-#if defined( DARWIN_STDINT_7_CHECK )
-#if __WORDSIZE == 64
-#define INTMAX_C(v) (v ## L)
-#define UINTMAX_C(v) (v ## UL)
-#else
-#define INTMAX_C(v) (v ## LL)
-#define UINTMAX_C(v) (v ## ULL)
-#endif
-#endif /* DARWIN_STDINT_7_CHECK */
-
-
#if defined( GLIBC_STDINT_CHECK )
/* This file is part of the GNU C Library. */
# define UINT8_C(c) c
@@ -125,68 +16,8 @@
#endif /* GLIBC_STDINT_CHECK */
-#if defined( HPUX_C99_INTPTR_CHECK )
-#define PTRDIFF_MAX __PTRDIFF_MAX__
-#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
-#define INTPTR_MAX (2147483647l)
-#define INTPTR_MIN (-INTPTR_MAX - 1)
-#define UINTPTR_MAX (4294967295ul)
-#define SIZE_MAX __SIZE_MAX__
-
-#endif /* HPUX_C99_INTPTR_CHECK */
-
-
-#if defined( HPUX_C99_INTTYPES2_CHECK )
-#define INT8_C(__c) (__c)
-#define UINT8_C(c) __UINT8_C(c)
-#define INT16_C(__c) (__c)
-#define UINT16_C(c) __UINT16_C(c)
-
-#endif /* HPUX_C99_INTTYPES2_CHECK */
-
-
-#if defined( HPUX_STDINT_LEAST_FAST_CHECK )
-# define UINT_FAST64_MAX __UINT64_MAX__
-# define UINT_LEAST64_MAX __UINT64_MAX__
-
-#endif /* HPUX_STDINT_LEAST_FAST_CHECK */
-
-
-#if defined( IRIX_STDINT_C99_CHECK )
+#if defined( IRIX_STDINT_C99_MODE_CHECK )
#if 0
#error This header file is to be used only for c99 mode compilations
#else
-#endif /* IRIX_STDINT_C99_CHECK */
-
-
-#if defined( NEWLIB_STDINT_1_CHECK )
-/* @todo - Add support for wint_t types. */
-#define INT32_MIN (-INT32_MAX - 1)
-#define INT32_MAX __INT32_MAX__
-#define UINT32_MAX __UINT32_MAX__
-#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)
-#define INT_LEAST32_MAX __INT_LEAST32_MAX__
-#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__
-#define INT_FAST8_MIN (-INT_FAST8_MAX - 1)
-#define INT_FAST8_MAX __INT_FAST8_MAX__
-#define UINT_FAST8_MAX __UINT_FAST8_MAX__
-#define SIZE_MAX __SIZE_MAX__
-#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
-#define PTRDIFF_MAX __PTRDIFF_MAX__
-#define UINT8_C(c) __UINT8_C(c)
-#define UINT16_C(c) __UINT16_C(c)
-#endif /* NEWLIB_STDINT_1_CHECK */
-
-
-#if defined( NEWLIB_STDINT_2_CHECK )
-/* @todo - Add support for wint_t types. */
-#define INTMAX_MAX __INTMAX_MAX__
-#define INTMAX_MIN (-INTMAX_MAX - 1)
-#define UINTMAX_MAX __UINTMAX_MAX__
-#define WCHAR_MAX __WCHAR_MAX__
-#define WCHAR_MIN __WCHAR_MIN__
-#define WINT_MAX __WINT_MAX__
-#define WINT_MIN __WINT_MIN__
-
-/** Macros for minimum-width integer constant expressions */
-#endif /* NEWLIB_STDINT_2_CHECK */
+#endif /* IRIX_STDINT_C99_MODE_CHECK */