------- Comment #2 from rguenth at gcc dot gnu dot org  2005-10-24 16:47 -------
We are trying to fold_convert

c12D.574[NON_LVALUE_EXPR <iiD.571> + -1]

to struct une_classe (which is the main variant).
(the type is already une_classe - if the name does mean anything here)

Just fortran doesn't recognize those types main variants as compatible.
They look like
(gdb) call debug_tree(type)
 <record_type 0x40208ebc une_classe SI
    size <integer_cst 0x401bf3f0 type <integer_type 0x401ce05c bit_size_type>
constant invariant 32>
    unit size <integer_cst 0x401bf180 type <integer_type 0x401ce000> constant
invariant 4>
    align 32 symtab 0 alias set -1
    fields <field_decl 0x40208f18 ident
        type <integer_type 0x401ce284 int4 public SI size <integer_cst
0x401bf3f0 32> unit size <integer_cst 0x401bf180 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst
0x401bf3a8 -2147483648> max <integer_cst 0x401bf3c0 2147483647>
            pointer_to_this <pointer_type 0x401ceb80>>
        SI file t.f90 line 29 size <integer_cst 0x401bf3f0 32> unit size
<integer_cst 0x401bf180 4>
        align 32 offset_align 128
        offset <integer_cst 0x401bf198 constant invariant 0>
        bit offset <integer_cst 0x401bf720 constant invariant 0> context
<record_type 0x40208ebc une_classe>>
    pointer_to_this <pointer_type 0x4020b4ac> chain <type_decl 0x401d5888
D.559>>
(gdb) call debug_tree(0x4020b564)
 <record_type 0x4020b564 une_classe SI
    size <integer_cst 0x401bf3f0 type <integer_type 0x401ce05c bit_size_type>
constant invariant 32>
    unit size <integer_cst 0x401bf180 type <integer_type 0x401ce000> constant
invariant 4>
    align 32 symtab 0 alias set -1
    fields <field_decl 0x4020b5c0 ident
        type <integer_type 0x401ce284 int4 public SI size <integer_cst
0x401bf3f0 32> unit size <integer_cst 0x401bf180 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst
0x401bf3a8 -2147483648> max <integer_cst 0x401bf3c0 2147483647>
            pointer_to_this <pointer_type 0x401ceb80>>
        SI file t.f90 line 29 size <integer_cst 0x401bf3f0 32> unit size
<integer_cst 0x401bf180 4>
        align 32 offset_align 128
        offset <integer_cst 0x401bf198 constant invariant 0>
        bit offset <integer_cst 0x401bf720 constant invariant 0> context
<record_type 0x4020b564 une_classe>>
    pointer_to_this <pointer_type 0x4020b730> chain <type_decl 0x401d5a28
D.573>>


fortran doesn't seem to deal with type equivalences across modules?


-- 

rguenth 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         |2005-10-24 16:47:53
               date|                            |


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

Reply via email to