OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [gcc/] [fortran/] [iso-c-binding.def] - Diff between revs 816 and 826

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 816 Rev 826
/* Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
/* Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of GCC.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.
for more details.
You should have received a copy of the GNU General Public License
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
along with GCC; see the file COPYING3.  If not see
.  */
.  */
/* This file contains the definition of the types provided by the
/* This file contains the definition of the types provided by the
   Fortran 2003 ISO_C_BINDING intrinsic module.  */
   Fortran 2003 ISO_C_BINDING intrinsic module.  */
#ifndef NAMED_INTCST
#ifndef NAMED_INTCST
# define NAMED_INTCST(a,b,c,d)
# define NAMED_INTCST(a,b,c,d)
#endif
#endif
#ifndef NAMED_REALCST
#ifndef NAMED_REALCST
# define NAMED_REALCST(a,b,c)
# define NAMED_REALCST(a,b,c)
#endif
#endif
#ifndef NAMED_CMPXCST
#ifndef NAMED_CMPXCST
# define NAMED_CMPXCST(a,b,c)
# define NAMED_CMPXCST(a,b,c)
#endif
#endif
#ifndef NAMED_LOGCST
#ifndef NAMED_LOGCST
# define NAMED_LOGCST(a,b,c)
# define NAMED_LOGCST(a,b,c)
#endif
#endif
#ifndef NAMED_CHARKNDCST
#ifndef NAMED_CHARKNDCST
# define NAMED_CHARKNDCST(a,b,c)
# define NAMED_CHARKNDCST(a,b,c)
#endif
#endif
/* The arguments to NAMED_*CST are:
/* The arguments to NAMED_*CST are:
     -- an internal name
     -- an internal name
     -- the symbol name in the module, as seen by Fortran code
     -- 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  */
     -- the standard that supports this type  */
