From c04d40dae8a490e28d4f07c46e57719fb0a4eaf6 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 3 Jan 2019 12:05:24 +0100 Subject: [PATCH] re PR debug/88644 (Unexpected pub type info eliminated after r246973 (causes pubtypes-*.c to regress).) PR debug/88644 * dwarf2out.c (modified_type_die): If type is equal to sizetype, change it to qualified_type. * gcc.dg/debug/dwarf2/pr88644.c: New test. * gcc.dg/debug/dwarf2/pr80263.c: Remove darwin hack. 2019-01-03 Iain Sandoe * gcc.dg/pubtypes-2.c: Adjust expected pubtypes length. * gcc.dg/pubtypes-3.c: Likewise. * gcc.dg/pubtypes-4.c: Likewise. From-SVN: r267550 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 2 ++ gcc/testsuite/ChangeLog | 12 ++++++++++++ gcc/testsuite/gcc.dg/debug/dwarf2/pr80263.c | 2 -- gcc/testsuite/gcc.dg/debug/dwarf2/pr88644.c | 7 +++++++ gcc/testsuite/gcc.dg/pubtypes-2.c | 2 +- gcc/testsuite/gcc.dg/pubtypes-3.c | 2 +- gcc/testsuite/gcc.dg/pubtypes-4.c | 2 +- 8 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/debug/dwarf2/pr88644.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d1b1876354d..4eec4b5e987 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-01-03 Jakub Jelinek + + PR debug/88644 + * dwarf2out.c (modified_type_die): If type is equal to sizetype, + change it to qualified_type. + 2019-01-03 Jan Hubicka * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ... diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 94e36b137ec..8d9a3849fa4 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -13152,6 +13152,8 @@ modified_type_die (tree type, int cv_quals, bool reverse, && TYPE_PRECISION (sizetype) == TYPE_PRECISION (size_type_node) && TYPE_UNSIGNED (sizetype) == TYPE_UNSIGNED (size_type_node)) qualified_type = size_type_node; + if (type == sizetype) + type = qualified_type; } /* If we do, then we can just use its DIE, if it exists. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 413bb098b7c..768c109ce37 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,15 @@ +2019-01-03 Jakub Jelinek + + PR debug/88644 + * gcc.dg/debug/dwarf2/pr88644.c: New test. + * gcc.dg/debug/dwarf2/pr80263.c: Remove darwin hack. + +2019-01-03 Iain Sandoe + + * gcc.dg/pubtypes-2.c: Adjust expected pubtypes length. + * gcc.dg/pubtypes-3.c: Likewise. + * gcc.dg/pubtypes-4.c: Likewise. + 2019-01-03 Jakub Jelinek PR c++/88636 diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/pr80263.c b/gcc/testsuite/gcc.dg/debug/dwarf2/pr80263.c index f1a6a336163..57633b4f0eb 100644 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/pr80263.c +++ b/gcc/testsuite/gcc.dg/debug/dwarf2/pr80263.c @@ -1,8 +1,6 @@ /* PR debug/80263 */ /* { dg-do compile } */ /* { dg-options "-g -dA" } */ -/* Darwin emits pubnames/types by default - suppress this for the test. */ -/* { dg-additional-options "-gno-pubnames" { target *-*-darwin* } } */ char array[1]; diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/pr88644.c b/gcc/testsuite/gcc.dg/debug/dwarf2/pr88644.c new file mode 100644 index 00000000000..1b166277deb --- /dev/null +++ b/gcc/testsuite/gcc.dg/debug/dwarf2/pr88644.c @@ -0,0 +1,7 @@ +/* PR debug/88644 */ +/* { dg-do compile } */ +/* { dg-options "-gdwarf-4 -dA -gpubnames" } */ + +char array[1]; + +/* { dg-final { scan-assembler-not {\msizetype} } } */ diff --git a/gcc/testsuite/gcc.dg/pubtypes-2.c b/gcc/testsuite/gcc.dg/pubtypes-2.c index 3ac3a3835c8..6669f3d3170 100644 --- a/gcc/testsuite/gcc.dg/pubtypes-2.c +++ b/gcc/testsuite/gcc.dg/pubtypes-2.c @@ -2,7 +2,7 @@ /* { dg-options "-O0 -gdwarf-2 -dA" } */ /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */ /* { dg-final { scan-assembler "__debug_pubtypes" } } */ -/* { dg-final { scan-assembler "long+\[ \t\]+0x13b+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ +/* { dg-final { scan-assembler "long+\[ \t\]+0x12e+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ diff --git a/gcc/testsuite/gcc.dg/pubtypes-3.c b/gcc/testsuite/gcc.dg/pubtypes-3.c index 6fa1940c606..345e4edaba6 100644 --- a/gcc/testsuite/gcc.dg/pubtypes-3.c +++ b/gcc/testsuite/gcc.dg/pubtypes-3.c @@ -2,7 +2,7 @@ /* { dg-options "-O0 -gdwarf-2 -dA" } */ /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */ /* { dg-final { scan-assembler "__debug_pubtypes" } } */ -/* { dg-final { scan-assembler "long+\[ \t\]+0x13b+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ +/* { dg-final { scan-assembler "long+\[ \t\]+0x12e+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ /* { dg-final { scan-assembler-not "\"list_name_type\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ diff --git a/gcc/testsuite/gcc.dg/pubtypes-4.c b/gcc/testsuite/gcc.dg/pubtypes-4.c index b2f520d8c82..da2f9b02ff4 100644 --- a/gcc/testsuite/gcc.dg/pubtypes-4.c +++ b/gcc/testsuite/gcc.dg/pubtypes-4.c @@ -2,7 +2,7 @@ /* { dg-options "-O0 -gdwarf-2 -dA" } */ /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */ /* { dg-final { scan-assembler "__debug_pubtypes" } } */ -/* { dg-final { scan-assembler "long+\[ \t\]+0x172+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ +/* { dg-final { scan-assembler "long+\[ \t\]+0x165+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ /* { dg-final { scan-assembler "\"list_name_type\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ -- 2.30.2