📄 libgfortran.h
字号:
int allocate_init_flag, allocate_init_value; int locus; int separator_len; const char *separator; int mem_check; int use_stderr, all_unbuffered, default_recl; int fpu_round, fpu_precision, fpe; int sighup, sigint;}options_t;extern options_t options;internal_proto(options);/* Compile-time options that will influence the library. */typedef struct{ int warn_std; int allow_std; int pedantic; int convert;}compile_options_t;extern compile_options_t compile_options;internal_proto(compile_options);extern void init_compile_options (void);internal_proto(init_compile_options);/* Structure for statement options. */typedef struct{ const char *name; int value;}st_option;/* Runtime errors. The EOR and EOF errors are required to be negative. */typedef enum{ ERROR_FIRST = -3, /* Marker for the first error. */ ERROR_EOR = -2, ERROR_END = -1, ERROR_OK = 0, /* Indicates success, must be zero. */ ERROR_OS, /* Operating system error, more info in errno. */ ERROR_OPTION_CONFLICT, ERROR_BAD_OPTION, ERROR_MISSING_OPTION, ERROR_ALREADY_OPEN, ERROR_BAD_UNIT, ERROR_FORMAT, ERROR_BAD_ACTION, ERROR_ENDFILE, ERROR_BAD_US, ERROR_READ_VALUE, ERROR_READ_OVERFLOW, ERROR_INTERNAL, ERROR_INTERNAL_UNIT, ERROR_LAST /* Not a real error, the last error # + 1. */}error_codes;/* Flags to specify which standard/extension contains a feature. Keep them in sync with their counterparts in gcc/fortran/gfortran.h. */#define GFC_STD_LEGACY (1<<6) /* Backward compatibility. */#define GFC_STD_GNU (1<<5) /* GNU Fortran extension. */#define GFC_STD_F2003 (1<<4) /* New in F2003. *//* Note that no features were obsoleted nor deleted in F2003. */#define GFC_STD_F95 (1<<3) /* New in F95. */#define GFC_STD_F95_DEL (1<<2) /* Deleted in F95. */#define GFC_STD_F95_OBS (1<<1) /* Obsoleted in F95. */#define GFC_STD_F77 (1<<0) /* Up to and including F77. *//* Bitmasks for the various FPE that can be enabled. Keep them in sync with their counterparts in gcc/fortran/gfortran.h. */#define GFC_FPE_INVALID (1<<0)#define GFC_FPE_DENORMAL (1<<1)#define GFC_FPE_ZERO (1<<2)#define GFC_FPE_OVERFLOW (1<<3)#define GFC_FPE_UNDERFLOW (1<<4)#define GFC_FPE_PRECISION (1<<5)/* The filename and line number don't go inside the globals structure. They are set by the rest of the program and must be linked to. *//* Location of the current library call (optional). */extern unsigned line;iexport_data_proto(line);extern char *filename;iexport_data_proto(filename);/* Avoid conflicting prototypes of alloca() in system headers by using GCC's builtin alloca(). */#define gfc_alloca(x) __builtin_alloca(x)/* main.c */extern void stupid_function_name_for_static_linking (void);internal_proto(stupid_function_name_for_static_linking);struct st_parameter_common;extern void library_start (struct st_parameter_common *);internal_proto(library_start);#define library_end()extern void set_args (int, char **);export_proto(set_args);extern void get_args (int *, char ***);internal_proto(get_args);/* error.c */#define GFC_ITOA_BUF_SIZE (sizeof (GFC_INTEGER_LARGEST) * 3 + 2)#define GFC_XTOA_BUF_SIZE (sizeof (GFC_UINTEGER_LARGEST) * 2 + 1)#define GFC_OTOA_BUF_SIZE (sizeof (GFC_INTEGER_LARGEST) * 3 + 1)#define GFC_BTOA_BUF_SIZE (sizeof (GFC_INTEGER_LARGEST) * 8 + 1)extern const char *gfc_itoa (GFC_INTEGER_LARGEST, char *, size_t);internal_proto(gfc_itoa);extern const char *xtoa (GFC_UINTEGER_LARGEST, char *, size_t);internal_proto(xtoa);extern void os_error (const char *) __attribute__ ((noreturn));internal_proto(os_error);extern void show_locus (struct st_parameter_common *);internal_proto(show_locus);extern void runtime_error (const char *) __attribute__ ((noreturn));iexport_proto(runtime_error);extern void internal_error (struct st_parameter_common *, const char *) __attribute__ ((noreturn));internal_proto(internal_error);extern const char *get_oserror (void);internal_proto(get_oserror);extern void sys_exit (int) __attribute__ ((noreturn));internal_proto(sys_exit);extern int st_printf (const char *, ...) __attribute__ ((format (printf, 1, 2)));internal_proto(st_printf);extern void st_sprintf (char *, const char *, ...) __attribute__ ((format (printf, 2, 3)));internal_proto(st_sprintf);extern const char *translate_error (int);internal_proto(translate_error);extern void generate_error (struct st_parameter_common *, int, const char *);internal_proto(generate_error);/* fpu.c */extern void set_fpu (void);internal_proto(set_fpu);/* memory.c */extern void *get_mem (size_t) __attribute__ ((malloc));internal_proto(get_mem);extern void free_mem (void *);internal_proto(free_mem);extern void *internal_malloc_size (size_t);internal_proto(internal_malloc_size);extern void internal_free (void *);iexport_proto(internal_free);/* environ.c */extern int check_buffered (int);internal_proto(check_buffered);extern void init_variables (void);internal_proto(init_variables);extern void show_variables (void);internal_proto(show_variables);/* string.c */extern int find_option (struct st_parameter_common *, const char *, int, const st_option *, const char *);internal_proto(find_option);extern int fstrlen (const char *, int);internal_proto(fstrlen);extern void fstrcpy (char *, int, const char *, int);internal_proto(fstrcpy);extern void cf_strcpy (char *, int, const char *);internal_proto(cf_strcpy);/* io.c */extern void init_units (void);internal_proto(init_units);extern void close_units (void);internal_proto(close_units);/* stop.c */extern void stop_numeric (GFC_INTEGER_4);iexport_proto(stop_numeric);/* reshape_packed.c */extern void reshape_packed (char *, index_type, const char *, index_type, const char *, index_type);internal_proto(reshape_packed);/* Repacking functions. *//* ??? These aren't currently used by the compiler, though we certainly could do so. */GFC_INTEGER_4 *internal_pack_4 (gfc_array_i4 *);internal_proto(internal_pack_4);GFC_INTEGER_8 *internal_pack_8 (gfc_array_i8 *);internal_proto(internal_pack_8);#if defined HAVE_GFC_INTEGER_16GFC_INTEGER_16 *internal_pack_16 (gfc_array_i16 *);internal_proto(internal_pack_16);#endifGFC_COMPLEX_4 *internal_pack_c4 (gfc_array_c4 *);internal_proto(internal_pack_c4);GFC_COMPLEX_8 *internal_pack_c8 (gfc_array_c8 *);internal_proto(internal_pack_c8);#if defined HAVE_GFC_COMPLEX_10GFC_COMPLEX_10 *internal_pack_c10 (gfc_array_c10 *);internal_proto(internal_pack_c10);#endifextern void internal_unpack_4 (gfc_array_i4 *, const GFC_INTEGER_4 *);internal_proto(internal_unpack_4);extern void internal_unpack_8 (gfc_array_i8 *, const GFC_INTEGER_8 *);internal_proto(internal_unpack_8);#if defined HAVE_GFC_INTEGER_16extern void internal_unpack_16 (gfc_array_i16 *, const GFC_INTEGER_16 *);internal_proto(internal_unpack_16);#endifextern void internal_unpack_c4 (gfc_array_c4 *, const GFC_COMPLEX_4 *);internal_proto(internal_unpack_c4);extern void internal_unpack_c8 (gfc_array_c8 *, const GFC_COMPLEX_8 *);internal_proto(internal_unpack_c8);#if defined HAVE_GFC_COMPLEX_10extern void internal_unpack_c10 (gfc_array_c10 *, const GFC_COMPLEX_10 *);internal_proto(internal_unpack_c10);#endif/* string_intrinsics.c */extern GFC_INTEGER_4 compare_string (GFC_INTEGER_4, const char *, GFC_INTEGER_4, const char *);iexport_proto(compare_string);/* random.c */extern void random_seed (GFC_INTEGER_4 * size, gfc_array_i4 * put, gfc_array_i4 * get);iexport_proto(random_seed);/* normalize.c */extern GFC_REAL_4 normalize_r4_i4 (GFC_UINTEGER_4, GFC_UINTEGER_4);internal_proto(normalize_r4_i4);extern GFC_REAL_8 normalize_r8_i8 (GFC_UINTEGER_8, GFC_UINTEGER_8);internal_proto(normalize_r8_i8);/* size.c */typedef GFC_ARRAY_DESCRIPTOR (GFC_MAX_DIMENSIONS, void) array_t;extern index_type size0 (const array_t * array); iexport_proto(size0);#endif /* LIBGFOR_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -