[LLVMbugs] [Bug 1787] New: x86 long double not passed according to the ABI
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Fri Nov 9 06:17:59 PST 2007
http://llvm.org/bugs/show_bug.cgi?id=1787
Summary: x86 long double not passed according to the ABI
Product: new-bugs
Version: unspecified
Platform: Other
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: baldrick at free.fr
CC: llvmbugs at cs.uiuc.edu
If I pass two long doubles from a routine compiled with llvm-gcc to a routine
compiled with mainline gcc, then the second value is not passed right.
$ gcc -c ld_gcc.c
$ llvm-gcc -c ld_llvm.c
$ gcc -o x ld_llvm.o ld_gcc.o && ./x
1 0
If I recompile using only gcc, then all is well:
$ gcc -c ld_llvm.c
$ gcc -o x ld_llvm.o ld_gcc.o && ./x
1 1
First observed when calling the long double math library functions.
ld_gcc.c:
#include <stdio.h>
void p(long double d, long double e) {
printf("%g %g\n", (double)d, (double)e);
}
ld_llvm.c:
extern void p(long double, long double);
int main(void) {
p(1.0, 1.0);
return 0;
}
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list