aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/libgfortran.h
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2007-05-06 22:28:31 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2007-05-06 22:28:31 +0000
commitcb13c28858b9c5c243241121206578b5f9f2827c (patch)
treeda33f84dfec782004c14205e386d8a57f79aecc9 /libgfortran/libgfortran.h
parent982533a5b24488660e53ae55cfb4e036d84d31d8 (diff)
downloadgcc-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.h22
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);