diff mbox series

Make -gcolumn-info the default

Message ID 20171023073313.GA14653@tucnak
State New
Headers show
Series Make -gcolumn-info the default | expand

Commit Message

Jakub Jelinek Oct. 23, 2017, 7:33 a.m. UTC
Hi!

When -gcolumn-info was added back in February, it was too late in the
release cycle to make it the default, but I think now is the good time
to do it for GCC8.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2017-10-23  Jakub Jelinek  <jakub@redhat.com>

	* common.opt (gcolumn-info): Enable by default.
	* doc/invoke.texi (gcolumn-info): Document new default.

	* lib/scanasm.exp (dg-function-on-line): Accept optional column info.
	* gcc.dg/debug/dwarf2/pr53948.c: Likewise.
	* g++.dg/debug/dwarf2/pr77363.C: Likewise.
	* gcc.dg/debug/dwarf2/asm-line1.c: Add -gno-column-info to dg-options.
	* gcc.dg/debug/dwarf2/discriminator.c: Likewise.
	* g++.dg/debug/dwarf2/typedef6.C: Likewise.


	Jakub

Comments

Jason Merrill Oct. 23, 2017, 1:46 p.m. UTC | #1
On Mon, Oct 23, 2017 at 3:33 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> Hi!
>
> When -gcolumn-info was added back in February, it was too late in the
> release cycle to make it the default, but I think now is the good time
> to do it for GCC8.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

Makes sense to me.
Pedro Alves Oct. 23, 2017, 2:03 p.m. UTC | #2
On 10/23/2017 02:46 PM, Jason Merrill wrote:
> On Mon, Oct 23, 2017 at 3:33 AM, Jakub Jelinek <jakub@redhat.com> wrote:
>> Hi!
>>
>> When -gcolumn-info was added back in February, it was too late in the
>> release cycle to make it the default, but I think now is the good time
>> to do it for GCC8.
>>
>> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
> 
> Makes sense to me.

+1 from me, FWIW.

Thanks,
Pedro Alves
Richard Biener Oct. 24, 2017, 8:33 a.m. UTC | #3
On Mon, Oct 23, 2017 at 4:03 PM, Pedro Alves <palves@redhat.com> wrote:
> On 10/23/2017 02:46 PM, Jason Merrill wrote:
>> On Mon, Oct 23, 2017 at 3:33 AM, Jakub Jelinek <jakub@redhat.com> wrote:
>>> Hi!
>>>
>>> When -gcolumn-info was added back in February, it was too late in the
>>> release cycle to make it the default, but I think now is the good time
>>> to do it for GCC8.
>>>
>>> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
>>
>> Makes sense to me.
>
> +1 from me, FWIW.

Please add some changes.html blurb.

Richard.

> Thanks,
> Pedro Alves
>
diff mbox series

Patch

