From eca63c6a360e6a50ebe99c0fef04678965daedcf Mon Sep 17 00:00:00 2001 From: Sa Liu Date: Thu, 15 May 2008 12:46:54 +0000 Subject: [PATCH] Add standard parameter to macro NAMED_INTCST. From-SVN: r135338 --- gcc/fortran/iso-c-binding.def | 59 +++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/gcc/fortran/iso-c-binding.def b/gcc/fortran/iso-c-binding.def index c41870d4998..98c3c982267 100644 --- a/gcc/fortran/iso-c-binding.def +++ b/gcc/fortran/iso-c-binding.def @@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see Fortran 2003 ISO_C_BINDING intrinsic module. */ #ifndef NAMED_INTCST -# define NAMED_INTCST(a,b,c) +# define NAMED_INTCST(a,b,c,d) #endif #ifndef NAMED_REALCST @@ -42,44 +42,57 @@ along with GCC; see the file COPYING3. If not see /* The arguments to NAMED_*CST are: -- an internal name -- the symbol name in the module, as seen by Fortran code - -- the value it has, for use in trans-types.c */ + -- the value it has, for use in trans-types.c + -- the standard that supports this type */ -NAMED_INTCST (ISOCBINDING_INT, "c_int", gfc_c_int_kind) +NAMED_INTCST (ISOCBINDING_INT, "c_int", gfc_c_int_kind, GFC_STD_F2003) NAMED_INTCST (ISOCBINDING_SHORT, "c_short", \ - get_int_kind_from_node (short_integer_type_node)) + get_int_kind_from_node (short_integer_type_node), GFC_STD_F2003) NAMED_INTCST (ISOCBINDING_LONG, "c_long", \ - get_int_kind_from_node (long_integer_type_node)) + get_int_kind_from_node (long_integer_type_node), GFC_STD_F2003) NAMED_INTCST (ISOCBINDING_LONG_LONG, "c_long_long", \ - get_int_kind_from_node (long_long_integer_type_node)) + get_int_kind_from_node (long_long_integer_type_node), GFC_STD_F2003) NAMED_INTCST (ISOCBINDING_INTMAX_T, "c_intmax_t", \ - get_int_kind_from_node (intmax_type_node)) + get_int_kind_from_node (intmax_type_node), GFC_STD_F2003) NAMED_INTCST (ISOCBINDING_INTPTR_T, "c_intptr_t", \ - get_int_kind_from_node (ptr_type_node)) + get_int_kind_from_node (ptr_type_node), GFC_STD_F2003) NAMED_INTCST (ISOCBINDING_SIZE_T, "c_size_t", \ - gfc_index_integer_kind) + gfc_index_integer_kind, GFC_STD_F2003) NAMED_INTCST (ISOCBINDING_SIGNED_CHAR, "c_signed_char", \ - get_int_kind_from_node (signed_char_type_node)) - -NAMED_INTCST (ISOCBINDING_INT8_T, "c_int8_t", get_int_kind_from_width (8)) -NAMED_INTCST (ISOCBINDING_INT16_T, "c_int16_t", get_int_kind_from_width (16)) -NAMED_INTCST (ISOCBINDING_INT32_T, "c_int32_t", get_int_kind_from_width (32)) -NAMED_INTCST (ISOCBINDING_INT64_T, "c_int64_t", get_int_kind_from_width (64)) + get_int_kind_from_node (signed_char_type_node), GFC_STD_F2003) + +NAMED_INTCST (ISOCBINDING_INT8_T, "c_int8_t", get_int_kind_from_width (8), \ + GFC_STD_F2003) +NAMED_INTCST (ISOCBINDING_INT16_T, "c_int16_t", get_int_kind_from_width (16), \ + GFC_STD_F2003) +NAMED_INTCST (ISOCBINDING_INT32_T, "c_int32_t", get_int_kind_from_width (32), \ + GFC_STD_F2003) +NAMED_INTCST (ISOCBINDING_INT64_T, "c_int64_t", get_int_kind_from_width (64), \ + GFC_STD_F2003) +/* GNU Extension. */ +NAMED_INTCST (ISOCBINDING_INT128_T, "c_int128_t", get_int_kind_from_width (128), \ + GFC_STD_GNU) NAMED_INTCST (ISOCBINDING_INT_LEAST8_T, "c_int_least8_t", \ - get_int_kind_from_minimal_width (8)) + get_int_kind_from_minimal_width (8), GFC_STD_F2003) NAMED_INTCST (ISOCBINDING_INT_LEAST16_T, "c_int_least16_t", \ - get_int_kind_from_minimal_width (16)) + get_int_kind_from_minimal_width (16), GFC_STD_F2003) NAMED_INTCST (ISOCBINDING_INT_LEAST32_T, "c_int_least32_t", \ - get_int_kind_from_minimal_width (32)) + get_int_kind_from_minimal_width (32), GFC_STD_F2003) NAMED_INTCST (ISOCBINDING_INT_LEAST64_T, "c_int_least64_t", \ - get_int_kind_from_minimal_width (64)) + get_int_kind_from_minimal_width (64), GFC_STD_F2003) +/* GNU Extension. */ +NAMED_INTCST (ISOCBINDING_INT_LEAST128_T, "c_int_least128_t", \ + get_int_kind_from_minimal_width (128), GFC_STD_GNU) /* TODO: Implement c_int_fast*_t. Depends on PR 448. */ -NAMED_INTCST (ISOCBINDING_INT_FAST8_T, "c_int_fast8_t", -2) -NAMED_INTCST (ISOCBINDING_INT_FAST16_T, "c_int_fast16_t", -2) -NAMED_INTCST (ISOCBINDING_INT_FAST32_T, "c_int_fast32_t", -2) -NAMED_INTCST (ISOCBINDING_INT_FAST64_T, "c_int_fast64_t", -2) +NAMED_INTCST (ISOCBINDING_INT_FAST8_T, "c_int_fast8_t", -2, GFC_STD_F2003) +NAMED_INTCST (ISOCBINDING_INT_FAST16_T, "c_int_fast16_t", -2, GFC_STD_F2003) +NAMED_INTCST (ISOCBINDING_INT_FAST32_T, "c_int_fast32_t", -2, GFC_STD_F2003) +NAMED_INTCST (ISOCBINDING_INT_FAST64_T, "c_int_fast64_t", -2, GFC_STD_F2003) +/* GNU Extension. */ +NAMED_INTCST (ISOCBINDING_INT_FAST128_T, "c_int_fast128_t", -2, GFC_STD_GNU) NAMED_REALCST (ISOCBINDING_FLOAT, "c_float", \ get_real_kind_from_node (float_type_node)) -- 2.30.2