http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46526

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

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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-11-19 
09:04:14 UTC ---
Indeed, a tree sharing issue in C++ FE.

    arg 1 <target_expr 0x7ffff18cac60 type <record_type 0x7ffff18d17e0 A>
        side-effects constant
        arg 0 <var_decl 0x7ffff19f1e60 D.1439 type <record_type 0x7ffff18d17e0
A>
            ignored BLK file PQ.C line 19 col 5 size <integer_cst
0x7ffff19cf7a8 64> unit size <integer_cst 0x7ffff19cf7d0 8>
            align 64 context <function_decl 0x7ffff18d0700 main>>
        arg 1 <constructor 0x7ffff18dcaa0 type <record_type 0x7ffff18d17e0 A>
            constant lngt 1 idx <field_decl 0x7ffff18d7390 D.1363>
            val <constructor 0x7ffff18dca20 type <record_type 0x7ffff18d10a8
Base>
                constant lngt 1 idx <field_decl 0x7ffff18d71c8 _vptr.Base>
                val <pointer_plus_expr 0x7ffff7ffc3f0 type <pointer_type
0x7ffff18c8000>
                    readonly constant
                    arg 0 <addr_expr 0x7ffff18e6c00 type <pointer_type
0x7ffff18c8000>
                        readonly constant arg 0 <var_decl 0x7ffff19f13c0
_ZTV1A>>
                    arg 1 <integer_cst 0x7ffff19cf960 constant 16>>>>>>

and

    arg 1 <target_expr 0x7ffff18cae10 type <record_type 0x7ffff18d1f18 B>
        side-effects constant
        arg 0 <var_decl 0x7ffff18f1140 D.1468 type <record_type 0x7ffff18d1f18
B>
            ignored BLK file PQ.C line 20 col 5 size <integer_cst
0x7ffff19cf7a8 64> unit size <integer_cst 0x7ffff19cf7d0 8>
            align 64 context <function_decl 0x7ffff18d0700 main>>
        arg 1 <constructor 0x7ffff18dcc20 type <record_type 0x7ffff18d1f18 B>
            constant lngt 1 idx <field_decl 0x7ffff18d75f0 D.1372>
            val <constructor 0x7ffff18dca20 type <record_type 0x7ffff18d10a8
Base>
                constant lngt 1 idx <field_decl 0x7ffff18d71c8 _vptr.Base>
                val <pointer_plus_expr 0x7ffff7ffc578 type <pointer_type
0x7ffff18c8000>
                    readonly constant
                    arg 0 <addr_expr 0x7ffff18ed870 type <pointer_type
0x7ffff18c8000>
                        readonly constant arg 0 <var_decl 0x7ffff19f15a0
_ZTV1B>>
                    arg 1 <integer_cst 0x7ffff19cf960 constant 16>>>>>>

CONSTRUCTOR 0x7ffff18dca20 is shared in between those two expressions.

Reply via email to