[llvm] [LLVM][IR] Add location tracking to LLVM IR parser (PR #155797)

via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 8 06:35:57 PDT 2025


Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,Bertik23
 <39457484+Bertik23 at users.noreply.github.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>,
Albert =?utf-8?q?Havliček?= <ahavlicek at azul.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/155797 at github.com>


================
@@ -479,4 +485,60 @@ TEST(AsmParserTest, DIExpressionBodyAtBeginningWithSlotMappingParsing) {
   ASSERT_EQ(Mapping.MetadataNodes.size(), 0u);
 }
 
+#define ASSERT_EQ_LOC(Loc1, Loc2)                                              \
+  do {                                                                         \
+    bool AreLocsEqual = Loc1.contains(Loc2) && Loc2.contains(Loc1);            \
+    LLVM_DEBUG(if (!AreLocsEqual) {                                            \
+      dbgs() << #Loc1 " location: " << Loc1.Start.Line << ":"                  \
+             << Loc1.Start.Col << " - " << Loc1.End.Line << ":"                \
+             << Loc1.End.Col << "\n";                                          \
+      dbgs() << #Loc2 " location: " << Loc2.Start.Line << ":"                  \
+             << Loc2.Start.Col << " - " << Loc2.End.Line << ":"                \
+             << Loc2.End.Col << "\n";                                          \
+    });                                                                        \
+    ASSERT_TRUE(AreLocsEqual);                                                 \
+  } while (false)
+
+TEST(AsmParserTest, ParserObjectLocations) {
+  // Expected to fail with function location starting one character later, needs
+  // a fix
----------------
Bertik23 wrote:

that was left there from a development iteration where the test was failing, removed the comment

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


More information about the llvm-commits mailing list