<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Prior to the patch that added DW_TAG_label for C labels inside of functions, I have only seen DW_TAG_label inside object files compiled from assembler. I guess there that makes the same amount of sense (though I probably would have left it unspecified).<div class=""><br class=""></div><div class="">-- adrian<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On May 26, 2020, at 1:57 PM, David Blaikie <<a href="mailto:dblaikie@gmail.com" class="">dblaikie@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Any sense of the history of this? I'm guessing at some point these were emitted as subprograms rather than labels, and as subprograms it made sense to include teh prototyped=false attribute? </div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 25, 2020 at 3:00 PM Fangrui Song via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="">llvm-commits@lists.llvm.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br class="">
Author: Fangrui Song<br class="">
Date: 2020-05-24T22:24:24-07:00<br class="">
New Revision: 20e9fc55feb58dd1f766a494c530684011291ff3<br class="">
<br class="">
URL: <a href="https://github.com/llvm/llvm-project/commit/20e9fc55feb58dd1f766a494c530684011291ff3" rel="noreferrer" target="_blank" class="">https://github.com/llvm/llvm-project/commit/20e9fc55feb58dd1f766a494c530684011291ff3</a><br class="">
DIFF: <a href="https://github.com/llvm/llvm-project/commit/20e9fc55feb58dd1f766a494c530684011291ff3.diff" rel="noreferrer" target="_blank" class="">https://github.com/llvm/llvm-project/commit/20e9fc55feb58dd1f766a494c530684011291ff3.diff</a><br class="">
<br class="">
LOG: [MCDwarf] Delete unneeded DW_AT_prototyped for DW_TAG_label<br class="">
<br class="">
Added: <br class="">
<br class="">
<br class="">
Modified: <br class="">
llvm/lib/MC/MCDwarf.cpp<br class="">
llvm/test/MC/MachO/gen-dwarf.s<br class="">
<br class="">
Removed: <br class="">
<br class="">
<br class="">
<br class="">
################################################################################<br class="">
diff --git a/llvm/lib/MC/MCDwarf.cpp b/llvm/lib/MC/MCDwarf.cpp<br class="">
index 0b7fc4554018..71b8f0e28e1c 100644<br class="">
--- a/llvm/lib/MC/MCDwarf.cpp<br class="">
+++ b/llvm/lib/MC/MCDwarf.cpp<br class="">
@@ -846,7 +846,6 @@ static void EmitGenDwarfAbbrev(MCStreamer *MCOS) {<br class="">
EmitAbbrev(MCOS, dwarf::DW_AT_decl_file, dwarf::DW_FORM_data4);<br class="">
EmitAbbrev(MCOS, dwarf::DW_AT_decl_line, dwarf::DW_FORM_data4);<br class="">
EmitAbbrev(MCOS, dwarf::DW_AT_low_pc, dwarf::DW_FORM_addr);<br class="">
- EmitAbbrev(MCOS, dwarf::DW_AT_prototyped, dwarf::DW_FORM_flag);<br class="">
EmitAbbrev(MCOS, 0, 0);<br class="">
<br class="">
// DW_TAG_unspecified_parameters DIE abbrev (3).<br class="">
@@ -1087,9 +1086,6 @@ static void EmitGenDwarfInfo(MCStreamer *MCOS,<br class="">
MCSymbolRefExpr::VK_None, context);<br class="">
MCOS->emitValue(AT_low_pc, AddrSize);<br class="">
<br class="">
- // DW_AT_prototyped, a one byte flag value of 0 saying we have no prototype.<br class="">
- MCOS->emitInt8(0);<br class="">
-<br class="">
// The DW_TAG_unspecified_parameters DIE abbrev (3).<br class="">
MCOS->emitULEB128IntValue(3);<br class="">
<br class="">
<br class="">
diff --git a/llvm/test/MC/MachO/gen-dwarf.s b/llvm/test/MC/MachO/gen-dwarf.s<br class="">
index 6d39d278e818..58f8a7ccf899 100644<br class="">
--- a/llvm/test/MC/MachO/gen-dwarf.s<br class="">
+++ b/llvm/test/MC/MachO/gen-dwarf.s<br class="">
@@ -30,7 +30,6 @@ _x: .long 1<br class="">
// CHECK: DW_AT_decl_file DW_FORM_data4<br class="">
// CHECK: DW_AT_decl_line DW_FORM_data4<br class="">
// CHECK: DW_AT_low_pc DW_FORM_addr<br class="">
-// CHECK: DW_AT_prototyped DW_FORM_flag<br class="">
<br class="">
// CHECK: [3] DW_TAG_unspecified_parameters DW_CHILDREN_no<br class="">
<br class="">
@@ -53,7 +52,6 @@ _x: .long 1<br class="">
// CHECK: DW_AT_decl_file ([[FILE:".*gen-dwarf.s"]])<br class="">
// CHECK: DW_AT_decl_line (5)<br class="">
// CHECK: DW_AT_low_pc (0x0000000000000000)<br class="">
-// CHECK: DW_AT_prototyped (0x00)<br class="">
<br class="">
// CHECK: DW_TAG_unspecified_parameters<br class="">
<br class="">
@@ -64,7 +62,6 @@ _x: .long 1<br class="">
// CHECK: DW_AT_decl_file ([[FILE]])<br class="">
// CHECK: DW_AT_decl_line (9)<br class="">
// CHECK: DW_AT_low_pc (0x0000000000000007)<br class="">
-// CHECK: DW_AT_prototyped (0x00)<br class="">
<br class="">
// CHECK: DW_TAG_unspecified_parameters<br class="">
<br class="">
@@ -75,7 +72,6 @@ _x: .long 1<br class="">
// CHECK: DW_AT_decl_file ([[FILE]])<br class="">
// CHECK: DW_AT_decl_line (10)<br class="">
// CHECK: DW_AT_low_pc (0x0000000000000007)<br class="">
-// CHECK: DW_AT_prototyped (0x00)<br class="">
<br class="">
// CHECK: DW_TAG_unspecified_parameters<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
_______________________________________________<br class="">
llvm-commits mailing list<br class="">
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="">llvm-commits@lists.llvm.org</a><br class="">
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="">
</blockquote></div>
</div></blockquote></div><br class=""></div></body></html>