xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/vxworks/_yvals-wrapper.h (revision 4c3eb207d36f67d31994830c0a694161fc1ca39b)
1 /* This file is part of GCC.
2 
3 GCC is free software; you can redistribute it and/or modify it under
4 the terms of the GNU General Public License as published by the Free
5 Software Foundation; either version 3, or (at your option) any later
6 version.
7 
8 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
9 WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
11 for more details.
12 
13 Under Section 7 of GPL version 3, you are granted additional
14 permissions described in the GCC Runtime Library Exception, version
15 3.1, as published by the Free Software Foundation.
16 
17 You should have received a copy of the GNU General Public License and
18 a copy of the GCC Runtime Library Exception along with this program;
19 see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
20 <http://www.gnu.org/licenses/>.  */
21 
22 /* The VxWorks 7 environment for C++ is based on a Dinkumware toolchain,
23    where quite a few configuration parameters are exposed in a yvals.h header
24    file which needs to be included before other standard headers.
25 
26    This header file provides a wrapper facility to achieve this in addition
27    to the common requirement to include vxWorks.h before anything else.  */
28 
29 #include <_vxworks-versions.h>
30 
31 #if _VXWORKS_MAJOR_GE(7) && defined(__cplusplus)
32 
33 #include <_yvals.h>
34 
35 #pragma push_macro("__cplusplus")
36 #undef __cplusplus
37 #include_next __HEADER_TO_WRAP
38 #pragma pop_macro("__cplusplus")
39 
40 #else
41 
42 #include_next __HEADER_TO_WRAP
43 
44 #endif
45