72 #define C2_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), |
72 #define C2_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), |
73 #define C2_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), |
73 #define C2_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), |
74 #endif |
74 #endif |
75 |
75 |
76 typedef enum { |
76 typedef enum { |
77 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, |
77 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_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER, RUNTIME_LP64_PRODUCT_FLAG_MEMBER) |
78 RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, |
78 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) |
79 RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, |
79 #ifndef KERNEL |
80 RUNTIME_PRODUCT_RW_FLAG_MEMBER, |
80 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_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER) |
81 RUNTIME_LP64_PRODUCT_FLAG_MEMBER) |
81 #endif |
82 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, |
|
83 RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, |
|
84 RUNTIME_NOTPRODUCT_FLAG_MEMBER) |
|
85 #ifdef COMPILER1 |
82 #ifdef COMPILER1 |
86 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER, C1_PD_DEVELOP_FLAG_MEMBER, C1_PRODUCT_FLAG_MEMBER, C1_PD_PRODUCT_FLAG_MEMBER, |
83 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER, C1_PD_DEVELOP_FLAG_MEMBER, C1_PRODUCT_FLAG_MEMBER, C1_PD_PRODUCT_FLAG_MEMBER, C1_NOTPRODUCT_FLAG_MEMBER) |
87 C1_NOTPRODUCT_FLAG_MEMBER) |
|
88 #endif |
84 #endif |
89 #ifdef COMPILER2 |
85 #ifdef COMPILER2 |
90 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER, C2_PD_DEVELOP_FLAG_MEMBER, C2_PRODUCT_FLAG_MEMBER, C2_PD_PRODUCT_FLAG_MEMBER, |
86 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_NOTPRODUCT_FLAG_MEMBER) |
91 C2_DIAGNOSTIC_FLAG_MEMBER, C2_NOTPRODUCT_FLAG_MEMBER) |
|
92 #endif |
87 #endif |
93 NUM_CommandLineFlag |
88 NUM_CommandLineFlag |
94 } CommandLineFlag; |
89 } CommandLineFlag; |
95 |
90 |
96 // Construct enum of Flag_<cmdline-arg>_<type> constants. |
91 // Construct enum of Flag_<cmdline-arg>_<type> constants. |
142 #define C2_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), |
137 #define C2_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), |
143 #define C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), |
138 #define C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), |
144 #endif |
139 #endif |
145 |
140 |
146 typedef enum { |
141 typedef enum { |
147 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE, RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
142 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
148 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
143 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
|
144 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
|
145 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
149 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, |
146 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, |
150 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, |
147 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, |
151 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE, |
148 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE, |
152 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE, |
149 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE, |
153 RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE) |
150 RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE) |
154 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE, RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
151 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
155 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
152 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
156 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, |
153 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
157 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE) |
154 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
|
155 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, |
|
156 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE) |
|
157 #ifndef KERNEL |
|
158 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
|
159 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
|
160 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
|
161 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
|
162 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, |
|
163 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, |
|
164 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE, |
|
165 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE) |
|
166 #endif // KERNEL |
158 #ifdef COMPILER1 |
167 #ifdef COMPILER1 |
159 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER_WITH_TYPE, C1_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, C1_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
168 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
160 C1_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, C1_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE) |
169 C1_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
|
170 C1_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
|
171 C1_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
|
172 C1_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE) |
161 #endif |
173 #endif |
162 #ifdef COMPILER2 |
174 #ifdef COMPILER2 |
163 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER_WITH_TYPE, C2_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, C2_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
175 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
164 C2_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, C2_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE) |
176 C2_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, |
|
177 C2_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
|
178 C2_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, |
|
179 C2_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, |
|
180 C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE) |
165 #endif |
181 #endif |
166 NUM_CommandLineFlagWithType |
182 NUM_CommandLineFlagWithType |
167 } CommandLineFlagWithType; |
183 } CommandLineFlagWithType; |
168 |
184 |
169 #define FLAG_IS_DEFAULT(name) (CommandLineFlagsEx::is_default(FLAG_MEMBER(name))) |
185 #define FLAG_IS_DEFAULT(name) (CommandLineFlagsEx::is_default(FLAG_MEMBER(name))) |