[mid-end][__RTL] Account for column numbers in __RTL functions
authorMatthew Malcomson <matthew.malcomson@arm.com>
Fri, 15 Nov 2019 14:18:14 +0000 (14:18 +0000)
committerMatthew Malcomson <matmal01@gcc.gnu.org>
Fri, 15 Nov 2019 14:18:14 +0000 (14:18 +0000)
commit63841daf70b8f5d9ab3014956ea2c0f22488660e
treeca26305073ac7b9b715b37dc248ac9891b6034b1
parentb9f71c51cd578c6ab6ad2986edb80ba48aa477bc
[mid-end][__RTL] Account for column numbers in __RTL functions

The documentation for __RTL tests (see "(gccint) RTL Tests" info node) has the
following snippet.

```
 The parser expects the RTL body to be in the format emitted by this
dumping function:

     DEBUG_FUNCTION void
     print_rtx_function (FILE *outfile, function *fn, bool compact);

 when "compact" is true.  So you can capture RTL in the correct format
from the debugger using:

     (gdb) print_rtx_function (stderr, cfun, true);

 and copy and paste the output into the body of the C function.
```

Since r264944 print_rtx_function prints column number information, which the
__RTL function parsing does not handle.

This patch handles column number information optionally, so pre-existing __RTL
functions still work, and the above documentation quote still holds.

Note: If people would prefer to require column information I could make a
slightly neater code and update existing tests.
I guess this would be OK since the intended use for __RTL functions is in these
testcases so there is no worry about other existing code.

bootstrapped and regtested on aarch64
bootstrapped and regtested on x86_64

Ok for trunk?

Cheers,
Matthew

gcc/ChangeLog:

2019-11-15  Matthew Malcomson  <matthew.malcomson@arm.com>

* read-rtl-function.c
(function_reader::add_fixup_source_location): Take additional
parameter of a column.
(function_reader::maybe_read_location): Optionally parse column
information and pass to add_fixup_source_location.

gcc/testsuite/ChangeLog:

2019-11-15  Matthew Malcomson  <matthew.malcomson@arm.com>

* gcc.dg/rtl/aarch64/rtl-handle-column-numbers.c: New test.

From-SVN: r278294
gcc/ChangeLog
gcc/read-rtl-function.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/rtl/aarch64/rtl-handle-column-numbers.c [new file with mode: 0644]