]>
Commit | Line | Data |
---|---|---|
3d6f7931 | 1 | /* Pragma related interfaces. |
c58b209a | 2 | Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003 |
3ef42a0c | 3 | Free Software Foundation, Inc. |
3d6f7931 | 4 | |
1322177d | 5 | This file is part of GCC. |
3d6f7931 | 6 | |
1322177d LB |
7 | GCC is free software; you can redistribute it and/or modify it under |
8 | the terms of the GNU General Public License as published by the Free | |
9 | Software Foundation; either version 2, or (at your option) any later | |
10 | version. | |
3d6f7931 | 11 | |
1322177d LB |
12 | GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
13 | WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 | for more details. | |
3d6f7931 MM |
16 | |
17 | You should have received a copy of the GNU General Public License | |
1322177d LB |
18 | along with GCC; see the file COPYING. If not, write to the Free |
19 | Software Foundation, 59 Temple Place - Suite 330, Boston, MA | |
20 | 02111-1307, USA. */ | |
3d6f7931 | 21 | |
88657302 RH |
22 | #ifndef GCC_C_PRAGMA_H |
23 | #define GCC_C_PRAGMA_H | |
f09db6e0 | 24 | |
81a75f0f NB |
25 | /* Cause the `yydebug' variable to be defined. */ |
26 | #define YYDEBUG 1 | |
27 | extern int yydebug; | |
28 | ||
81a75f0f NB |
29 | extern struct cpp_reader* parse_in; |
30 | ||
e2af664c | 31 | #ifdef HANDLE_SYSV_PRAGMA |
79c4e63f AM |
32 | #if ((defined (ASM_WEAKEN_LABEL) && defined (ASM_OUTPUT_WEAK_ALIAS)) \ |
33 | || defined (ASM_WEAKEN_DECL)) | |
daefd78b | 34 | #define HANDLE_PRAGMA_WEAK SUPPORTS_WEAK |
3d6f7931 MM |
35 | #endif |
36 | ||
e2af664c NC |
37 | /* We always support #pragma pack for SYSV pragmas. */ |
38 | #ifndef HANDLE_PRAGMA_PACK | |
39 | #define HANDLE_PRAGMA_PACK 1 | |
40 | #endif | |
41 | #endif /* HANDLE_SYSV_PRAGMA */ | |
42 | ||
43 | ||
44 | #ifdef HANDLE_PRAGMA_PACK_PUSH_POP | |
45 | /* If we are supporting #pragma pack(push... then we automatically | |
46 | support #pragma pack(<n>) */ | |
47 | #define HANDLE_PRAGMA_PACK 1 | |
e2af664c NC |
48 | #endif /* HANDLE_PRAGMA_PACK_PUSH_POP */ |
49 | ||
5055d3a3 | 50 | extern void init_pragma (void); |
f09db6e0 | 51 | |
c58b209a NB |
52 | /* Front-end wrapper for pragma registration to avoid dragging |
53 | cpplib.h in almost everywhere. */ | |
54 | extern void c_register_pragma | |
55 | PARAMS ((const char *, const char *, | |
5055d3a3 AJ |
56 | void (*) (struct cpp_reader *))); |
57 | extern void maybe_apply_pragma_weak (tree); | |
58 | extern tree maybe_apply_renaming_pragma (tree, tree); | |
59 | extern void add_to_renaming_pragma_list (tree, tree); | |
ecb0eece | 60 | |
5055d3a3 | 61 | extern int c_lex (tree *); |
81a75f0f | 62 | |
88657302 | 63 | #endif /* GCC_C_PRAGMA_H */ |