Scott Linder
354944d675
[DebugInfo] Fully implement DWARF issue 180201.1 ( #149226 )
...
Finish making LLVM's implementation of `DW_LNCT_LLVM_source` conform to
the final accepted version of `DW_LNCT_source` from
https://dwarfstd.org/issues/180201.1.html
This is effectively a continuation of a few commits which have moved in
this direction already, including:
* c9cb4fc761cd7 [DebugInfo] Store optional DIFile::Source as pointer
* 87e22bdd2bd6d Allow for mixing source/no-source DIFiles in one CU
This patch:
* Teaches LLParser that there is a distinction between an empty and an
absent "source:" field on DIFile.
* Makes printing the "source:" field in AsmWriter conditional on it
being present, instead of being conditional on it being non-empty.
* Teaches MC to map an empty-but-present source field to "\n" (which is
ambiguous, making the source strings "" and "\n" indistinguishable, but
that's what the DWARF issue specifies).
Add a test for round-tripping an empty source field through
assembler/bitcode.
Extend the test for the actual DWARF generation so it covers all of the
cases (absent, present-but-empty,
present-and-ambiguously-single-newline, present).
2025-07-21 18:42:21 -04:00
..
2025-06-24 12:32:50 +01:00
2015-09-16 05:34:32 +00:00
2017-08-30 18:06:51 +00:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-12-02 09:42:34 -08:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2020-02-10 15:57:56 -06:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2023-07-19 19:59:13 -07:00
2022-10-12 12:49:17 +02:00
2023-11-06 15:08:15 +00:00
2024-11-19 07:10:36 +00:00
2025-03-14 15:50:49 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2024-06-14 15:07:27 +01:00
2022-12-13 16:08:09 +01:00
2024-07-12 09:42:30 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2025-07-04 10:44:35 +02:00
2024-10-28 11:34:57 -04:00
2025-05-12 23:32:40 -04:00
2020-02-10 15:57:56 -06:00
2022-12-02 09:42:34 -08:00
2022-12-02 09:42:34 -08:00
2022-12-02 09:42:34 -08:00
2023-06-27 20:53:47 -04:00
2024-01-24 06:44:03 -08:00
2024-09-24 09:42:23 -04:00
2022-12-13 16:08:09 +01:00
2021-09-04 15:52:43 -07:00
2025-05-20 14:53:15 +02:00
2021-05-24 19:43:40 +02:00
2025-06-13 22:48:29 +02:00
2025-05-09 10:05:38 -04:00
2025-03-14 15:50:49 +00:00
2021-05-24 19:43:40 +02:00
2025-03-14 15:50:49 +00:00
2023-11-15 16:18:43 -05:00
2023-10-16 12:17:24 +02:00
2024-06-14 15:07:27 +01:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2022-12-02 09:42:34 -08:00
2023-05-10 03:06:38 +00:00
2021-10-31 09:49:10 -04:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2021-05-24 19:43:40 +02:00
2021-10-31 09:49:10 -04:00
2024-05-01 14:08:58 -07:00
2022-12-01 21:25:59 +01:00
2025-03-14 15:50:49 +00:00
2023-06-16 00:49:59 +02:00
2025-06-24 12:32:50 +01:00
2025-06-24 12:32:50 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2025-03-14 15:50:49 +00:00
2022-12-13 16:08:09 +01:00
2025-04-24 21:49:55 +02:00
2021-05-24 19:43:40 +02:00
2021-05-24 19:43:40 +02:00
2025-03-14 15:50:49 +00:00
2024-06-14 15:07:27 +01:00
2018-11-28 21:14:32 +00:00
2025-03-14 15:50:49 +00:00
2024-02-06 13:02:38 -08:00
2024-02-06 13:02:38 -08:00
2022-12-13 16:08:09 +01:00
2021-10-31 09:49:10 -04:00
2018-05-09 02:40:45 +00:00
2024-06-14 15:07:27 +01:00
2022-12-13 16:08:09 +01:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2023-10-16 12:17:24 +02:00
2020-02-13 13:17:42 -06:00
2025-07-21 18:42:21 -04:00
2022-12-13 16:08:09 +01:00
2025-05-12 23:03:18 -04:00
2023-07-12 12:03:44 +02:00
2023-06-16 00:49:59 +02:00
2023-11-11 19:43:14 +00:00
2020-02-10 15:57:56 -06:00
2022-07-20 13:57:11 -04:00
2019-12-24 15:57:33 -08:00
2024-06-14 15:07:27 +01:00
2025-03-14 15:50:49 +00:00
2022-12-09 01:04:45 +03:00
2025-03-14 15:50:49 +00:00
2022-12-13 16:08:09 +01:00
2017-09-11 22:59:45 +00:00
2024-01-16 17:01:01 -08:00
2024-01-16 17:01:01 -08:00
2024-02-06 13:02:38 -08:00
2025-03-06 12:30:05 +01:00
2025-06-11 13:56:30 +01:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2022-12-02 09:42:34 -08:00
2025-03-07 14:23:05 -08:00
2024-10-14 09:27:55 -05:00
2020-08-17 21:42:00 -07:00
2023-10-16 12:17:24 +02:00
2022-02-01 11:18:19 -05:00
2022-12-13 16:08:09 +01:00
2023-07-12 12:03:44 +02:00
2025-03-14 15:50:49 +00:00
2024-01-16 17:01:01 -08:00
2022-12-13 16:08:09 +01:00
2025-03-14 15:50:49 +00:00