NAMED_INTCST (ISOCBINDING_INT, "c_int", gfc_c_int_kind, GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT, "c_int", gfc_c_int_kind, GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_SHORT, "c_short", \
NAMED_INTCST (ISOCBINDING_SHORT, "c_short", \
              get_int_kind_from_node (short_integer_type_node), GFC_STD_F2003)
              get_int_kind_from_node (short_integer_type_node), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_LONG, "c_long", \
NAMED_INTCST (ISOCBINDING_LONG, "c_long", \
              get_int_kind_from_node (long_integer_type_node), GFC_STD_F2003)
              get_int_kind_from_node (long_integer_type_node), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_LONG_LONG, "c_long_long", \
NAMED_INTCST (ISOCBINDING_LONG_LONG, "c_long_long", \
              get_int_kind_from_node (long_long_integer_type_node), GFC_STD_F2003)
              get_int_kind_from_node (long_long_integer_type_node), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INTMAX_T, "c_intmax_t", \
NAMED_INTCST (ISOCBINDING_INTMAX_T, "c_intmax_t", \
              get_int_kind_from_name (INTMAX_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INTMAX_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INTPTR_T, "c_intptr_t", \
NAMED_INTCST (ISOCBINDING_INTPTR_T, "c_intptr_t", \
              get_int_kind_from_name (INTPTR_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INTPTR_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_SIZE_T, "c_size_t", \
NAMED_INTCST (ISOCBINDING_SIZE_T, "c_size_t", \
              gfc_index_integer_kind, GFC_STD_F2003)
              gfc_index_integer_kind, GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_SIGNED_CHAR, "c_signed_char", \
NAMED_INTCST (ISOCBINDING_SIGNED_CHAR, "c_signed_char", \
              get_int_kind_from_node (signed_char_type_node), GFC_STD_F2003)
              get_int_kind_from_node (signed_char_type_node), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT8_T, "c_int8_t", \
NAMED_INTCST (ISOCBINDING_INT8_T, "c_int8_t", \
              get_int_kind_from_name (INT8_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT8_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT16_T, "c_int16_t", \
NAMED_INTCST (ISOCBINDING_INT16_T, "c_int16_t", \
              get_int_kind_from_name (INT16_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT16_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT32_T, "c_int32_t", \
NAMED_INTCST (ISOCBINDING_INT32_T, "c_int32_t", \
              get_int_kind_from_name (INT32_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT32_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT64_T, "c_int64_t", \
NAMED_INTCST (ISOCBINDING_INT64_T, "c_int64_t", \
              get_int_kind_from_name (INT64_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT64_TYPE), GFC_STD_F2003)
/* GNU Extension.  */
/* GNU Extension.  */
NAMED_INTCST (ISOCBINDING_INT128_T, "c_int128_t", \
NAMED_INTCST (ISOCBINDING_INT128_T, "c_int128_t", \
              get_int_kind_from_width (128), GFC_STD_GNU)
              get_int_kind_from_width (128), GFC_STD_GNU)
NAMED_INTCST (ISOCBINDING_INT_LEAST8_T, "c_int_least8_t", \
NAMED_INTCST (ISOCBINDING_INT_LEAST8_T, "c_int_least8_t", \
              get_int_kind_from_name (INT_LEAST8_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT_LEAST8_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT_LEAST16_T, "c_int_least16_t", \
NAMED_INTCST (ISOCBINDING_INT_LEAST16_T, "c_int_least16_t", \
              get_int_kind_from_name (INT_LEAST16_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT_LEAST16_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT_LEAST32_T, "c_int_least32_t", \
NAMED_INTCST (ISOCBINDING_INT_LEAST32_T, "c_int_least32_t", \
              get_int_kind_from_name (INT_LEAST32_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT_LEAST32_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT_LEAST64_T, "c_int_least64_t", \
NAMED_INTCST (ISOCBINDING_INT_LEAST64_T, "c_int_least64_t", \
              get_int_kind_from_name (INT_LEAST64_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT_LEAST64_TYPE), GFC_STD_F2003)
/* GNU Extension.  */
/* GNU Extension.  */
NAMED_INTCST (ISOCBINDING_INT_LEAST128_T, "c_int_least128_t", \
NAMED_INTCST (ISOCBINDING_INT_LEAST128_T, "c_int_least128_t", \
              get_int_kind_from_minimal_width (128), GFC_STD_GNU)
              get_int_kind_from_minimal_width (128), GFC_STD_GNU)
NAMED_INTCST (ISOCBINDING_INT_FAST8_T, "c_int_fast8_t", \
NAMED_INTCST (ISOCBINDING_INT_FAST8_T, "c_int_fast8_t", \
              get_int_kind_from_name (INT_FAST8_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT_FAST8_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT_FAST16_T, "c_int_fast16_t", \
NAMED_INTCST (ISOCBINDING_INT_FAST16_T, "c_int_fast16_t", \
              get_int_kind_from_name (INT_FAST16_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT_FAST16_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT_FAST32_T, "c_int_fast32_t", \
NAMED_INTCST (ISOCBINDING_INT_FAST32_T, "c_int_fast32_t", \
              get_int_kind_from_name (INT_FAST32_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT_FAST32_TYPE), GFC_STD_F2003)
NAMED_INTCST (ISOCBINDING_INT_FAST64_T, "c_int_fast64_t", \
NAMED_INTCST (ISOCBINDING_INT_FAST64_T, "c_int_fast64_t", \
              get_int_kind_from_name (INT_FAST64_TYPE), GFC_STD_F2003)
              get_int_kind_from_name (INT_FAST64_TYPE), GFC_STD_F2003)
/* GNU Extension.  */
/* GNU Extension.  */
NAMED_INTCST (ISOCBINDING_INT_FAST128_T, "c_int_fast128_t",
NAMED_INTCST (ISOCBINDING_INT_FAST128_T, "c_int_fast128_t",
              get_int_kind_from_width (128), GFC_STD_GNU)
              get_int_kind_from_width (128), GFC_STD_GNU)
NAMED_REALCST (ISOCBINDING_FLOAT, "c_float", \
NAMED_REALCST (ISOCBINDING_FLOAT, "c_float", \
               get_real_kind_from_node (float_type_node))
               get_real_kind_from_node (float_type_node))
NAMED_REALCST (ISOCBINDING_DOUBLE, "c_double", \
NAMED_REALCST (ISOCBINDING_DOUBLE, "c_double", \
               get_real_kind_from_node (double_type_node))
               get_real_kind_from_node (double_type_node))
NAMED_REALCST (ISOCBINDING_LONG_DOUBLE, "c_long_double", \
NAMED_REALCST (ISOCBINDING_LONG_DOUBLE, "c_long_double", \
               get_real_kind_from_node (long_double_type_node))
               get_real_kind_from_node (long_double_type_node))
NAMED_CMPXCST (ISOCBINDING_FLOAT_COMPLEX, "c_float_complex", \
NAMED_CMPXCST (ISOCBINDING_FLOAT_COMPLEX, "c_float_complex", \
               get_real_kind_from_node (float_type_node))
               get_real_kind_from_node (float_type_node))
NAMED_CMPXCST (ISOCBINDING_DOUBLE_COMPLEX, "c_double_complex", \
NAMED_CMPXCST (ISOCBINDING_DOUBLE_COMPLEX, "c_double_complex", \
               get_real_kind_from_node (double_type_node))
               get_real_kind_from_node (double_type_node))
NAMED_CMPXCST (ISOCBINDING_LONG_DOUBLE_COMPLEX, "c_long_double_complex", \
NAMED_CMPXCST (ISOCBINDING_LONG_DOUBLE_COMPLEX, "c_long_double_complex", \
               get_real_kind_from_node (long_double_type_node))
               get_real_kind_from_node (long_double_type_node))
NAMED_LOGCST (ISOCBINDING_BOOL, "c_bool", \
NAMED_LOGCST (ISOCBINDING_BOOL, "c_bool", \
              get_int_kind_from_width (BOOL_TYPE_SIZE))
              get_int_kind_from_width (BOOL_TYPE_SIZE))
NAMED_CHARKNDCST (ISOCBINDING_CHAR, "c_char", gfc_default_character_kind)
NAMED_CHARKNDCST (ISOCBINDING_CHAR, "c_char", gfc_default_character_kind)
#ifndef NAMED_CHARCST
#ifndef NAMED_CHARCST
# define NAMED_CHARCST(a,b,c)
# define NAMED_CHARCST(a,b,c)
#endif
#endif
/* Use langhooks to deal with host to target translations.  */
/* Use langhooks to deal with host to target translations.  */
NAMED_CHARCST (ISOCBINDING_NULL_CHAR, "c_null_char", \
NAMED_CHARCST (ISOCBINDING_NULL_CHAR, "c_null_char", \
               lang_hooks.to_target_charset ('\0'))
               lang_hooks.to_target_charset ('\0'))
NAMED_CHARCST (ISOCBINDING_ALERT, "c_alert", \
NAMED_CHARCST (ISOCBINDING_ALERT, "c_alert", \
               lang_hooks.to_target_charset ('\a'))
               lang_hooks.to_target_charset ('\a'))
NAMED_CHARCST (ISOCBINDING_BACKSPACE, "c_backspace", \
NAMED_CHARCST (ISOCBINDING_BACKSPACE, "c_backspace", \
               lang_hooks.to_target_charset ('\b'))
               lang_hooks.to_target_charset ('\b'))
NAMED_CHARCST (ISOCBINDING_FORM_FEED, "c_form_feed", \
NAMED_CHARCST (ISOCBINDING_FORM_FEED, "c_form_feed", \
               lang_hooks.to_target_charset ('\f'))
               lang_hooks.to_target_charset ('\f'))
NAMED_CHARCST (ISOCBINDING_NEW_LINE, "c_new_line", \
NAMED_CHARCST (ISOCBINDING_NEW_LINE, "c_new_line", \
               lang_hooks.to_target_charset ('\n'))
               lang_hooks.to_target_charset ('\n'))
NAMED_CHARCST (ISOCBINDING_CARRIAGE_RETURN, "c_carriage_return", \
NAMED_CHARCST (ISOCBINDING_CARRIAGE_RETURN, "c_carriage_return", \
               lang_hooks.to_target_charset ('\r'))
               lang_hooks.to_target_charset ('\r'))
NAMED_CHARCST (ISOCBINDING_HORIZONTAL_TAB, "c_horizontal_tab", \
NAMED_CHARCST (ISOCBINDING_HORIZONTAL_TAB, "c_horizontal_tab", \
               lang_hooks.to_target_charset ('\t'))
               lang_hooks.to_target_charset ('\t'))
NAMED_CHARCST (ISOCBINDING_VERTICAL_TAB, "c_vertical_tab", \
NAMED_CHARCST (ISOCBINDING_VERTICAL_TAB, "c_vertical_tab", \
               lang_hooks.to_target_charset ('\v'))
               lang_hooks.to_target_charset ('\v'))
#ifndef DERIVED_TYPE
#ifndef DERIVED_TYPE
# define DERIVED_TYPE(a,b,c)
# define DERIVED_TYPE(a,b,c)
#endif
#endif
DERIVED_TYPE (ISOCBINDING_PTR, "c_ptr", \
DERIVED_TYPE (ISOCBINDING_PTR, "c_ptr", \
              get_int_kind_from_node (ptr_type_node))
              get_int_kind_from_node (ptr_type_node))
DERIVED_TYPE (ISOCBINDING_NULL_PTR, "c_null_ptr", \
DERIVED_TYPE (ISOCBINDING_NULL_PTR, "c_null_ptr", \
              get_int_kind_from_node (ptr_type_node))
              get_int_kind_from_node (ptr_type_node))
DERIVED_TYPE (ISOCBINDING_FUNPTR, "c_funptr", \
DERIVED_TYPE (ISOCBINDING_FUNPTR, "c_funptr", \
              get_int_kind_from_node (ptr_type_node))
              get_int_kind_from_node (ptr_type_node))
DERIVED_TYPE (ISOCBINDING_NULL_FUNPTR, "c_null_funptr", \
DERIVED_TYPE (ISOCBINDING_NULL_FUNPTR, "c_null_funptr", \
              get_int_kind_from_node (ptr_type_node))
              get_int_kind_from_node (ptr_type_node))
#ifndef PROCEDURE
#ifndef PROCEDURE
# define PROCEDURE(a,b)
# define PROCEDURE(a,b)
#endif
#endif
PROCEDURE (ISOCBINDING_F_POINTER, "c_f_pointer")
PROCEDURE (ISOCBINDING_F_POINTER, "c_f_pointer")
PROCEDURE (ISOCBINDING_ASSOCIATED, "c_associated")
PROCEDURE (ISOCBINDING_ASSOCIATED, "c_associated")
PROCEDURE (ISOCBINDING_LOC, "c_loc")
PROCEDURE (ISOCBINDING_LOC, "c_loc")
PROCEDURE (ISOCBINDING_FUNLOC, "c_funloc")
PROCEDURE (ISOCBINDING_FUNLOC, "c_funloc")
PROCEDURE (ISOCBINDING_F_PROCPOINTER, "c_f_procpointer")
PROCEDURE (ISOCBINDING_F_PROCPOINTER, "c_f_procpointer")
#undef NAMED_INTCST
#undef NAMED_INTCST
#undef NAMED_REALCST
#undef NAMED_REALCST
#undef NAMED_CMPXCST
#undef NAMED_CMPXCST
#undef NAMED_LOGCST
#undef NAMED_LOGCST
#undef NAMED_CHARCST
#undef NAMED_CHARCST
#undef NAMED_CHARKNDCST
#undef NAMED_CHARKNDCST
#undef DERIVED_TYPE
#undef DERIVED_TYPE
#undef PROCEDURE
#undef PROCEDURE
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.