--- gcc/common.opt.jj	2017-10-20 16:02:58.000000000 +0200
+++ gcc/common.opt	2017-10-20 16:54:04.522033739 +0200
@@ -2873,7 +2873,7 @@  Common Driver JoinedOrMissing Negative(g
 Generate debug information in COFF format.
 
 gcolumn-info
-Common Driver Var(debug_column_info,1) Init(0)
+Common Driver Var(debug_column_info,1) Init(1)
 Record DW_AT_decl_column and DW_AT_call_column in DWARF.
 
 gdwarf
--- gcc/doc/invoke.texi.jj	2017-10-20 16:22:07.000000000 +0200
+++ gcc/doc/invoke.texi	2017-10-20 16:54:32.940684888 +0200
@@ -7064,7 +7064,7 @@  Allow using extensions of later DWARF st
 @opindex gno-column-info
 Emit location column information into DWARF debugging information, rather
 than just file and line.
-This option is disabled by default.
+This option is enabled by default.
 
 @item -gz@r{[}=@var{type}@r{]}
 @opindex gz
--- gcc/testsuite/lib/scanasm.exp.jj	2017-10-17 17:58:16.000000000 +0200
+++ gcc/testsuite/lib/scanasm.exp	2017-10-21 11:52:49.955774302 +0200
@@ -484,16 +484,16 @@  proc dg-function-on-line { args } {
     }
 
     if { [istarget hppa*-*-*] } {
-	set pattern [format {\t;[^:]+:%d\n(\t[^\t]+\n)+%s:\n\t.PROC} \
+	set pattern [format {\t;[^:]+:%d(:[0-9]+)?\n(\t[^\t]+\n)+%s:\n\t.PROC} \
                      $line $symbol]
     } elseif { [istarget mips*-*-*] } {
-	set pattern [format {\t\.loc [0-9]+ %d 0( [^\n]*)?\n(\t.cfi_startproc[^\t]*\n)*\t\.set\t(no)?mips16\n\t(\.set\t(no)?micromips\n\t)?\.ent\t%s\n\t\.type\t%s, @function\n%s:\n} \
+	set pattern [format {\t\.loc [0-9]+ %d [0-9]+( [^\n]*)?\n(\t.cfi_startproc[^\t]*\n)*\t\.set\t(no)?mips16\n\t(\.set\t(no)?micromips\n\t)?\.ent\t%s\n\t\.type\t%s, @function\n%s:\n} \
 		     $line $symbol $symbol $symbol]
     } elseif { [istarget microblaze*-*-*] } {
-        set pattern [format {:%d\n\$.*:\n\t\.ent\t%s\n\t\.type\t%s, @function\n%s:\n} \
+        set pattern [format {:%d(:[0-9]+)?\n\$.*:\n\t\.ent\t%s\n\t\.type\t%s, @function\n%s:\n} \
                      $line $symbol $symbol $symbol]
     } else {
-	set pattern [format {%s:[^\t]*(\t.(fnstart|frame|mask|file)[^\t]*)*\t[^:]+:%d\n} \
+	set pattern [format {%s:[^\t]*(\t.(fnstart|frame|mask|file)[^\t]*)*\t[^:]+:%d(:[0-9]+)?\n} \
                      $symbol $line]
     }
 
--- gcc/testsuite/gcc.dg/debug/dwarf2/asm-line1.c.jj	2014-09-25 15:02:24.000000000 +0200
+++ gcc/testsuite/gcc.dg/debug/dwarf2/asm-line1.c	2017-10-21 11:46:24.655510428 +0200
@@ -1,6 +1,6 @@ 
 /* PR debug/50983 */
 /* { dg-do compile { target *-*-gnu* } } */
-/* { dg-options "-O0 -gdwarf" } */
+/* { dg-options "-O0 -gdwarf -gno-column-info" } */
 /* { dg-final { scan-assembler "is_stmt 1" } } */
 
 int i;
--- gcc/testsuite/gcc.dg/debug/dwarf2/discriminator.c.jj	2014-09-25 15:02:24.000000000 +0200
+++ gcc/testsuite/gcc.dg/debug/dwarf2/discriminator.c	2017-10-21 11:47:22.029804496 +0200
@@ -1,7 +1,7 @@ 
 /* HAVE_AS_DWARF2_DEBUG_LINE macro needs to be defined to pass the unittest.
    However, dg cannot access it, so we restrict to GNU targets.  */
 /* { dg-do compile { target *-*-gnu* } } */
-/* { dg-options "-O0 -gdwarf" } */
+/* { dg-options "-O0 -gdwarf -gno-column-info" } */
 /* { dg-final { scan-assembler "loc \[0-9] 11 \[0-9]( is_stmt \[0-9])?\n" } } */
 /* { dg-final { scan-assembler "loc \[0-9] 11 \[0-9]( is_stmt \[0-9])? discriminator 2\n" } } */
 /* { dg-final { scan-assembler "loc \[0-9] 11 \[0-9]( is_stmt \[0-9])? discriminator 1\n" } } */
--- gcc/testsuite/gcc.dg/debug/dwarf2/pr53948.c.jj	2014-09-25 15:02:24.000000000 +0200
+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr53948.c	2017-10-21 11:48:14.555158962 +0200
@@ -1,7 +1,7 @@ 
 /* Test that we have line information for the line
    with local variable initializations.  */
 /* { dg-options "-O0 -gdwarf -dA" } */
-/* { dg-final { scan-assembler ".loc 1 8 0|\[#/!\]\[ \t\]+line 8" } } */
+/* { dg-final { scan-assembler ".loc 1 8 \[0-9\]|\[#/!\]\[ \t\]+line 8" } } */
 
 
 int f (register int a, register int b) {
--- gcc/testsuite/g++.dg/debug/dwarf2/typedef6.C.jj	2015-07-09 19:47:10.000000000 +0200
+++ gcc/testsuite/g++.dg/debug/dwarf2/typedef6.C	2017-10-21 11:56:44.744888754 +0200
@@ -1,5 +1,5 @@ 
 // Origin PR debug/
-// { dg-options "-gdwarf-2 -dA" }
+// { dg-options "-gdwarf-2 -dA -gno-column-info" }
 
 class C {
 public:
--- gcc/testsuite/g++.dg/debug/dwarf2/pr77363.C.jj	2016-08-31 18:28:39.000000000 +0200
+++ gcc/testsuite/g++.dg/debug/dwarf2/pr77363.C	2017-10-21 11:58:50.921338051 +0200
@@ -1,9 +1,9 @@ 
 // PR debug/77363
 // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings" }
-// { dg-final { scan-assembler "DIE \\(\[^\n\r\]*\\) DW_TAG_typedef\[^\n\r\]*\[\n\r]*\[^\n\r\]*type2\[^\n\r\]* DW_AT_name\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_file\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_line\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_type" } }
-// { dg-final { scan-assembler "DIE \\(\[^\n\r\]*\\) DW_TAG_typedef\[^\n\r\]*\[\n\r]*\[^\n\r\]*type3\[^\n\r\]* DW_AT_name\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_file\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_line\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_type" } }
-// { dg-final { scan-assembler "DIE \\(\[^\n\r\]*\\) DW_TAG_typedef\[^\n\r\]*\[\n\r]*\[^\n\r\]*type4\[^\n\r\]* DW_AT_name\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_file\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_line\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_type" } }
-// { dg-final { scan-assembler "DIE \\(\[^\n\r\]*\\) DW_TAG_typedef\[^\n\r\]*\[\n\r]*\[^\n\r\]*type5\[^\n\r\]* DW_AT_name\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_file\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_line\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_type" } }
+// { dg-final { scan-assembler "DIE \\(\[^\n\r\]*\\) DW_TAG_typedef\[^\n\r\]*\[\n\r]*\[^\n\r\]*type2\[^\n\r\]* DW_AT_name\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_file\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_line\[^\n\r\]*\[\n\r]*(\[^\n\r\]* DW_AT_decl_column\[^\n\r\]*\[\n\r]*)?\[^\n\r\]* DW_AT_type" } }
+// { dg-final { scan-assembler "DIE \\(\[^\n\r\]*\\) DW_TAG_typedef\[^\n\r\]*\[\n\r]*\[^\n\r\]*type3\[^\n\r\]* DW_AT_name\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_file\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_line\[^\n\r\]*\[\n\r]*(\[^\n\r\]* DW_AT_decl_column\[^\n\r\]*\[\n\r]*)?\[^\n\r\]* DW_AT_type" } }
+// { dg-final { scan-assembler "DIE \\(\[^\n\r\]*\\) DW_TAG_typedef\[^\n\r\]*\[\n\r]*\[^\n\r\]*type4\[^\n\r\]* DW_AT_name\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_file\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_line\[^\n\r\]*\[\n\r]*(\[^\n\r\]* DW_AT_decl_column\[^\n\r\]*\[\n\r]*)?\[^\n\r\]* DW_AT_type" } }
+// { dg-final { scan-assembler "DIE \\(\[^\n\r\]*\\) DW_TAG_typedef\[^\n\r\]*\[\n\r]*\[^\n\r\]*type5\[^\n\r\]* DW_AT_name\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_file\[^\n\r\]*\[\n\r]*\[^\n\r\]* DW_AT_decl_line\[^\n\r\]*\[\n\r]*(\[^\n\r\]* DW_AT_decl_column\[^\n\r\]*\[\n\r]*)?\[^\n\r\]* DW_AT_type" } }
 
 typedef unsigned short type1;
 typedef unsigned char type2;