------- Comment #6 from ebotcazou at gcc dot gnu dot org  2009-12-05 12:39 
-------
The problem is that the comparison of types is not anti-symmetrical:

(gdb) call compare_access_positions(&access_vec->base.vec[2],
&access_vec->base.vec[3])
$37 = 1
(gdb) call compare_access_positions(&access_vec->base.vec[3],
&access_vec->base.vec[2])
$38 = 1

(gdb) call compare_access_positions(&access_vec->base.vec[2],
&access_vec->base.vec[2])
$39 = 1

(gdb) p debug_tree(access_vec->base.vec[2]->type)
 <integer_type ff1059e0 SItype sizes-gimplified SI
    size <integer_cst ff008860 type <integer_type ff024060 bit_size_type>
constant 32>
    unit size <integer_cst ff008600 type <integer_type ff024000 unsigned int>
constant 4>
    align 32 symtab 0 alias set -1 canonical type ff0242a0 precision 32 min
<integer_cst ff008800 -2147483648> max <integer_cst ff008820 2147483647>>

(gdb) p debug_tree(access_vec->base.vec[3]->type)
 <integer_type ff1059e0 SItype sizes-gimplified SI
    size <integer_cst ff008860 type <integer_type ff024060 bit_size_type>
constant 32>
    unit size <integer_cst ff008600 type <integer_type ff024000 unsigned int>
constant 4>
    align 32 symtab 0 alias set -1 canonical type ff0242a0 precision 32 min
<integer_cst ff008800 -2147483648> max <integer_cst ff008820 2147483647>>


-- 

ebotcazou at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2009-12-05 12:39:08
               date|                            |


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

Reply via email to