diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2007-05-06 22:28:31 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2007-05-06 22:28:31 +0000 |
commit | cb13c28858b9c5c243241121206578b5f9f2827c (patch) | |
tree | da33f84dfec782004c14205e386d8a57f79aecc9 /libgfortran/libgfortran.h | |
parent | 982533a5b24488660e53ae55cfb4e036d84d31d8 (diff) | |
download | gcc-cb13c28858b9c5c243241121206578b5f9f2827c.zip gcc-cb13c28858b9c5c243241121206578b5f9f2827c.tar.gz gcc-cb13c28858b9c5c243241121206578b5f9f2827c.tar.bz2 |
re PR fortran/31201 (Too large unit number generates wrong code)
2007-05-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31201
* runtime/error.c (runtime_error_at): New function.
(generate_error): Export this function.
* gfortran.map: Add _gfortran_generate_error and
_gfortran_runtime_error_at.
* libgfortran.h: Add comment to reference error codes in front end.
(library_start): Locate prototype with library_end macro and add
a new comment. Add prototype for runtime_error_at. Export prototype for
generate_error.
* io/lock.c (library_start): Fix check for error condition.
* io/transfer.c (data_transfer_init): Add library check.
From-SVN: r124479
Diffstat (limited to 'libgfortran/libgfortran.h')
-rw-r--r-- | libgfortran/libgfortran.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h index 3703949..bfbfbef 100644 --- a/libgfortran/libgfortran.h +++ b/libgfortran/libgfortran.h @@ -401,7 +401,9 @@ typedef struct } st_option; -/* Runtime errors. The EOR and EOF errors are required to be negative. */ +/* Runtime errors. The EOR and EOF errors are required to be negative. + These codes must be kept sychronized with their equivalents in + gcc/fortran/gfortran.h . */ typedef enum { @@ -534,17 +536,19 @@ st_parameter_common; #define IOPARM_OPEN_HAS_PAD (1 << 16) #define IOPARM_OPEN_HAS_CONVERT (1 << 17) - -/* main.c */ - -extern void stupid_function_name_for_static_linking (void); -internal_proto(stupid_function_name_for_static_linking); +/* library start function and end macro. These can be expanded if needed + in the future. cmp is st_parameter_common *cmp */ extern void library_start (st_parameter_common *); internal_proto(library_start); #define library_end() +/* main.c */ + +extern void stupid_function_name_for_static_linking (void); +internal_proto(stupid_function_name_for_static_linking); + extern void set_args (int, char **); export_proto(set_args); @@ -587,6 +591,10 @@ internal_proto(show_locus); extern void runtime_error (const char *) __attribute__ ((noreturn)); iexport_proto(runtime_error); +extern void runtime_error_at (const char *, const char *) +__attribute__ ((noreturn)); +iexport_proto(runtime_error_at); + extern void internal_error (st_parameter_common *, const char *) __attribute__ ((noreturn)); internal_proto(internal_error); @@ -602,7 +610,7 @@ extern const char *translate_error (int); internal_proto(translate_error); extern void generate_error (st_parameter_common *, int, const char *); -internal_proto(generate_error); +iexport_proto(generate_error); extern try notify_std (st_parameter_common *, int, const char *); internal_proto(notify_std); |