1 | //===-- flang/unittests/Common/FastIntSetTest.cpp ---------------*- C++ -*-===// |
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | |
9 | #include "gtest/gtest.h" |
10 | #include "flang/Support/Fortran-features.h" |
11 | |
12 | namespace Fortran::common::details { |
13 | |
14 | std::string CamelCaseToLowerCaseHyphenated(std::string_view x); |
15 | |
16 | TEST(FortranFeaturesTest, CamelCaseToLowerCaseHyphenated) { |
17 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
18 | EnumToString(LanguageFeature::BackslashEscapes)), |
19 | "backslash-escapes" ); |
20 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
21 | EnumToString(LanguageFeature::OldDebugLines)), |
22 | "old-debug-lines" ); |
23 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString( |
24 | LanguageFeature::FixedFormContinuationWithColumn1Ampersand)), |
25 | "fixed-form-continuation-with-column1-ampersand" ); |
26 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
27 | EnumToString(LanguageFeature::LogicalAbbreviations)), |
28 | "logical-abbreviations" ); |
29 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
30 | EnumToString(LanguageFeature::XOROperator)), |
31 | "xor-operator" ); |
32 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
33 | EnumToString(LanguageFeature::PunctuationInNames)), |
34 | "punctuation-in-names" ); |
35 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
36 | EnumToString(LanguageFeature::OptionalFreeFormSpace)), |
37 | "optional-free-form-space" ); |
38 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
39 | EnumToString(LanguageFeature::BOZExtensions)), |
40 | "boz-extensions" ); |
41 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
42 | EnumToString(LanguageFeature::EmptyStatement)), |
43 | "empty-statement" ); |
44 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
45 | EnumToString(LanguageFeature::AlternativeNE)), |
46 | "alternative-ne" ); |
47 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
48 | EnumToString(LanguageFeature::ExecutionPartNamelist)), |
49 | "execution-part-namelist" ); |
50 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
51 | EnumToString(LanguageFeature::DECStructures)), |
52 | "dec-structures" ); |
53 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
54 | EnumToString(LanguageFeature::DoubleComplex)), |
55 | "double-complex" ); |
56 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::Byte)), |
57 | "byte" ); |
58 | EXPECT_EQ( |
59 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::StarKind)), |
60 | "star-kind" ); |
61 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
62 | EnumToString(LanguageFeature::ExponentMatchingKindParam)), |
63 | "exponent-matching-kind-param" ); |
64 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
65 | EnumToString(LanguageFeature::QuadPrecision)), |
66 | "quad-precision" ); |
67 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
68 | EnumToString(LanguageFeature::SlashInitialization)), |
69 | "slash-initialization" ); |
70 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
71 | EnumToString(LanguageFeature::TripletInArrayConstructor)), |
72 | "triplet-in-array-constructor" ); |
73 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
74 | EnumToString(LanguageFeature::MissingColons)), |
75 | "missing-colons" ); |
76 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
77 | EnumToString(LanguageFeature::SignedComplexLiteral)), |
78 | "signed-complex-literal" ); |
79 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
80 | EnumToString(LanguageFeature::OldStyleParameter)), |
81 | "old-style-parameter" ); |
82 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
83 | EnumToString(LanguageFeature::ComplexConstructor)), |
84 | "complex-constructor" ); |
85 | EXPECT_EQ( |
86 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::PercentLOC)), |
87 | "percent-loc" ); |
88 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
89 | EnumToString(LanguageFeature::SignedMultOperand)), |
90 | "signed-mult-operand" ); |
91 | EXPECT_EQ( |
92 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::FileName)), |
93 | "file-name" ); |
94 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
95 | EnumToString(LanguageFeature::Carriagecontrol)), |
96 | "carriagecontrol" ); |
97 | EXPECT_EQ( |
98 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::Convert)), |
99 | "convert" ); |
100 | EXPECT_EQ( |
101 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::Dispose)), |
102 | "dispose" ); |
103 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
104 | EnumToString(LanguageFeature::IOListLeadingComma)), |
105 | "io-list-leading-comma" ); |
106 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
107 | EnumToString(LanguageFeature::AbbreviatedEditDescriptor)), |
108 | "abbreviated-edit-descriptor" ); |
109 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
110 | EnumToString(LanguageFeature::ProgramParentheses)), |
111 | "program-parentheses" ); |
112 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
113 | EnumToString(LanguageFeature::PercentRefAndVal)), |
114 | "percent-ref-and-val" ); |
115 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
116 | EnumToString(LanguageFeature::OmitFunctionDummies)), |
117 | "omit-function-dummies" ); |
118 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
119 | EnumToString(LanguageFeature::CrayPointer)), |
120 | "cray-pointer" ); |
121 | EXPECT_EQ( |
122 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::Hollerith)), |
123 | "hollerith" ); |
124 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
125 | EnumToString(LanguageFeature::ArithmeticIF)), |
126 | "arithmetic-if" ); |
127 | EXPECT_EQ( |
128 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::Assign)), |
129 | "assign" ); |
130 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
131 | EnumToString(LanguageFeature::AssignedGOTO)), |
132 | "assigned-goto" ); |
133 | EXPECT_EQ( |
134 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::Pause)), |
135 | "pause" ); |
136 | EXPECT_EQ( |
137 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::OpenACC)), |
138 | "open-acc" ); |
139 | EXPECT_EQ( |
140 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::OpenMP)), |
141 | "open-mp" ); |
142 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::CUDA)), |
143 | "cuda" ); |
144 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
145 | EnumToString(LanguageFeature::CruftAfterAmpersand)), |
146 | "cruft-after-ampersand" ); |
147 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
148 | EnumToString(LanguageFeature::ClassicCComments)), |
149 | "classic-c-comments" ); |
150 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
151 | EnumToString(LanguageFeature::AdditionalFormats)), |
152 | "additional-formats" ); |
153 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
154 | EnumToString(LanguageFeature::BigIntLiterals)), |
155 | "big-int-literals" ); |
156 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
157 | EnumToString(LanguageFeature::RealDoControls)), |
158 | "real-do-controls" ); |
159 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
160 | EnumToString(LanguageFeature::EquivalenceNumericWithCharacter)), |
161 | "equivalence-numeric-with-character" ); |
162 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
163 | EnumToString(LanguageFeature::EquivalenceNonDefaultNumeric)), |
164 | "equivalence-non-default-numeric" ); |
165 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
166 | EnumToString(LanguageFeature::EquivalenceSameNonSequence)), |
167 | "equivalence-same-non-sequence" ); |
168 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
169 | EnumToString(LanguageFeature::AdditionalIntrinsics)), |
170 | "additional-intrinsics" ); |
171 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
172 | EnumToString(LanguageFeature::AnonymousParents)), |
173 | "anonymous-parents" ); |
174 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
175 | EnumToString(LanguageFeature::OldLabelDoEndStatements)), |
176 | "old-label-do-end-statements" ); |
177 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
178 | EnumToString(LanguageFeature::LogicalIntegerAssignment)), |
179 | "logical-integer-assignment" ); |
180 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
181 | EnumToString(LanguageFeature::EmptySourceFile)), |
182 | "empty-source-file" ); |
183 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
184 | EnumToString(LanguageFeature::ProgramReturn)), |
185 | "program-return" ); |
186 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
187 | EnumToString(LanguageFeature::ImplicitNoneTypeNever)), |
188 | "implicit-none-type-never" ); |
189 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
190 | EnumToString(LanguageFeature::ImplicitNoneTypeAlways)), |
191 | "implicit-none-type-always" ); |
192 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
193 | EnumToString(LanguageFeature::ImplicitNoneExternal)), |
194 | "implicit-none-external" ); |
195 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
196 | EnumToString(LanguageFeature::ForwardRefImplicitNone)), |
197 | "forward-ref-implicit-none" ); |
198 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
199 | EnumToString(LanguageFeature::OpenAccessAppend)), |
200 | "open-access-append" ); |
201 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
202 | EnumToString(LanguageFeature::BOZAsDefaultInteger)), |
203 | "boz-as-default-integer" ); |
204 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
205 | EnumToString(LanguageFeature::DistinguishableSpecifics)), |
206 | "distinguishable-specifics" ); |
207 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
208 | EnumToString(LanguageFeature::DefaultSave)), |
209 | "default-save" ); |
210 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
211 | EnumToString(LanguageFeature::PointerInSeqType)), |
212 | "pointer-in-seq-type" ); |
213 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
214 | EnumToString(LanguageFeature::NonCharacterFormat)), |
215 | "non-character-format" ); |
216 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
217 | EnumToString(LanguageFeature::SaveMainProgram)), |
218 | "save-main-program" ); |
219 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
220 | EnumToString(LanguageFeature::SaveBigMainProgramVariables)), |
221 | "save-big-main-program-variables" ); |
222 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
223 | EnumToString(LanguageFeature::DistinctArrayConstructorLengths)), |
224 | "distinct-array-constructor-lengths" ); |
225 | EXPECT_EQ( |
226 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::PPCVector)), |
227 | "ppc-vector" ); |
228 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
229 | EnumToString(LanguageFeature::RelaxedIntentInChecking)), |
230 | "relaxed-intent-in-checking" ); |
231 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
232 | EnumToString(LanguageFeature::ForwardRefImplicitNoneData)), |
233 | "forward-ref-implicit-none-data" ); |
234 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
235 | EnumToString(LanguageFeature::NullActualForAllocatable)), |
236 | "null-actual-for-allocatable" ); |
237 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString( |
238 | LanguageFeature::ActualIntegerConvertedToSmallerKind)), |
239 | "actual-integer-converted-to-smaller-kind" ); |
240 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
241 | EnumToString(LanguageFeature::HollerithOrCharacterAsBOZ)), |
242 | "hollerith-or-character-as-boz" ); |
243 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
244 | EnumToString(LanguageFeature::BindingAsProcedure)), |
245 | "binding-as-procedure" ); |
246 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
247 | EnumToString(LanguageFeature::StatementFunctionExtensions)), |
248 | "statement-function-extensions" ); |
249 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString( |
250 | LanguageFeature::UseGenericIntrinsicWhenSpecificDoesntMatch)), |
251 | "use-generic-intrinsic-when-specific-doesnt-match" ); |
252 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
253 | EnumToString(LanguageFeature::DataStmtExtensions)), |
254 | "data-stmt-extensions" ); |
255 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
256 | EnumToString(LanguageFeature::RedundantContiguous)), |
257 | "redundant-contiguous" ); |
258 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
259 | EnumToString(LanguageFeature::RedundantAttribute)), |
260 | "redundant-attribute" ); |
261 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
262 | EnumToString(LanguageFeature::InitBlankCommon)), |
263 | "init-blank-common" ); |
264 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
265 | EnumToString(LanguageFeature::EmptyBindCDerivedType)), |
266 | "empty-bind-c-derived-type" ); |
267 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
268 | EnumToString(LanguageFeature::MiscSourceExtensions)), |
269 | "misc-source-extensions" ); |
270 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
271 | EnumToString(LanguageFeature::AllocateToOtherLength)), |
272 | "allocate-to-other-length" ); |
273 | EXPECT_EQ( |
274 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::LongNames)), |
275 | "long-names" ); |
276 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
277 | EnumToString(LanguageFeature::IntrinsicAsSpecific)), |
278 | "intrinsic-as-specific" ); |
279 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
280 | EnumToString(LanguageFeature::BenignNameClash)), |
281 | "benign-name-clash" ); |
282 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
283 | EnumToString(LanguageFeature::BenignRedundancy)), |
284 | "benign-redundancy" ); |
285 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString( |
286 | LanguageFeature::NullMoldAllocatableComponentValue)), |
287 | "null-mold-allocatable-component-value" ); |
288 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
289 | EnumToString(LanguageFeature::NopassScalarBase)), |
290 | "nopass-scalar-base" ); |
291 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
292 | EnumToString(LanguageFeature::MiscUseExtensions)), |
293 | "misc-use-extensions" ); |
294 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
295 | EnumToString(LanguageFeature::ImpliedDoIndexScope)), |
296 | "implied-do-index-scope" ); |
297 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
298 | EnumToString(LanguageFeature::DistinctCommonSizes)), |
299 | "distinct-common-sizes" ); |
300 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
301 | EnumToString(LanguageFeature::OddIndexVariableRestrictions)), |
302 | "odd-index-variable-restrictions" ); |
303 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
304 | EnumToString(LanguageFeature::IndistinguishableSpecifics)), |
305 | "indistinguishable-specifics" ); |
306 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
307 | EnumToString(LanguageFeature::SubroutineAndFunctionSpecifics)), |
308 | "subroutine-and-function-specifics" ); |
309 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
310 | EnumToString(LanguageFeature::EmptySequenceType)), |
311 | "empty-sequence-type" ); |
312 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
313 | EnumToString(LanguageFeature::NonSequenceCrayPointee)), |
314 | "non-sequence-cray-pointee" ); |
315 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
316 | EnumToString(LanguageFeature::BranchIntoConstruct)), |
317 | "branch-into-construct" ); |
318 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
319 | EnumToString(LanguageFeature::BadBranchTarget)), |
320 | "bad-branch-target" ); |
321 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
322 | EnumToString(LanguageFeature::HollerithPolymorphic)), |
323 | "hollerith-polymorphic" ); |
324 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
325 | EnumToString(LanguageFeature::ListDirectedSize)), |
326 | "list-directed-size" ); |
327 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
328 | EnumToString(LanguageFeature::NonBindCInteroperability)), |
329 | "non-bind-c-interoperability" ); |
330 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
331 | EnumToString(LanguageFeature::CudaManaged)), |
332 | "cuda-managed" ); |
333 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
334 | EnumToString(LanguageFeature::CudaUnified)), |
335 | "cuda-unified" ); |
336 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature:: |
337 | PolymorphicActualAllocatableOrPointerToMonomorphicDummy)), |
338 | "polymorphic-actual-allocatable-or-pointer-to-monomorphic-dummy" ); |
339 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
340 | EnumToString(LanguageFeature::RelaxedPureDummy)), |
341 | "relaxed-pure-dummy" ); |
342 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString( |
343 | LanguageFeature::UndefinableAsynchronousOrVolatileActual)), |
344 | "undefinable-asynchronous-or-volatile-actual" ); |
345 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
346 | EnumToString(LanguageFeature::AutomaticInMainProgram)), |
347 | "automatic-in-main-program" ); |
348 | EXPECT_EQ( |
349 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::PrintCptr)), |
350 | "print-cptr" ); |
351 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
352 | EnumToString(LanguageFeature::SavedLocalInSpecExpr)), |
353 | "saved-local-in-spec-expr" ); |
354 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
355 | EnumToString(LanguageFeature::PrintNamelist)), |
356 | "print-namelist" ); |
357 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString( |
358 | LanguageFeature::AssumedRankPassedToNonAssumedRank)), |
359 | "assumed-rank-passed-to-non-assumed-rank" ); |
360 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
361 | EnumToString(LanguageFeature::IgnoreIrrelevantAttributes)), |
362 | "ignore-irrelevant-attributes" ); |
363 | EXPECT_EQ( |
364 | CamelCaseToLowerCaseHyphenated(EnumToString(LanguageFeature::Unsigned)), |
365 | "unsigned" ); |
366 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
367 | EnumToString(LanguageFeature::AmbiguousStructureConstructor)), |
368 | "ambiguous-structure-constructor" ); |
369 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
370 | EnumToString(LanguageFeature::ContiguousOkForSeqAssociation)), |
371 | "contiguous-ok-for-seq-association" ); |
372 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
373 | EnumToString(LanguageFeature::ForwardRefExplicitTypeDummy)), |
374 | "forward-ref-explicit-type-dummy" ); |
375 | EXPECT_EQ( |
376 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::Portability)), |
377 | "portability" ); |
378 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
379 | EnumToString(UsageWarning::PointerToUndefinable)), |
380 | "pointer-to-undefinable" ); |
381 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
382 | EnumToString(UsageWarning::NonTargetPassedToTarget)), |
383 | "non-target-passed-to-target" ); |
384 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
385 | EnumToString(UsageWarning::PointerToPossibleNoncontiguous)), |
386 | "pointer-to-possible-noncontiguous" ); |
387 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
388 | EnumToString(UsageWarning::ShortCharacterActual)), |
389 | "short-character-actual" ); |
390 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
391 | EnumToString(UsageWarning::ShortArrayActual)), |
392 | "short-array-actual" ); |
393 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
394 | EnumToString(UsageWarning::ImplicitInterfaceActual)), |
395 | "implicit-interface-actual" ); |
396 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
397 | EnumToString(UsageWarning::PolymorphicTransferArg)), |
398 | "polymorphic-transfer-arg" ); |
399 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
400 | EnumToString(UsageWarning::PointerComponentTransferArg)), |
401 | "pointer-component-transfer-arg" ); |
402 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
403 | EnumToString(UsageWarning::TransferSizePresence)), |
404 | "transfer-size-presence" ); |
405 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
406 | EnumToString(UsageWarning::F202XAllocatableBreakingChange)), |
407 | "f202-x-allocatable-breaking-change" ); |
408 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
409 | EnumToString(UsageWarning::OptionalMustBePresent)), |
410 | "optional-must-be-present" ); |
411 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
412 | EnumToString(UsageWarning::CommonBlockPadding)), |
413 | "common-block-padding" ); |
414 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
415 | EnumToString(UsageWarning::LogicalVsCBool)), |
416 | "logical-vs-c-bool" ); |
417 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
418 | EnumToString(UsageWarning::BindCCharLength)), |
419 | "bind-c-char-length" ); |
420 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
421 | EnumToString(UsageWarning::ProcDummyArgShapes)), |
422 | "proc-dummy-arg-shapes" ); |
423 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
424 | EnumToString(UsageWarning::ExternalNameConflict)), |
425 | "external-name-conflict" ); |
426 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
427 | EnumToString(UsageWarning::FoldingException)), |
428 | "folding-exception" ); |
429 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
430 | EnumToString(UsageWarning::FoldingAvoidsRuntimeCrash)), |
431 | "folding-avoids-runtime-crash" ); |
432 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
433 | EnumToString(UsageWarning::FoldingValueChecks)), |
434 | "folding-value-checks" ); |
435 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
436 | EnumToString(UsageWarning::FoldingFailure)), |
437 | "folding-failure" ); |
438 | EXPECT_EQ( |
439 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::FoldingLimit)), |
440 | "folding-limit" ); |
441 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
442 | EnumToString(UsageWarning::Interoperability)), |
443 | "interoperability" ); |
444 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
445 | EnumToString(UsageWarning::CharacterInteroperability)), |
446 | "character-interoperability" ); |
447 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::Bounds)), |
448 | "bounds" ); |
449 | EXPECT_EQ( |
450 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::Preprocessing)), |
451 | "preprocessing" ); |
452 | EXPECT_EQ( |
453 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::Scanning)), |
454 | "scanning" ); |
455 | EXPECT_EQ( |
456 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::OpenAccUsage)), |
457 | "open-acc-usage" ); |
458 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
459 | EnumToString(UsageWarning::ProcPointerCompatibility)), |
460 | "proc-pointer-compatibility" ); |
461 | EXPECT_EQ( |
462 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::VoidMold)), |
463 | "void-mold" ); |
464 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
465 | EnumToString(UsageWarning::KnownBadImplicitInterface)), |
466 | "known-bad-implicit-interface" ); |
467 | EXPECT_EQ( |
468 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::EmptyCase)), |
469 | "empty-case" ); |
470 | EXPECT_EQ( |
471 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::CaseOverflow)), |
472 | "case-overflow" ); |
473 | EXPECT_EQ( |
474 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::CUDAUsage)), |
475 | "cuda-usage" ); |
476 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
477 | EnumToString(UsageWarning::IgnoreTKRUsage)), |
478 | "ignore-tkr-usage" ); |
479 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
480 | EnumToString(UsageWarning::ExternalInterfaceMismatch)), |
481 | "external-interface-mismatch" ); |
482 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
483 | EnumToString(UsageWarning::DefinedOperatorArgs)), |
484 | "defined-operator-args" ); |
485 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::Final)), |
486 | "final" ); |
487 | EXPECT_EQ( |
488 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::ZeroDoStep)), |
489 | "zero-do-step" ); |
490 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
491 | EnumToString(UsageWarning::UnusedForallIndex)), |
492 | "unused-forall-index" ); |
493 | EXPECT_EQ( |
494 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::OpenMPUsage)), |
495 | "open-mp-usage" ); |
496 | EXPECT_EQ( |
497 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::DataLength)), |
498 | "data-length" ); |
499 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
500 | EnumToString(UsageWarning::IgnoredDirective)), |
501 | "ignored-directive" ); |
502 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
503 | EnumToString(UsageWarning::HomonymousSpecific)), |
504 | "homonymous-specific" ); |
505 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
506 | EnumToString(UsageWarning::HomonymousResult)), |
507 | "homonymous-result" ); |
508 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
509 | EnumToString(UsageWarning::IgnoredIntrinsicFunctionType)), |
510 | "ignored-intrinsic-function-type" ); |
511 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
512 | EnumToString(UsageWarning::PreviousScalarUse)), |
513 | "previous-scalar-use" ); |
514 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
515 | EnumToString(UsageWarning::RedeclaredInaccessibleComponent)), |
516 | "redeclared-inaccessible-component" ); |
517 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
518 | EnumToString(UsageWarning::ImplicitShared)), |
519 | "implicit-shared" ); |
520 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
521 | EnumToString(UsageWarning::IndexVarRedefinition)), |
522 | "index-var-redefinition" ); |
523 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
524 | EnumToString(UsageWarning::IncompatibleImplicitInterfaces)), |
525 | "incompatible-implicit-interfaces" ); |
526 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
527 | EnumToString(UsageWarning::VectorSubscriptFinalization)), |
528 | "vector-subscript-finalization" ); |
529 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
530 | EnumToString(UsageWarning::UndefinedFunctionResult)), |
531 | "undefined-function-result" ); |
532 | EXPECT_EQ( |
533 | CamelCaseToLowerCaseHyphenated(EnumToString(UsageWarning::UselessIomsg)), |
534 | "useless-iomsg" ); |
535 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
536 | EnumToString(UsageWarning::MismatchingDummyProcedure)), |
537 | "mismatching-dummy-procedure" ); |
538 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
539 | EnumToString(UsageWarning::SubscriptedEmptyArray)), |
540 | "subscripted-empty-array" ); |
541 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
542 | EnumToString(UsageWarning::UnsignedLiteralTruncation)), |
543 | "unsigned-literal-truncation" ); |
544 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString( |
545 | UsageWarning::CompatibleDeclarationsFromDistinctModules)), |
546 | "compatible-declarations-from-distinct-modules" ); |
547 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString( |
548 | UsageWarning::NullActualForDefaultIntentAllocatable)), |
549 | "null-actual-for-default-intent-allocatable" ); |
550 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated(EnumToString( |
551 | UsageWarning::UseAssociationIntoSameNameSubprogram)), |
552 | "use-association-into-same-name-subprogram" ); |
553 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
554 | EnumToString(UsageWarning::HostAssociatedIntentOutInSpecExpr)), |
555 | "host-associated-intent-out-in-spec-expr" ); |
556 | EXPECT_EQ(CamelCaseToLowerCaseHyphenated( |
557 | EnumToString(UsageWarning::NonVolatilePointerToVolatile)), |
558 | "non-volatile-pointer-to-volatile" ); |
559 | } |
560 | |
561 | } // namespace Fortran::common::details |
562 | |