Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(649)

Issue 5514045: [Google/main Patch] Cleanup pubnames/pubtypes and test-suite

Can't Edit
Can't Publish+Mail
Start Review
Created:
13 years, 3 months ago by saugustine
Modified:
13 years, 3 months ago
Reviewers:
Cary, tromey
CC:
gcc-patches_gcc.gnu.org
Visibility:
Public.

Description

The enclosed patch to google/main contains certain small fixes for pubnames and pubtypes, which are now emitted completely and canonically. It also fixes the expected output of various tests to match the canonical names of functions. OK for google/main? Tested: With full make-check and no new failures observed. gcc/ChangeLog: 2012-01-04 Sterling Augustine <saugustine@google.com> * gcc/dwarf2out.c (add_pubname): Move conditional clause from outer to inner if-statement. (dwarf2out_finish): Fix conditions to output DW_AT_GNU_pubnames and DW_AT_GNU_pubtypes. Move decision to output pubnames and pubtypes from here... (output_pubnames): ...to here. (pubtypes_section_empty): Delete unused function. testsuite/ChangeLog: 2012-01-04 Sterling Augustine <saugustine@google.com> * gcc/testsuite/g++.dg/diagnostic/bindings1.C: Adjust expected output. * gcc/testsuite/g++.dg/ext/pretty3.C: Likewise. * gcc/testsuite/g++.dg/pr44486.C: Likewise. * gcc/testsuite/g++.dg/warn/Wuninitializable-member.C: Likewise. * gcc/testsuite/g++.dg/warn/pr35711.C: Likewise. * gcc/testsuite/g++.old-deja/g++.pt/memtemp77.C: Likewise.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+24 lines, -56 lines) Patch
M gcc/dwarf2out.c View 5 chunks +18 lines, -50 lines 0 comments Download
M gcc/testsuite/g++.dg/diagnostic/bindings1.C View 1 chunk +1 line, -1 line 0 comments Download
M gcc/testsuite/g++.dg/ext/pretty3.C View 1 chunk +1 line, -1 line 0 comments Download
M gcc/testsuite/g++.dg/pr44486.C View 1 chunk +1 line, -1 line 0 comments Download
M gcc/testsuite/g++.dg/warn/Wuninitializable-member.C View 1 chunk +1 line, -1 line 0 comments Download
M gcc/testsuite/g++.dg/warn/pr35711.C View 1 chunk +1 line, -1 line 0 comments Download
M gcc/testsuite/g++.old-deja/g++.pt/memtemp77.C View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 4
saugustine
The enclosed patch to google/main contains certain small fixes for pubnames and pubtypes, which are ...
13 years, 3 months ago (2012-01-04 19:35:47 UTC) #1
Cary
LGTM for google/main. Before submitting for trunk, we'll want to take care of this FIXME: ...
13 years, 3 months ago (2012-01-04 20:06:58 UTC) #2
tromey_redhat.com
>>>>> "Sterling" == Sterling Augustine <saugustine@google.com> writes: Sterling> The enclosed patch to google/main contains certain ...
13 years, 3 months ago (2012-01-06 15:21:49 UTC) #3
saugustine
13 years, 3 months ago (2012-01-06 16:44:53 UTC) #4
On Fri, Jan 6, 2012 at 7:21 AM, Tom Tromey <tromey@redhat.com> wrote:
>>>>>> "Sterling" == Sterling Augustine <saugustine@google.com> writes:
>
> Sterling> The enclosed patch to google/main contains certain small fixes
> Sterling> for pubnames and pubtypes, which are now emitted completely
> Sterling> and canonically.
>
> I am curious to know how you ensure that they are canonical.

"Ensure" is probably a too strong a word.

But, I have been using a local python script that compares the names
emitted by this patch with those as produced by gdb in the .gdb_index.
(I suppose I should get it contributed, but it started out as a one
off and would need some cleaning up to get contributable.) I also
would have to figure out the rules on contributing python scripts.

I know of two very small differences at this point, and it is
debatable whether or not they should be fixed. First, the demangler
doesn't use the underscores around "restrict", and GCC does. Second, I
forget off-hand which way it goes, but one of them uses "short int"
and the other just "short", and similarly for the other built-in
integer types. I know of no other mismatches.

This does bring up an issue that--to my limited knowledge
anyway--isn't well addressed by the current structure of GCC vs
binutils vs GDB: There aren't good ways to run full integration tests
between the three components. Perhaps I am just ignorant.

>
> My recollection is that there are some differences between the names
> emitted by g++ and those emitted by the demangler.

Indeed, I have changed g++ in google/main to fix that. See the earlier
patch that this one cleaned up, for example.

  I can dig up some
> examples if you want; I think they are in GCC bugzilla somewhere.

I have found a lot of them (some tests have to be pretty contorted to
make it show up), but a pointer to bugzilla would be great. I expect
we will contribute these test-cases as part of a patch to Gold in the
near future.

Sterling
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b