[llvm] [DataLayout] Refactor parsing of i/f/v/a specifications (PR #104699)

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 18 04:23:51 PDT 2024


================
@@ -105,6 +72,155 @@ TEST(DataLayout, LayoutStringFormat) {
         FailedWithMessage("empty specification is not allowed"));
 }
 
+class DataLayoutPrimitiveSpecificationTest
+    : public DataLayoutTest,
+      public ::testing::WithParamInterface<char> {
+  char Specifier;
+
+public:
+  DataLayoutPrimitiveSpecificationTest() : Specifier(GetParam()) {}
+
+  std::string format(StringRef Str) const {
+    std::string Res = Str.str();
+    std::replace(Res.begin(), Res.end(), '!', Specifier);
+    return Res;
+  }
+};
+
+INSTANTIATE_TEST_SUITE_P(PrmitiveSpecifiers,
+                         DataLayoutPrimitiveSpecificationTest,
+                         ::testing::Values('i', 'f', 'v'));
----------------
s-barannikov wrote:

I don't know if this is the right way to do it, but it seems to work as intended.


https://github.com/llvm/llvm-project/pull/104699


More information about the llvm-commits mailing list