1 /* prefs_copyToInstance.h
2 *
3 * Copyright (C) 2013,2015-2018,2021 Paul Boersma
4 *
5 * This code is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or (at
8 * your option) any later version.
9 *
10 * This code is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 * See the GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this work. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19 /* for C++ files; see prefs.h */
20
21 #undef prefs_begin
22 #undef prefs_add_int
23 #undef prefs_add_int_with_data
24 #undef prefs_override_int
25 #undef prefs_add_integer
26 #undef prefs_add_integer_with_data
27 #undef prefs_override_integer
28 #undef prefs_add_bool
29 #undef prefs_add_bool_with_data
30 #undef prefs_override_bool
31 #undef prefs_add_double
32 #undef prefs_add_double_with_data
33 #undef prefs_override_double
34 #undef prefs_add_enum
35 #undef prefs_add_enum_with_data
36 #undef prefs_override_enum
37 #undef prefs_add_string
38 #undef prefs_add_string_with_data
39 #undef prefs_override_string
40 #undef prefs_end
41
42 #define prefs_begin(Klas) \
43 void struct##Klas :: v_copyPreferencesToInstance () { \
AArch64InstPrinter(const MCAsmInfo & MAI,const MCInstrInfo & MII,const MCRegisterInfo & MRI)44 Klas##_Parent :: v_copyPreferencesToInstance ();
45
46 #define prefs_add_int(Klas,name,version,default)
47 #define prefs_add_int_with_data(Klas,name,version,default) our p_##name = our pref_##name ();
48 #define prefs_override_int(Klas,name,version,default)
AArch64AppleInstPrinter(const MCAsmInfo & MAI,const MCInstrInfo & MII,const MCRegisterInfo & MRI)49
50 #define prefs_add_integer(Klas,name,version,default)
51 #define prefs_add_integer_with_data(Klas,name,version,default) our p_##name = our pref_##name ();
52 #define prefs_override_integer(Klas,name,version,default)
53
applyTargetSpecificCLOption(StringRef Opt)54 #define prefs_add_bool(Klas,name,version,default)
55 #define prefs_add_bool_with_data(Klas,name,version,default) our p_##name = our pref_##name ();
56 #define prefs_override_bool(Klas,name,version,default)
57
58 #define prefs_add_double(Klas,name,version,default)
59 #define prefs_add_double_with_data(Klas,name,version,default) our p_##name = our pref_##name ();
60 #define prefs_override_double(Klas,name,version,default)
61
printRegName(raw_ostream & OS,unsigned RegNo) const62 #define prefs_add_enum(Klas,name,version,enumerated,default)
63 #define prefs_add_enum_with_data(Klas,name,version,enumerated,default) our p_##name = our pref_##name ();
64 #define prefs_override_enum(Klas,name,version,enumerated,default)
65
66 #define prefs_add_string(Klas,name,version,default)
printInst(const MCInst * MI,uint64_t Address,StringRef Annot,const MCSubtargetInfo & STI,raw_ostream & O)67 #define prefs_add_string_with_data(Klas,name,version,default) str32cpy (& our p_##name [0], our pref_##name ());
68 #define prefs_override_string(Klas,name,version,default)
69
70 #define prefs_end(Klas) \
71 }
72
73 /* End of file prefs_copyToInstance.h */
74