Summary: | Folding conversion unsigned long long to float | ||
---|---|---|---|
Product: | gcc | Reporter: | Erwin Unruh <Erwin.Unruh> |
Component: | middle-end | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gcc-bugs |
Priority: | P3 | Keywords: | wrong-code |
Version: | 4.3.0 | ||
Target Milestone: | 4.4.0 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2006-11-16 09:54:40 |
Description
Erwin Unruh
2006-11-16 08:19:26 UTC
Confirmed. A testcase would probably be sth along the lines of extern void abort (void); void __attribute__((noinline)) foo (unsigned long long x) { float uf = x; float sf = (signed long long)x; if (uf == sf) abort (); } int main() { foo (-1); return 0; } with the right target and soft-float (any suggestion?). |