Attached testcase (delta didn't reduce it any further) produces several
warnings, when compiled with -O2:

gcc -O2 -S render_1.ii
render_1.ii: In function âint pov::create_ray(pov::RAY*, double, double, int)â:
render_1.ii:6494: warning: canonical types differ for identical types double
__complex__ and double __complex__
 <complex_type 0xb77a2b60
    type <real_type 0xb7ce06e8 double sizes-gimplified type_6 DF
        size <integer_cst 0xb7cc2420 constant invariant 64>
        unit size <integer_cst 0xb7cc2438 constant invariant 8>
        align 64 symtab 0 alias set 2 canonical type 0xb7ce06e8 precision 64
        pointer_to_this <pointer_type 0xb7ce0820> reference_to_this
<reference_type 0xb793b6e8>>
    DC
    size <integer_cst 0xb7cc24f8 type <integer_type 0xb7cd8068 bit_size_type>
constant invariant 128>
    unit size <integer_cst 0xb7cc2510 type <integer_type 0xb7cd8000 unsigned
int> constant invariant 16>
    align 64 symtab 0 alias set -1 canonical type 0xb77a2b60>
 <complex_type 0xb7ce0d68 complex double
    type <real_type 0xb7ce06e8 double sizes-gimplified type_6 DF
        size <integer_cst 0xb7cc2420 constant invariant 64>
        unit size <integer_cst 0xb7cc2438 constant invariant 8>
        align 64 symtab 0 alias set 2 canonical type 0xb7ce06e8 precision 64
        pointer_to_this <pointer_type 0xb7ce0820> reference_to_this
<reference_type 0xb793b6e8>>
    DC
    size <integer_cst 0xb7cc24f8 type <integer_type 0xb7cd8068 bit_size_type>
constant invariant 128>
    unit size <integer_cst 0xb7cc2510 type <integer_type 0xb7cd8000 unsigned
int> constant invariant 16>
    align 64 symtab 0 alias set -1 canonical type 0xb7ce0d68>
render_1.ii:6494: warning: canonical types differ for identical types double
__complex__ and double __complex__
 <complex_type 0xb77a2b60
    type <real_type 0xb7ce06e8 double sizes-gimplified type_6 DF
        size <integer_cst 0xb7cc2420 constant invariant 64>
        unit size <integer_cst 0xb7cc2438 constant invariant 8>
        align 64 symtab 0 alias set 2 canonical type 0xb7ce06e8 precision 64
        pointer_to_this <pointer_type 0xb7ce0820> reference_to_this
<reference_type 0xb793b6e8>>
    DC
    size <integer_cst 0xb7cc24f8 type <integer_type 0xb7cd8068 bit_size_type>
constant invariant 128>
    unit size <integer_cst 0xb7cc2510 type <integer_type 0xb7cd8000 unsigned
int> constant invariant 16>
    align 64 symtab 0 alias set -1 canonical type 0xb77a2b60>
 <complex_type 0xb7ce0d68 complex double
    type <real_type 0xb7ce06e8 double sizes-gimplified type_6 DF
        size <integer_cst 0xb7cc2420 constant invariant 64>
        unit size <integer_cst 0xb7cc2438 constant invariant 8>
        align 64 symtab 0 alias set 2 canonical type 0xb7ce06e8 precision 64
        pointer_to_this <pointer_type 0xb7ce0820> reference_to_this
<reference_type 0xb793b6e8>>
    DC
    size <integer_cst 0xb7cc24f8 type <integer_type 0xb7cd8068 bit_size_type>
constant invariant 128>
    unit size <integer_cst 0xb7cc2510 type <integer_type 0xb7cd8000 unsigned
int> constant invariant 16>
    align 64 symtab 0 alias set -1 canonical type 0xb7ce0d68>


-- 
           Summary: warning: canonical types differ for identical types
                    double __complex__ and double __complex__
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ubizjak at gmail dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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

Reply via email to