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  <iain@sandoe.co.uk>

	* gcc.dg/pubtypes-2.c: Adjust expected pubtypes length.
	* gcc.dg/pubtypes-3.c: Likewise.
	* gcc.dg/pubtypes-4.c: Likewise.

From-SVN: r267550
This commit is contained in:
Jakub Jelinek 2019-01-03 12:05:24 +01:00
parent 8ae4d4298d
commit c04d40dae8
8 changed files with 30 additions and 5 deletions

View file

@ -1,3 +1,9 @@
2019-01-03 Jakub Jelinek <jakub@redhat.com>
PR debug/88644
* dwarf2out.c (modified_type_die): If type is equal to sizetype,
change it to qualified_type.
2019-01-03 Jan Hubicka <hubicka@ucw.cz>
* ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...

View file

@ -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. */

View file

@ -1,3 +1,15 @@
2019-01-03 Jakub Jelinek <jakub@redhat.com>
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 <iain@sandoe.co.uk>
* 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 <jakub@redhat.com>
PR c++/88636

View file

@ -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];

View file

@ -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} } } */

View file

@ -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" } } */

View file

@ -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" } } */

View file

@ -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" } } */