|
From: | Christian Jullien |
Subject: | [Tinycc-devel] x86_64 maintainer, I remind you that long double is still not supported |
Date: | Sun, 9 Oct 2016 07:51:48 +0200 |
Hi, A quick note first: Because we want to release a new version, I’m trying to play the role of a kind of “release manager”. I’m definitely NOT TinyCC release manager and I’m not sure I want to be, I’m just trying to help. I’m reviewing tests or features that are not working ATM. I’m able to test TinyCC on Windows 32/64, RPi (ARM32), Linux x86_64, and aarch64 Linux board. Don’t hesitate to ask me to do some tests. Now, the missing feature: Passing long double in struct is not supporter with x86_64: Part of 73_arm64 test (btw test name is odd), f11 and f21 work well while f31 hangs because of: x86_64-gen.c :1359 } else { assert(mode == x86_64_mode_memory); In the test below, mode is passed as x86_64_mode_x87 // This program is designed to test some arm64-specific things, such as the // calling convention, but should give the same results on any architecture. #include <stdarg.h> #include <stdint.h> #include <stdio.h> struct hfa11 { float a; } hfa11 = { 11.1 }; struct hfa21 { double a; } hfa21 = { 21.1 }; struct hfa31 { long double a; } hfa31 = { 31.1 }; f11(struct hfa11 x) { printf("%g\n", x.a); } f21(struct hfa21 x) { printf("%g\n", x.a); } f31(struct hfa31 x) { printf("%g\n", x.a); } int main() { f11(hfa11); f21(hfa21); f31(hfa31); return 0; } |
[Prev in Thread] | Current Thread | [Next in Thread] |