libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / config / vxworks / _yvals-wrapper.h
blobe7b84c2174dd577eef0f920fd779228dce4f184f
1 /* This file is part of GCC.
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.
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.
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.
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/>. */
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.
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. */
29 #include <_vxworks-versions.h>
31 #if _VXWORKS_MAJOR_GE(7) && defined(__cplusplus)
33 #include <_yvals.h>
35 #pragma push_macro("__cplusplus")
36 #undef __cplusplus
37 #include_next __HEADER_TO_WRAP
38 #pragma pop_macro("__cplusplus")
40 #else
42 #include_next __HEADER_TO_WRAP
44 #endif