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 c/12692] New: __builtin_apply_args also broken on mips irix 6.5 ?


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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

           Summary: __builtin_apply_args also broken on mips irix 6.5 ?
           Product: gcc
           Version: 3.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pierre dot nguyen-tuong at asim dot lip6 dot fr
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: mips-sgi-irix6.5
  GCC host triplet: mips-sgi-irix6.5
GCC target triplet: mips-sgi-irix6.5

__builtin_apply_args fails to put float arguments on the stack

Works fine on Linux, g++ 3.3.1
Seems to fail on mips-sgi-irix6.5, g++ 3.3 (N32 and 64 ABI)
Also fails on Solaris 2.9 gcc 3.3.1 (see bug #12503, confirmed)

Example:
- funcA is a variadic function
- funcB is a normal function
- funcA is called and should give all its arguments to funcB thanks to
__builtin_apply_args and __builtin_apply

main -> funcA(args) -> funcB(args)

Note: arguments are put in correct order in the stack, but float (double)
arguments are set to 0.0

Compile file demo.cpp with g++ -Wall -o demo demo.cpp for N32 or
g++ -Wall -mabi=64 -mips4 -o demo demo.cpp for N64 and run ./demo

Tested on SGI Octane R10000, Irix 6.5.16f, g++ 3.3


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