public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a
@ 2021-11-19 10:40 marxin at gcc dot gnu.org
  2021-11-19 10:41 ` [Bug c++/103329] " marxin at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-11-19 10:40 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103329

            Bug ID: 103329
           Summary: [11/12 Regression] Code divergence in debug info with
                    -fdump-tree-original since r11-291-g0f50f6daa140186a
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: jason at gcc dot gnu.org
  Target Milestone: ---

Since the revision, the following test-case:

$ cat vectors.ii
template <typename>
struct __is_integer {
  enum { __value };
};
template <typename _Tp, bool = __is_integer<_Tp>::__value>
struct __promote {
  typedef double __type;
};
template <typename, typename _Up>
using __promote_2 = __promote<_Up>;
template <typename _Tp, typename _Up>
typename __promote_2<_Tp, _Up>::__type pow(_Tp, _Up) {}
template <typename>
struct Vector {
  typedef int iterator;
  virtual ~Vector();
};
template <int>
class DoFHandler;
template <int>
struct MappingQ1 {
  MappingQ1();
  static const unsigned vertex_mapping[];
};
template <>
const unsigned MappingQ1<3>::vertex_mapping[];
struct DerivativeApproximation {
  template <int dim, class InputVector>
  void approximate_second_derivative(const DoFHandler<dim> &,
                                     const InputVector &, Vector<float> &,
                                     unsigned);
  template <int>
  struct SecondDerivative {
    typedef int Derivative;
    double derivative_norm(const Derivative &);
  };
};
template <>
double DerivativeApproximation::SecondDerivative<3>::derivative_norm(
    const Derivative &) {
  int s(pow(s, 3));
}
template <int dim, class InputVector>
void DerivativeApproximation::approximate_second_derivative(
    const DoFHandler<dim> &, const InputVector &, Vector<float> &, unsigned) {
  static MappingQ1<dim> index_interval;
  Vector<float>::iterator derivative_norm_on_this_cell;
}
template void DerivativeApproximation::approximate_second_derivative(
    const DoFHandler<3> &, const double &, Vector<float> &, unsigned);

$ g++ -O1 -g -w -fPIC -shared vectors.ii -o 1 -fdump-tree-original=/dev/null &&
cp 1 2 && g++ -O1 -g -w -fPIC -shared vectors.ii -o 1 && diff 1 2
Binary files 1 and 2 differ

It makes difference in debug info:

$ objdump -W 1 > 11
$ objdump -W 2 > 22

$ diff -u 11 22
...
 Contents of the .eh_frame section:

@@ -86,7 +86,7 @@
     0000000000000000 0000000000000000 
   Length:                   60
   Version:                  2
-  Offset into .debug_info:  0x395
+  Offset into .debug_info:  0x3b2
   Pointer Size:             8
   Segment Size:             0

@@ -111,21 +111,21 @@
     <1d>   DW_AT_producer    : (indirect string, offset: 0x32): GNU AS 2.37
     <21>   DW_AT_language    : 32769   (MIPS assembler)
   Compilation Unit @ offset 0x23:
-   Length:        0x36e (32-bit)
+   Length:        0x38b (32-bit)
    Version:       5
    Unit Type:     DW_UT_compile (1)
    Abbrev Offset: 0x12
    Pointer Size:  8
  <0><2f>: Abbrev Number: 17 (DW_TAG_compile_unit)
-    <30>   DW_AT_producer    : (indirect string, offset: 0x2ab): GNU C++17
12.0.0 20211118 (experimental) -mtune=generic -march=x86-64 -g -O1 -fPIC
+    <30>   DW_AT_producer    : (indirect string, offset: 0x2c5): GNU C++17
12.0.0 20211118 (experimental) -mtune=generic -march=x86-64 -g -O1 -fPIC
     <34>   DW_AT_language    : 33      (C++14)
     <35>   DW_AT_name        : (indirect line string, offset: 0x19):
vectors.ii
     <39>   DW_AT_comp_dir    : (indirect line string, offset: 0x24):
/home/marxin/Programming/testcases
     <3d>   DW_AT_ranges      : 0x2d
     <41>   DW_AT_low_pc      : 0x0
     <49>   DW_AT_stmt_list   : 0x67
...

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/103329] [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a
  2021-11-19 10:40 [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a marxin at gcc dot gnu.org
@ 2021-11-19 10:41 ` marxin at gcc dot gnu.org
  2021-11-19 13:00 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-11-19 10:41 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103329

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-11-19
   Target Milestone|---                         |11.3

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Btw. isolated from dealII SPEC 2006 benchmark.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/103329] [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a
  2021-11-19 10:40 [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a marxin at gcc dot gnu.org
  2021-11-19 10:41 ` [Bug c++/103329] " marxin at gcc dot gnu.org
@ 2021-11-19 13:00 ` rguenth at gcc dot gnu.org
  2021-11-22 17:40 ` jakub at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-11-19 13:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103329

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
In the -fdump-tree-original=/dev/null case we have extra

 <1><107>: Abbrev Number: 3 (DW_TAG_structure_type)
    <108>   DW_AT_name        : (indirect string, offset: 0xb8):
__is_integer<int>
    <10c>   DW_AT_byte_size   : 1
    <10c>   DW_AT_decl_file   : 1
    <10c>   DW_AT_decl_line   : 2
    <10d>   DW_AT_decl_column : 8
    <10e>   DW_AT_sibling     : <0x124>
 <2><112>: Abbrev Number: 22 (DW_TAG_enumeration_type)
    <113>   DW_AT_encoding    : 7       (unsigned)
    <114>   DW_AT_byte_size   : 4
    <115>   DW_AT_type        : <0x57>
    <119>   DW_AT_decl_file   : 1
    <11a>   DW_AT_decl_line   : 3
    <11b>   DW_AT_decl_column : 8
 <3><11c>: Abbrev Number: 23 (DW_TAG_enumerator)
    <11d>   DW_AT_name        : (indirect string, offset: 0x24a): __value
    <121>   DW_AT_const_value : 0
 <3><122>: Abbrev Number: 0
 <2><123>: Abbrev Number: 0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/103329] [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a
  2021-11-19 10:40 [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a marxin at gcc dot gnu.org
  2021-11-19 10:41 ` [Bug c++/103329] " marxin at gcc dot gnu.org
  2021-11-19 13:00 ` rguenth at gcc dot gnu.org
@ 2021-11-22 17:40 ` jakub at gcc dot gnu.org
  2021-12-31 15:56 ` jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-11-22 17:40 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103329

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The problem seems that in order to print the *.original dump (but apparently
also in order to emit some warnings), we trigger:
#0  used_types_insert (t=<enumeral_type 0x7fffea1d4b28 ._anon_0>) at
../../gcc/function.c:6422
#1  0x0000000000c26eb6 in mark_used (decl=<const_decl 0x7fffea1c2380 __value>,
complain=0) at ../../gcc/cp/decl2.c:5681
#2  0x0000000000dee6f0 in tsubst_qualified_id (qualified_id=<scope_ref
0x7fffea1c4258>, args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl
0x7fffea1c5130 __promote_2>, 
    done=true, address_p=false) at ../../gcc/cp/pt.c:16460
#3  0x0000000000e03d01 in tsubst_copy_and_build (t=<scope_ref 0x7fffea1c4258>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl 0x7fffea1c5130
__promote_2>, 
    function_p=false, integral_constant_expression_p=true) at
../../gcc/cp/pt.c:20046
#4  0x0000000000e0041a in tsubst_expr (t=<scope_ref 0x7fffea1c4258>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl 0x7fffea1c5130
__promote_2>, 
    integral_constant_expression_p=true) at ../../gcc/cp/pt.c:19228
#5  0x0000000000dd88cf in tsubst_template_arg (t=<scope_ref 0x7fffea1c4258>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl 0x7fffea1c5130
__promote_2>)
    at ../../gcc/cp/pt.c:12342
#6  0x0000000000ddcca6 in tsubst_template_args (t=<tree_vec 0x7fffea1c41e0>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl 0x7fffea1c5130
__promote_2>)
    at ../../gcc/cp/pt.c:13433
#7  0x0000000000ddd9e7 in tsubst_aggr_type (t=<record_type 0x7fffea1ab7e0
__promote>, args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl
0x7fffea1c5130 __promote_2>, 
    entering_scope=0) at ../../gcc/cp/pt.c:13637
#8  0x0000000000deaa22 in tsubst (t=<record_type 0x7fffea1ab7e0 __promote>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl 0x7fffea1c5130
__promote_2>)
    at ../../gcc/cp/pt.c:15527
#9  0x0000000000de7c32 in tsubst_decl (t=<type_decl 0x7fffea1c5130
__promote_2>, args=<tree_vec 0x7fffea1dbe38>, complain=0) at
../../gcc/cp/pt.c:14825
#10 0x0000000000dea26e in tsubst (t=<type_decl 0x7fffea1c5130 __promote_2>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<template_decl
0x7fffea1c1380 __promote_2>)
    at ../../gcc/cp/pt.c:15447
#11 0x0000000000e0ac1c in instantiate_template_1 (tmpl=<template_decl
0x7fffea1c1380 __promote_2>, orig_args=<tree_vec 0x7fffea1dbe38>, complain=0)
at ../../gcc/cp/pt.c:21337
#12 0x0000000000e0b2f2 in instantiate_template (tmpl=<template_decl
0x7fffea1c1380 __promote_2>, orig_args=<tree_vec 0x7fffea1dbe38>, complain=0)
at ../../gcc/cp/pt.c:21396
#13 0x0000000000e0b466 in instantiate_alias_template (tmpl=<template_decl
0x7fffea1c1380 __promote_2>, args=<tree_vec 0x7fffea1dbe38>, complain=0) at
../../gcc/cp/pt.c:21434
#14 0x0000000000dea49d in tsubst (t=<record_type 0x7fffea1aba80 __promote_2>,
args=<tree_vec 0x7fffea1d08e8>, complain=0, in_decl=<tree 0x0>) at
../../gcc/cp/pt.c:15472
#15 0x0000000000c2e7e1 in dump_template_bindings (pp=0x3e0c5a0
<actual_pretty_printer>, parms=<tree 0x0>, args=<tree_vec 0x7fffea1d08e8>,
typenames=0x7fffea1dbd98 = {...})
    at ../../gcc/cp/error.c:482
#16 0x0000000000c34a2f in dump_substitution (pp=0x3e0c5a0
<actual_pretty_printer>, t=<template_decl 0x7fffea1c1500 pow>,
template_parms=<tree_list 0x7fffea1c44b0>, 
    template_args=<tree_vec 0x7fffea1d08e8>, flags=4) at
../../gcc/cp/error.c:1638
#17 0x0000000000c365d1 in dump_function_decl (pp=0x3e0c5a0
<actual_pretty_printer>, t=<template_decl 0x7fffea1c1500 pow>, flags=4) at
../../gcc/cp/error.c:1797
#18 0x0000000000c33917 in dump_decl (pp=0x3e0c5a0 <actual_pretty_printer>,
t=<function_decl 0x7fffea1d7000 pow>, flags=4) at ../../gcc/cp/error.c:1369
#19 0x0000000000c3cf88 in decl_as_string (decl=<function_decl 0x7fffea1d7000
pow>, flags=4) at ../../gcc/cp/error.c:3118
#20 0x0000000000c3d060 in lang_decl_name (decl=<function_decl 0x7fffea1d7000
pow>, v=2, translate=false) at ../../gcc/cp/error.c:3153
#21 0x0000000000e8b59f in cxx_printable_name_internal (decl=<function_decl
0x7fffea1d7000 pow>, v=2, translate=false) at ../../gcc/cp/tree.c:2678
#22 0x0000000000e8b63c in cxx_printable_name (decl=<function_decl
0x7fffea1d7000 pow>, v=2) at ../../gcc/cp/tree.c:2687
#23 0x0000000000f4f4c3 in c_genericize (fndecl=<function_decl 0x7fffea1d7000
pow>) at ../../gcc/c-family/c-gimplify.c:587
where when trying to print the pow decl into the dump file, we instantiate the
template and that
leads to adding the anonymous enum to types_used_by_cur_var_decl vector (or
attached to current function).
Later on we do in cp_finish_decl
8260            /* So decl is a global variable or a static member of a
8261               non local class. Record the types it uses
8262               so that we can decide later to emit debug info for them.  */
8263            record_types_used_by_current_var_decl (decl);
and attach those types to a random unrelated decl (a guard variable in this
case).
Similarly, without -fdump-tree-original and without -w, we trigger it during:
#0  used_types_insert (t=<enumeral_type 0x7fffea1d4b28 ._anon_0>) at
../../gcc/function.c:6422
#1  0x0000000000c26eb6 in mark_used (decl=<const_decl 0x7fffea1c2380 __value>,
complain=0) at ../../gcc/cp/decl2.c:5681
#2  0x0000000000dee6f0 in tsubst_qualified_id (qualified_id=<scope_ref
0x7fffea1c4258>, args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl
0x7fffea1c5130 __promote_2>, 
    done=true, address_p=false) at ../../gcc/cp/pt.c:16460
#3  0x0000000000e03d01 in tsubst_copy_and_build (t=<scope_ref 0x7fffea1c4258>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl 0x7fffea1c5130
__promote_2>, 
    function_p=false, integral_constant_expression_p=true) at
../../gcc/cp/pt.c:20046
#4  0x0000000000e0041a in tsubst_expr (t=<scope_ref 0x7fffea1c4258>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl 0x7fffea1c5130
__promote_2>, 
    integral_constant_expression_p=true) at ../../gcc/cp/pt.c:19228
#5  0x0000000000dd88cf in tsubst_template_arg (t=<scope_ref 0x7fffea1c4258>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl 0x7fffea1c5130
__promote_2>)
    at ../../gcc/cp/pt.c:12342
#6  0x0000000000ddcca6 in tsubst_template_args (t=<tree_vec 0x7fffea1c41e0>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl 0x7fffea1c5130
__promote_2>)
    at ../../gcc/cp/pt.c:13433
#7  0x0000000000ddd9e7 in tsubst_aggr_type (t=<record_type 0x7fffea1ab7e0
__promote>, args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl
0x7fffea1c5130 __promote_2>, 
    entering_scope=0) at ../../gcc/cp/pt.c:13637
#8  0x0000000000deaa22 in tsubst (t=<record_type 0x7fffea1ab7e0 __promote>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<type_decl 0x7fffea1c5130
__promote_2>)
    at ../../gcc/cp/pt.c:15527
#9  0x0000000000de7c32 in tsubst_decl (t=<type_decl 0x7fffea1c5130
__promote_2>, args=<tree_vec 0x7fffea1dbe38>, complain=0) at
../../gcc/cp/pt.c:14825
#10 0x0000000000dea26e in tsubst (t=<type_decl 0x7fffea1c5130 __promote_2>,
args=<tree_vec 0x7fffea1dbe38>, complain=0, in_decl=<template_decl
0x7fffea1c1380 __promote_2>)
    at ../../gcc/cp/pt.c:15447
#11 0x0000000000e0ac1c in instantiate_template_1 (tmpl=<template_decl
0x7fffea1c1380 __promote_2>, orig_args=<tree_vec 0x7fffea1dbe38>, complain=0)
at ../../gcc/cp/pt.c:21337
#12 0x0000000000e0b2f2 in instantiate_template (tmpl=<template_decl
0x7fffea1c1380 __promote_2>, orig_args=<tree_vec 0x7fffea1dbe38>, complain=0)
at ../../gcc/cp/pt.c:21396
#13 0x0000000000e0b466 in instantiate_alias_template (tmpl=<template_decl
0x7fffea1c1380 __promote_2>, args=<tree_vec 0x7fffea1dbe38>, complain=0) at
../../gcc/cp/pt.c:21434
#14 0x0000000000dea49d in tsubst (t=<record_type 0x7fffea1aba80 __promote_2>,
args=<tree_vec 0x7fffea1d08e8>, complain=0, in_decl=<tree 0x0>) at
../../gcc/cp/pt.c:15472
#15 0x0000000000c2e7e1 in dump_template_bindings (pp=0x3e0c5a0
<actual_pretty_printer>, parms=<tree 0x0>, args=<tree_vec 0x7fffea1d08e8>,
typenames=0x7fffea1dbd98 = {...})
    at ../../gcc/cp/error.c:482
#16 0x0000000000c34a2f in dump_substitution (pp=0x3e0c5a0
<actual_pretty_printer>, t=<template_decl 0x7fffea1c1500 pow>,
template_parms=<tree_list 0x7fffea1c44b0>, 
    template_args=<tree_vec 0x7fffea1d08e8>, flags=132) at
../../gcc/cp/error.c:1638
#17 0x0000000000c365d1 in dump_function_decl (pp=0x3e0c5a0
<actual_pretty_printer>, t=<template_decl 0x7fffea1c1500 pow>, flags=132) at
../../gcc/cp/error.c:1797
#18 0x0000000000c33917 in dump_decl (pp=0x3e0c5a0 <actual_pretty_printer>,
t=<function_decl 0x7fffea1d7000 pow>, flags=132) at ../../gcc/cp/error.c:1369
#19 0x0000000000c3d5ab in decl_to_string (decl=<function_decl 0x7fffea1d7000
pow>, verbose=1) at ../../gcc/cp/error.c:3217
#20 0x0000000000c41255 in cp_printer (pp=0x3fff130, text=0x7fffffffce90,
spec=0x4001452 "D", precision=0, wide=false, set_locus=false, verbose=true,
quoted=0x7fffffffcaaf, 
    buffer_ptr=0x4001240) at ../../gcc/cp/error.c:4388
#21 0x0000000002d5af22 in pp_format (pp=0x3fff130, text=0x7fffffffce90) at
../../gcc/pretty-print.c:1475
#22 0x0000000002d5b2fa in pp_format_verbatim (pp=0x3fff130,
text=0x7fffffffce90) at ../../gcc/pretty-print.c:1536
#23 0x0000000002d5bb4e in pp_verbatim (pp=0x3fff130, msg=0x2e32238 "%s: In
instantiation of %q#D:\n") at ../../gcc/pretty-print.c:1790
#24 0x0000000000c3f369 in print_instantiation_full_context (context=0x3f9bf40
<global_diagnostic_context>) at ../../gcc/cp/error.c:3627
#25 0x0000000000c3f86e in maybe_print_instantiation_context (context=0x3f9bf40
<global_diagnostic_context>) at ../../gcc/cp/error.c:3775
#26 0x0000000000c3deb3 in cp_diagnostic_starter (context=0x3f9bf40
<global_diagnostic_context>, diagnostic=0x7fffffffd0a0) at
../../gcc/cp/error.c:3466
#27 0x0000000002d316bb in diagnostic_report_diagnostic (context=0x3f9bf40
<global_diagnostic_context>, diagnostic=0x7fffffffd0a0) at
../../gcc/diagnostic.c:1347
#28 0x0000000002d31d9c in diagnostic_impl (richloc=0x7fffffffd270,
metadata=0x0, opt=714, gmsgid=0x2e2b9a8 "no return statement in function
returning non-void", ap=0x7fffffffd170, 
    kind=DK_WARNING) at ../../gcc/diagnostic.c:1508
#29 0x0000000002d3277e in warning_at (richloc=0x7fffffffd270, opt=714,
gmsgid=0x2e2b9a8 "no return statement in function returning non-void") at
../../gcc/diagnostic.c:1660

I wonder if the error.c spots that trigger tsubst shouldn't temporarily set
some FE global flag that would either cause
  if (TREE_CODE (decl) == CONST_DECL)
    used_types_insert (DECL_CONTEXT (decl));
in mark_used not to happen, or perhaps the whole mark_used not to be done
altogether?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/103329] [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a
  2021-11-19 10:40 [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a marxin at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-11-22 17:40 ` jakub at gcc dot gnu.org
@ 2021-12-31 15:56 ` jakub at gcc dot gnu.org
  2022-01-18 14:27 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-12-31 15:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103329

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
But, if we avoid that
  /* Mark enumeration types as used.  */
  if (TREE_CODE (decl) == CONST_DECL)
    used_types_insert (DECL_CONTEXT (decl));
during error.c instantiations, will it be actually marked if something later
needs that particular instantiation (I mean, don't we in that case just reuse
what we've instantiated during the error.c instantiations rather than trying to
instantiate it again)?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/103329] [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a
  2021-11-19 10:40 [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a marxin at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-12-31 15:56 ` jakub at gcc dot gnu.org
@ 2022-01-18 14:27 ` rguenth at gcc dot gnu.org
  2022-04-05 16:46 ` jason at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-01-18 14:27 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103329

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/103329] [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a
  2021-11-19 10:40 [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a marxin at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2022-01-18 14:27 ` rguenth at gcc dot gnu.org
@ 2022-04-05 16:46 ` jason at gcc dot gnu.org
  2022-04-05 19:16 ` jason at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jason at gcc dot gnu.org @ 2022-04-05 16:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103329

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/103329] [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a
  2021-11-19 10:40 [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a marxin at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2022-04-05 16:46 ` jason at gcc dot gnu.org
@ 2022-04-05 19:16 ` jason at gcc dot gnu.org
  2022-04-05 19:16 ` jason at gcc dot gnu.org
  2022-04-06  8:47 ` marxin at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jason at gcc dot gnu.org @ 2022-04-05 19:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103329

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> ---
Created attachment 52753
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52753&action=edit
fix?

I can't reproduce this with the top of either the 11 or 12 branches; if you
can, does this fix it?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/103329] [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a
  2021-11-19 10:40 [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a marxin at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2022-04-05 19:16 ` jason at gcc dot gnu.org
@ 2022-04-05 19:16 ` jason at gcc dot gnu.org
  2022-04-06  8:47 ` marxin at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jason at gcc dot gnu.org @ 2022-04-05 19:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103329

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |WAITING

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/103329] [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a
  2021-11-19 10:40 [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a marxin at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2022-04-05 19:16 ` jason at gcc dot gnu.org
@ 2022-04-06  8:47 ` marxin at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-04-06  8:47 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103329

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|WAITING                     |RESOLVED

--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
Apparently, it was fixed on master with r12-6872-gf3e6ef7d873885ff.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-04-06  8:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-19 10:40 [Bug c++/103329] New: [11/12 Regression] Code divergence in debug info with -fdump-tree-original since r11-291-g0f50f6daa140186a marxin at gcc dot gnu.org
2021-11-19 10:41 ` [Bug c++/103329] " marxin at gcc dot gnu.org
2021-11-19 13:00 ` rguenth at gcc dot gnu.org
2021-11-22 17:40 ` jakub at gcc dot gnu.org
2021-12-31 15:56 ` jakub at gcc dot gnu.org
2022-01-18 14:27 ` rguenth at gcc dot gnu.org
2022-04-05 16:46 ` jason at gcc dot gnu.org
2022-04-05 19:16 ` jason at gcc dot gnu.org
2022-04-05 19:16 ` jason at gcc dot gnu.org
2022-04-06  8:47 ` marxin at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).