00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef GCC_C_PRAGMA_H
00023 #define GCC_C_PRAGMA_H
00024
00025 #include <cpplib.h>
00026
00027
00028
00029 typedef enum pragma_kind {
00030 PRAGMA_NONE = 0,
00031
00032 PRAGMA_OMP_ATOMIC,
00033 PRAGMA_OMP_BARRIER,
00034 PRAGMA_OMP_CRITICAL,
00035 PRAGMA_OMP_FLUSH,
00036 PRAGMA_OMP_FOR,
00037 PRAGMA_OMP_MASTER,
00038 PRAGMA_OMP_ORDERED,
00039 PRAGMA_OMP_PARALLEL,
00040 PRAGMA_OMP_PARALLEL_FOR,
00041 PRAGMA_OMP_PARALLEL_SECTIONS,
00042 PRAGMA_OMP_SECTION,
00043 PRAGMA_OMP_SECTIONS,
00044 PRAGMA_OMP_SINGLE,
00045 PRAGMA_OMP_THREADPRIVATE,
00046
00047 PRAGMA_GCC_PCH_PREPROCESS,
00048
00049 PRAGMA_FIRST_EXTERNAL
00050 } pragma_kind;
00051
00052
00053 #define YYDEBUG 1
00054 extern int yydebug;
00055
00056 extern struct cpp_reader* parse_in;
00057
00058 #define HANDLE_PRAGMA_WEAK SUPPORTS_WEAK
00059
00060 #ifdef HANDLE_SYSV_PRAGMA
00061
00062 #ifndef HANDLE_PRAGMA_PACK
00063 #define HANDLE_PRAGMA_PACK 1
00064 #endif
00065 #endif
00066
00067
00068 #ifdef HANDLE_PRAGMA_PACK_PUSH_POP
00069
00070
00071 #define HANDLE_PRAGMA_PACK 1
00072 #endif
00073
00074
00075
00076
00077 #define HANDLE_PRAGMA_VISIBILITY 1
00078 extern void push_visibility (const char *);
00079 extern void pop_visibility (void);
00080
00081 extern void init_pragma (void);
00082
00083
00084 typedef void (*pragma_handler)(struct cpp_reader *);
00085 extern void c_register_pragma (const char *, const char *, pragma_handler);
00086 extern void c_register_pragma_with_expansion (const char *, const char *,
00087 pragma_handler);
00088 extern void c_invoke_pragma_handler (unsigned int);
00089
00090 extern void maybe_apply_pragma_weak (tree);
00091 extern void maybe_apply_pending_pragma_weaks (void);
00092 extern tree maybe_apply_renaming_pragma (tree, tree);
00093 extern void add_to_renaming_pragma_list (tree, tree);
00094
00095 extern enum cpp_ttype pragma_lex (tree *);
00096
00097
00098
00099
00100 extern enum cpp_ttype c_lex_with_flags (tree *, location_t *, unsigned char *);
00101
00102
00103
00104
00105
00106 extern int c_lex_string_translate;
00107
00108
00109
00110 extern bool c_lex_return_raw_strings;
00111
00112 #endif