<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1018435775;
        mso-list-type:hybrid;
        mso-list-template-ids:-1943365700 -999799424 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1
        {mso-list-id:2146970051;
        mso-list-type:hybrid;
        mso-list-template-ids:-937654132 2036235772 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">> Also, any users would have to do the same change so…<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I completely don’t understand that comment.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The risk is not just to you, but to anyone building debug-mode code that might be affected by the incorrect constants; those people would have to rebuild their
 code with a corrected compiler, and we won’t actually know-for-sure until we have a reasonably settled draft of DWARF 5 to look at—a prospect which is at least several months away.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Is Apple going to release a compiler in the interim?  Is LLVM going to release 3.5 before DWARF 5 is sufficiently settled?  (I would not bet the farm on either
 side of that one.)  If the numbers change are you okay with users in the real world having bad debug info?  If it’s not obvious, I am definitely not okay with it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">--paulr<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Eric Christopher [mailto:echristo@gmail.com]
<br>
<b>Sent:</b> Wednesday, December 18, 2013 3:40 PM<br>
<b>To:</b> Adrian Prantl; Robinson, Paul; llvm-commits@cs.uiuc.edu<br>
<b>Subject:</b> Re: [llvm] r197611 - Pull in a couple of new constants from the upcoming DWARF 5 standard.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Also, any users would have to do the same change so...<o:p></o:p></p>
<div>
<p class="MsoNormal">On Wed Dec 18 2013 at 3:23:43 PM, Adrian Prantl <<a href="mailto:aprantl@apple.com">aprantl@apple.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">I’m aware of the risk, but I decided it was worth taking it :-)<br>
Eric and I discussed introducing temporary constants in the user namespace for the ref-qualifiers until the standard is official, but then we would definitely have to change it once the spec is finalized. By doing it this way, we only have to change it, if
 it really were to be changed in the spec.<br>
<br>
-- adrian<br>
<br>
On Dec 18, 2013, at 15:15, Robinson, Paul <<a href="mailto:Paul_Robinson@playstation.sony.com" target="_blank">Paul_Robinson@playstation.sony.com</a>> wrote:<br>
<br>
> You know these are tentative, not definitive, until DWARF5<br>
> is actually published... there is a small but non-zero risk<br>
> that they'll change in the meantime (it has happened before).<br>
> --paulr<br>
><br>
>> -----Original Message-----<br>
>> From: <a href="mailto:llvm-commits-bounces@cs.uiuc.edu" target="_blank">llvm-commits-bounces@cs.uiuc.edu</a> [mailto:<a href="mailto:llvm-commits-" target="_blank">llvm-commits-</a><br>
>> <a href="mailto:bounces@cs.uiuc.edu" target="_blank">bounces@cs.uiuc.edu</a>] On Behalf Of Adrian Prantl<br>
>> Sent: Wednesday, December 18, 2013 1:48 PM<br>
>> To: <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
>> Subject: [llvm] r197611 - Pull in a couple of new constants from the<br>
>> upcoming DWARF 5 standard.<br>
>><br>
>> Author: adrian<br>
>> Date: Wed Dec 18 15:48:14 2013<br>
>> New Revision: 197611<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=197611&view=rev" target="_blank">
http://llvm.org/viewvc/llvm-project?rev=197611&view=rev</a><br>
>> Log:<br>
>> Pull in a couple of new constants from the upcoming DWARF 5 standard.<br>
>><br>
>> Modified:<br>
>>    llvm/trunk/include/llvm/Support/Dwarf.h<br>
>>    llvm/trunk/lib/Support/Dwarf.cpp<br>
>><br>
>> Modified: llvm/trunk/include/llvm/Support/Dwarf.h<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-" target="_blank">http://llvm.org/viewvc/llvm-</a><br>
>> project/llvm/trunk/include/llvm/Support/Dwarf.h?rev=197611&r1=197610&r2=<br>
>> 197611&view=diff<br>
>> ========================================================================<br>
>> ======<br>
>> --- llvm/trunk/include/llvm/Support/Dwarf.h (original)<br>
>> +++ llvm/trunk/include/llvm/Support/Dwarf.h Wed Dec 18 15:48:14 2013<br>
>> @@ -41,7 +41,7 @@ namespace dwarf {<br>
>><br>
>> //===------------------------------------------------------------------<br>
>> ----===//<br>
>> // Dwarf constants as gleaned from the DWARF Debugging Information<br>
>> Format V.4<br>
>> -// reference manual <a href="http://dwarf.freestandards.org" target="_blank">
http://dwarf.freestandards.org</a>.<br>
>> +// reference manual <a href="http://www.dwarfstd.org/" target="_blank">http://www.dwarfstd.org/</a>.<br>
>> //<br>
>><br>
>> // Do not mix the following two enumerations sets.  DW_TAG_invalid<br>
>> changes the<br>
>> @@ -129,6 +129,12 @@ enum Tag LLVM_ENUM_INT_TYPE(uint16_t) {<br>
>>   DW_TAG_type_unit = 0x41,<br>
>>   DW_TAG_rvalue_reference_type = 0x42,<br>
>>   DW_TAG_template_alias = 0x43,<br>
>> +<br>
>> +  // New in DWARF 5:<br>
>> +  DW_TAG_coarray_type = 0x44,<br>
>> +  DW_TAG_generic_subrange = 0x45,<br>
>> +  DW_TAG_dynamic_type = 0x46,<br>
>> +<br>
>>   DW_TAG_MIPS_loop = 0x4081,<br>
>>   DW_TAG_format_label = 0x4101,<br>
>>   DW_TAG_function_template = 0x4102,<br>
>> @@ -264,6 +270,18 @@ enum Attribute LLVM_ENUM_INT_TYPE(uint16<br>
>>   DW_AT_enum_class = 0x6d,<br>
>>   DW_AT_linkage_name = 0x6e,<br>
>><br>
>> +  // New in DWARF 5:<br>
>> +  DW_AT_string_length_bit_size = 0x6f,<br>
>> +  DW_AT_string_length_byte_size = 0x70,<br>
>> +  DW_AT_rank = 0x71,<br>
>> +  DW_AT_str_offsets_base = 0x72,<br>
>> +  DW_AT_addr_base = 0x73,<br>
>> +  DW_AT_ranges_base = 0x74,<br>
>> +  DW_AT_dwo_id = 0x75,<br>
>> +  DW_AT_dwo_name = 0x76,<br>
>> +  DW_AT_reference = 0x77,<br>
>> +  DW_AT_rvalue_reference = 0x78,<br>
>> +<br>
>>   DW_AT_lo_user = 0x2000,<br>
>>   DW_AT_hi_user = 0x3fff,<br>
>><br>
>> @@ -605,7 +623,16 @@ enum SourceLanguage {<br>
>>   DW_LANG_ObjC_plus_plus = 0x0011,<br>
>>   DW_LANG_UPC = 0x0012,<br>
>>   DW_LANG_D = 0x0013,<br>
>> +  // New in DWARF 5:<br>
>>   DW_LANG_Python = 0x0014,<br>
>> +  DW_LANG_OpenCL = 0x0015,<br>
>> +  DW_LANG_Go = 0x0016,<br>
>> +  DW_LANG_Modula3 = 0x0017,<br>
>> +  DW_LANG_Haskell = 0x0018,<br>
>> +  DW_LANG_C_plus_plus_03 = 0x0019,<br>
>> +  DW_LANG_C_plus_plus_11 = 0x001a,<br>
>> +  DW_LANG_OCaml = 0x001b,<br>
>> +<br>
>>   DW_LANG_lo_user = 0x8000,<br>
>>   DW_LANG_Mips_Assembler = 0x8001,<br>
>>   DW_LANG_hi_user = 0xffff<br>
>><br>
>> Modified: llvm/trunk/lib/Support/Dwarf.cpp<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-" target="_blank">http://llvm.org/viewvc/llvm-</a><br>
>> project/llvm/trunk/lib/Support/Dwarf.cpp?rev=197611&r1=197610&r2=197611&<br>
>> view=diff<br>
>> ========================================================================<br>
>> ======<br>
>> --- llvm/trunk/lib/Support/Dwarf.cpp (original)<br>
>> +++ llvm/trunk/lib/Support/Dwarf.cpp Wed Dec 18 15:48:14 2013<br>
>> @@ -84,6 +84,9 @@ const char *llvm::dwarf::TagString(unsig<br>
>>   case DW_TAG_arg_variable:              return "DW_TAG_arg_variable";<br>
>>   case DW_TAG_rvalue_reference_type:     return<br>
>> "DW_TAG_rvalue_reference_type";<br>
>>   case DW_TAG_template_alias:            return<br>
>> "DW_TAG_template_alias";<br>
>> +  case DW_TAG_coarray_type:              return "DW_TAG_coarray_type";<br>
>> +  case DW_TAG_generic_subrange:          return<br>
>> "DW_TAG_generic_subrange";<br>
>> +  case DW_TAG_dynamic_type:              return<br>
>> "DW_TAG_generic_subrange";<br>
>>   case DW_TAG_MIPS_loop:                 return "DW_TAG_MIPS_loop";<br>
>>   case DW_TAG_type_unit:                 return "DW_TAG_type_unit";<br>
>>   case DW_TAG_format_label:              return "DW_TAG_format_label";<br>
>> @@ -206,6 +209,16 @@ const char *llvm::dwarf::AttributeString<br>
>>   case DW_AT_const_expr:                 return "DW_AT_const_expr";<br>
>>   case DW_AT_enum_class:                 return "DW_AT_enum_class";<br>
>>   case DW_AT_linkage_name:               return "DW_AT_linkage_name";<br>
>> +  case DW_AT_string_length_bit_size:     return<br>
>> "DW_AT_string_length_bit_size";<br>
>> +  case DW_AT_string_length_byte_size:    return<br>
>> "DW_AT_string_length_byte_size";<br>
>> +  case DW_AT_rank:                       return "DW_AT_rank";<br>
>> +  case DW_AT_str_offsets_base:           return<br>
>> "DW_AT_str_offsets_base";<br>
>> +  case DW_AT_addr_base:                  return "DW_AT_addr_base";<br>
>> +  case DW_AT_ranges_base:                return "DW_AT_ranges_base";<br>
>> +  case DW_AT_dwo_id:                     return "DW_AT_dwo_id";<br>
>> +  case DW_AT_dwo_name:                   return "DW_AT_dwo_name";<br>
>> +  case DW_AT_reference:                  return "DW_AT_reference";<br>
>> +  case DW_AT_rvalue_reference:           return<br>
>> "DW_AT_rvalue_reference";<br>
>>   case DW_AT_MIPS_loop_begin:            return<br>
>> "DW_AT_MIPS_loop_begin";<br>
>>   case DW_AT_MIPS_tail_loop_begin:       return<br>
>> "DW_AT_MIPS_tail_loop_begin";<br>
>>   case DW_AT_MIPS_epilog_begin:          return<br>
>> "DW_AT_MIPS_epilog_begin";<br>
>> @@ -576,6 +589,14 @@ const char *llvm::dwarf::LanguageString(<br>
>>   case DW_LANG_ObjC_plus_plus:           return<br>
>> "DW_LANG_ObjC_plus_plus";<br>
>>   case DW_LANG_UPC:                      return "DW_LANG_UPC";<br>
>>   case DW_LANG_D:                        return "DW_LANG_D";<br>
>> +  case DW_LANG_Python:                   return "DW_LANG_Python";<br>
>> +  case DW_LANG_OpenCL:                   return "DW_LANG_OpenCL";<br>
>> +  case DW_LANG_Go:                       return "DW_LANG_Go";<br>
>> +  case DW_LANG_Modula3:                  return "DW_LANG_Modula3";<br>
>> +  case DW_LANG_Haskell:                  return "DW_LANG_Haskell";<br>
>> +  case DW_LANG_C_plus_plus_03:           return<br>
>> "DW_LANG_C_plus_plus_03";<br>
>> +  case DW_LANG_C_plus_plus_11:           return<br>
>> "DW_LANG_C_plus_plus_11";<br>
>> +  case DW_LANG_OCaml:                    return "DW_LANG_OCaml";<br>
>>   case DW_LANG_lo_user:                  return "DW_LANG_lo_user";<br>
>>   case DW_LANG_hi_user:                  return "DW_LANG_hi_user";<br>
>>   }<br>
>><br>
>><br>
>> _______________________________________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
><br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</body>
</html>