59
60 #define C2_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
61 #define C2_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name),
62 #define C2_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
63 #define C2_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
64 #define C2_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
65 #define C2_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name),
66 #define C2_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
67
68 #define ARCH_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
69 #define ARCH_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
70 #define ARCH_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
71 #define ARCH_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
72 #define ARCH_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
73
74 typedef enum {
75 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_EXPERIMENTAL_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER, RUNTIME_LP64_PRODUCT_FLAG_MEMBER)
76 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER)
77 #if INCLUDE_ALL_GCS
78 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_EXPERIMENTAL_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER)
79 #endif // INCLUDE_ALL_GCS
80 #ifdef COMPILER1
81 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER, C1_PD_DEVELOP_FLAG_MEMBER, C1_PRODUCT_FLAG_MEMBER, C1_PD_PRODUCT_FLAG_MEMBER, C1_DIAGNOSTIC_FLAG_MEMBER, C1_NOTPRODUCT_FLAG_MEMBER)
82 #endif
83 #ifdef COMPILER2
84 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER, C2_PD_DEVELOP_FLAG_MEMBER, C2_PRODUCT_FLAG_MEMBER, C2_PD_PRODUCT_FLAG_MEMBER, C2_DIAGNOSTIC_FLAG_MEMBER, C2_EXPERIMENTAL_FLAG_MEMBER, C2_NOTPRODUCT_FLAG_MEMBER)
85 #endif
86 ARCH_FLAGS(ARCH_DEVELOP_FLAG_MEMBER, ARCH_PRODUCT_FLAG_MEMBER, ARCH_DIAGNOSTIC_FLAG_MEMBER, ARCH_EXPERIMENTAL_FLAG_MEMBER, ARCH_NOTPRODUCT_FLAG_MEMBER)
87 COMMANDLINEFLAG_EXT
88 NUM_CommandLineFlag
89 } CommandLineFlag;
90
91 // Construct enum of Flag_<cmdline-arg>_<type> constants.
92
93 #define FLAG_MEMBER_WITH_TYPE(flag,type) Flag_##flag##_##type
94
95 #define RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
96 #define RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type),
97 #define RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
98 #define RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
131
132 typedef enum {
133 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
134 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
135 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE,
136 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
137 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
138 RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
139 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE,
140 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE,
141 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE,
142 RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE)
143 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
144 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
145 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE,
146 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
147 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
148 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE)
149 #if INCLUDE_ALL_GCS
150 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
151 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
152 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE,
153 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
154 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
155 RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
156 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE,
157 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE,
158 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE)
159 #endif // INCLUDE_ALL_GCS
160 #ifdef COMPILER1
161 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER_WITH_TYPE,
162 C1_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
163 C1_PRODUCT_FLAG_MEMBER_WITH_TYPE,
164 C1_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
165 C1_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
166 C1_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE)
167 #endif
168 #ifdef COMPILER2
169 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER_WITH_TYPE,
170 C2_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
|
59
60 #define C2_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
61 #define C2_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name),
62 #define C2_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
63 #define C2_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
64 #define C2_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
65 #define C2_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name),
66 #define C2_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
67
68 #define ARCH_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
69 #define ARCH_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
70 #define ARCH_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
71 #define ARCH_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
72 #define ARCH_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
73
74 typedef enum {
75 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_EXPERIMENTAL_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER, RUNTIME_LP64_PRODUCT_FLAG_MEMBER)
76 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER)
77 #if INCLUDE_ALL_GCS
78 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_EXPERIMENTAL_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER)
79 SHENANDOAH_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_EXPERIMENTAL_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER)
80 #endif // INCLUDE_ALL_GCS
81 #ifdef COMPILER1
82 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER, C1_PD_DEVELOP_FLAG_MEMBER, C1_PRODUCT_FLAG_MEMBER, C1_PD_PRODUCT_FLAG_MEMBER, C1_DIAGNOSTIC_FLAG_MEMBER, C1_NOTPRODUCT_FLAG_MEMBER)
83 #endif
84 #ifdef COMPILER2
85 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER, C2_PD_DEVELOP_FLAG_MEMBER, C2_PRODUCT_FLAG_MEMBER, C2_PD_PRODUCT_FLAG_MEMBER, C2_DIAGNOSTIC_FLAG_MEMBER, C2_EXPERIMENTAL_FLAG_MEMBER, C2_NOTPRODUCT_FLAG_MEMBER)
86 #endif
87 ARCH_FLAGS(ARCH_DEVELOP_FLAG_MEMBER, ARCH_PRODUCT_FLAG_MEMBER, ARCH_DIAGNOSTIC_FLAG_MEMBER, ARCH_EXPERIMENTAL_FLAG_MEMBER, ARCH_NOTPRODUCT_FLAG_MEMBER)
88 COMMANDLINEFLAG_EXT
89 NUM_CommandLineFlag
90 } CommandLineFlag;
91
92 // Construct enum of Flag_<cmdline-arg>_<type> constants.
93
94 #define FLAG_MEMBER_WITH_TYPE(flag,type) Flag_##flag##_##type
95
96 #define RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
97 #define RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type),
98 #define RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
99 #define RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
132
133 typedef enum {
134 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
135 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
136 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE,
137 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
138 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
139 RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
140 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE,
141 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE,
142 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE,
143 RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE)
144 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
145 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
146 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE,
147 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
148 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
149 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE)
150 #if INCLUDE_ALL_GCS
151 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
152 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
153 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE,
154 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
155 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
156 RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
157 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE,
158 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE,
159 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE)
160 SHENANDOAH_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
161 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
162 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE,
163 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
164 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
165 RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
166 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE,
167 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE,
168 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE)
169 #endif // INCLUDE_ALL_GCS
170 #ifdef COMPILER1
171 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER_WITH_TYPE,
172 C1_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
173 C1_PRODUCT_FLAG_MEMBER_WITH_TYPE,
174 C1_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
175 C1_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
176 C1_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE)
177 #endif
178 #ifdef COMPILER2
179 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER_WITH_TYPE,
180 C2_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
|