xref: /netbsd-src/external/gpl3/gcc.old/dist/libgcc/config/avr/libf7/libf7-constdef.h (revision 4c3eb207d36f67d31994830c0a694161fc1ca39b)
1*4c3eb207Smrg /* Copyright (C) 2019-2020 Free Software Foundation, Inc.
2*4c3eb207Smrg 
3*4c3eb207Smrg    This file is part of LIBF7, which is part of GCC.
4*4c3eb207Smrg 
5*4c3eb207Smrg    GCC is free software; you can redistribute it and/or modify it under
6*4c3eb207Smrg    the terms of the GNU General Public License as published by the Free
7*4c3eb207Smrg    Software Foundation; either version 3, or (at your option) any later
8*4c3eb207Smrg    version.
9*4c3eb207Smrg 
10*4c3eb207Smrg    GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11*4c3eb207Smrg    WARRANTY; without even the implied warranty of MERCHANTABILITY or
12*4c3eb207Smrg    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13*4c3eb207Smrg    for more details.
14*4c3eb207Smrg 
15*4c3eb207Smrg    Under Section 7 of GPL version 3, you are granted additional
16*4c3eb207Smrg    permissions described in the GCC Runtime Library Exception, version
17*4c3eb207Smrg    3.1, as published by the Free Software Foundation.
18*4c3eb207Smrg 
19*4c3eb207Smrg    You should have received a copy of the GNU General Public License and
20*4c3eb207Smrg    a copy of the GCC Runtime Library Exception along with this program;
21*4c3eb207Smrg    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
22*4c3eb207Smrg    <http://www.gnu.org/licenses/>.  */
23*4c3eb207Smrg 
24*4c3eb207Smrg #if !defined STATIC
25*4c3eb207Smrg #define STATIC /* empty */
26*4c3eb207Smrg #endif
27*4c3eb207Smrg 
28*4c3eb207Smrg #if USE_LPM
29*4c3eb207Smrg #define F7_CONST_DEF(NAME, FLAGS, M6, M5, M4, M3, M2, M1, M0, EXPO) \
30*4c3eb207Smrg   STATIC const __attribute__((__progmem__))			    \
31*4c3eb207Smrg   f7_t F7_(const_ ## NAME ## _P) =				    \
32*4c3eb207Smrg   { .flags = FLAGS, .mant = { M0, M1, M2, M3, M4, M5, M6 }, .expo = EXPO };
33*4c3eb207Smrg   #include "libf7-const.def"
34*4c3eb207Smrg #undef F7_CONST_DEF
35*4c3eb207Smrg #else
36*4c3eb207Smrg #define F7_CONST_DEF(NAME, FLAGS, M6, M5, M4, M3, M2, M1, M0, EXPO) \
37*4c3eb207Smrg   STATIC const f7_t F7_(const_ ## NAME) =			    \
38*4c3eb207Smrg   { .flags = FLAGS, .mant = { M0, M1, M2, M3, M4, M5, M6 }, .expo = EXPO };
39*4c3eb207Smrg   #include "libf7-const.def"
40*4c3eb207Smrg #undef F7_CONST_DEF
41*4c3eb207Smrg #endif // USE_LPM
42*4c3eb207Smrg 
43*4c3eb207Smrg #undef STATIC
44