This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/33097] Invalid decl trees are created for external intrinsics



------- Comment #2 from asl at math dot spbu dot ru  2007-08-17 12:49 -------
Quick example of the problem:

<function_decl 0x4bf6d00 _gfortran_matmul_r4
    type <function_type 0x52495a0
         type <void_type 0x4419840 void VOID
             align 8 symtab 6 alias set -1
             LLVM:  void
             pointer_to_this <pointer_type 0x44198a0>>
         QI
         size <integer_cst 0x441247c constant invariant 8>
         unit size <integer_cst 0x4412498 constant invariant 1>
         align 8 symtab 0 alias set -1
         arg-types <tree_list 0x524d63c value <reference_type 0x5249540>
             chain <tree_list 0x524d658 value <void_type 0x4419840 void>>>
         pointer_to_this <pointer_type 0x5249600>>
    addressable public external asm-frame-size 0 QI file rnflow.f90 line 2723
chain <function_decl 0x4bf6c00 dgetri>>

Note, we have only 1 arg for matmul_r4 and it's return value actually. And such
decl is attached to CALL_EXPR, which has 3 arguments to provide for callee :)

The gcf_show_symbol() returns (no formal args, as expected):

       symbol _gfortran_matmul_r4 (REAL 4)(PROCEDURE UNKNOWN-INTENT
UNKNOWN-ACCESS INTRINSIC-PROC DIMENSION EXTERNAL FUNCTION)
       Array spec:(2 AS_ASSUMED_SHAPE () () () () )
       result: _gfortran_matmul_r4


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]