@@ -80,29 +80,29 @@ typedef struct Error_Warning_ {
8080/* global variables */
8181/********************/
8282
83- extern bool __ERROR_buffer_errors ;
84- extern char * current_filename ;
83+ extern SCL_EXPRESS_EXPORT bool __ERROR_buffer_errors ;
84+ extern SCL_EXPRESS_EXPORT char * current_filename ;
8585
8686/* flag to remember whether non-warning errors have occurred */
87- extern bool ERRORoccurred ;
87+ extern SCL_EXPRESS_EXPORT bool ERRORoccurred ;
8888
8989
90- extern Error experrc ;
91- extern Error ERROR_subordinate_failed ;
92- extern Error ERROR_syntax_expecting ;
90+ extern SCL_EXPRESS_EXPORT Error experrc ;
91+ extern SCL_EXPRESS_EXPORT Error ERROR_subordinate_failed ;
92+ extern SCL_EXPRESS_EXPORT Error ERROR_syntax_expecting ;
9393
9494/* all of these are 1 if true, 0 if false switches */
9595/* for debugging fedex */
96- extern int ERRORdebugging ;
96+ extern SCL_EXPRESS_EXPORT int ERRORdebugging ;
9797/* for debugging malloc during resolution */
98- extern int malloc_debug_resolve ;
98+ extern SCL_EXPRESS_EXPORT int malloc_debug_resolve ;
9999/* for debugging yacc/lex */
100- extern int debug ;
100+ extern SCL_EXPRESS_EXPORT int debug ;
101101
102- extern struct Linked_List_ * ERRORwarnings ;
103- extern struct freelist_head ERROR_OPT_fl ;
102+ extern SCL_EXPRESS_EXPORT struct Linked_List_ * ERRORwarnings ;
103+ extern SCL_EXPRESS_EXPORT struct freelist_head ERROR_OPT_fl ;
104104
105- extern void ( * ERRORusage_function )( void );
105+ extern SCL_EXPRESS_EXPORT void ( * ERRORusage_function )( void );
106106
107107/******************************/
108108/* macro function definitions */
@@ -111,6 +111,14 @@ extern void ( *ERRORusage_function )( void );
111111#define ERROR_OPT_new () (struct Error_Warning_ *)MEM_new(&ERROR_OPT_fl)
112112#define ERROR_OPT_destroy (x ) MEM_destroy(&ERROR_OPT_fl,(Freelist *)(Generic)x)
113113
114+ /***********************/
115+ /* function prototypes */
116+ /***********************/
117+
118+ #if defined(__MSVC__ ) || defined(__BORLAND__ )
119+ extern SCL_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO ( ( void ) );
120+ extern SCL_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO ( ( void ) );
121+ #endif
114122
115123/********************/
116124/* Inline functions */
@@ -133,9 +141,10 @@ static_inline bool ERRORis_enabled( Error error ) {
133141}
134142
135143static_inline void ERRORbuffer_messages ( bool flag ) {
144+ #if !defined(__MSVC__ ) && !defined(__BORLAND__ )
136145 extern void ERROR_start_message_buffer ( void ),
137146 ERROR_flush_message_buffer ( void );
138-
147+ #endif
139148 __ERROR_buffer_errors = flag ;
140149 if ( __ERROR_buffer_errors ) {
141150 ERROR_start_message_buffer ();
@@ -145,8 +154,10 @@ static_inline void ERRORbuffer_messages( bool flag ) {
145154}
146155
147156static_inline void ERRORflush_messages ( void ) {
157+ #if !defined(__MSVC__ ) && !defined(__BORLAND__ )
148158 extern void ERROR_start_message_buffer ( void ),
149159 ERROR_flush_message_buffer ( void );
160+ #endif
150161
151162 if ( __ERROR_buffer_errors ) {
152163 ERROR_flush_message_buffer ();
@@ -158,25 +169,26 @@ static_inline void ERRORflush_messages( void ) {
158169/* function prototypes */
159170/***********************/
160171
161- extern void ERRORinitialize PROTO ( ( void ) );
162- extern void ERRORinitialize_after_LIST PROTO ( ( void ) );
163- extern void ERRORnospace PROTO ( ( void ) );
164- extern void ERRORabort PROTO ( ( int ) );
165- extern Error ERRORcreate PROTO ( ( char * , Severity ) );
166- extern void ERRORreport PROTO ( ( Error , ... ) );
172+ extern SCL_EXPRESS_EXPORT void ERRORinitialize PROTO ( ( void ) );
173+ extern SCL_EXPRESS_EXPORT void ERRORinitialize_after_LIST PROTO ( ( void ) );
174+ extern SCL_EXPRESS_EXPORT void ERRORnospace PROTO ( ( void ) );
175+ extern SCL_EXPRESS_EXPORT void ERRORabort PROTO ( ( int ) );
176+ extern SCL_EXPRESS_EXPORT Error ERRORcreate PROTO ( ( char * , Severity ) );
177+ extern SCL_EXPRESS_EXPORT void ERRORreport PROTO ( ( Error , ... ) );
178+
167179struct Symbol_ ; /* mention Symbol to avoid warning on following line */
168- extern void ERRORreport_with_symbol PROTO ( ( Error , struct Symbol_ * , ... ) );
169- extern void ERRORreport_with_line PROTO ( ( Error , int , ... ) );
170- extern void ERRORbuffer_messages PROTO ( ( bool ) );
171- extern void ERRORflush_messages PROTO ( ( void ) );
172-
173- extern void ERROR_start_message_buffer PROTO ( ( void ) );
174- extern void ERROR_flush_message_buffer PROTO ( ( void ) );
175-
176- extern void ERRORcreate_warning PROTO ( ( char * , Error ) );
177- extern void ERRORset_warning PROTO ( ( char * , int ) );
178- extern void ERRORset_all_warnings PROTO ( ( int ) );
179- extern void ERRORsafe PROTO ( ( jmp_buf env ) );
180- extern void ERRORunsafe PROTO ( ( void ) );
180+ extern SCL_EXPRESS_EXPORT void ERRORreport_with_symbol PROTO ( ( Error , struct Symbol_ * , ... ) );
181+ extern SCL_EXPRESS_EXPORT void ERRORreport_with_line PROTO ( ( Error , int , ... ) );
182+
183+ #if !defined( __MSVC__ ) && !defined( __BORLAND__ )
184+ extern SCL_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO ( ( void ) );
185+ extern SCL_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO ( ( void ) );
186+ #endif
187+
188+ extern SCL_EXPRESS_EXPORT void ERRORcreate_warning PROTO ( ( char * , Error ) );
189+ extern SCL_EXPRESS_EXPORT void ERRORset_warning PROTO ( ( char * , int ) );
190+ extern SCL_EXPRESS_EXPORT void ERRORset_all_warnings PROTO ( ( int ) );
191+ extern SCL_EXPRESS_EXPORT void ERRORsafe PROTO ( ( jmp_buf env ) );
192+ extern SCL_EXPRESS_EXPORT void ERRORunsafe PROTO ( ( void ) );
181193
182194#endif /* ERROR_H */
0 commit comments