http://llvm.org/bugs/show_bug.cgi?id=14881
Bug #: 14881
Summary: Complex unsigned long long constant truncated from 64
bits to 32 bits
Product: clang
Version: trunk
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: LLVM Codegen
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Classification: Unclassified
Created attachment 9845
--> http://llvm.org/bugs/attachment.cgi?id=9845
LLVM IR generated with Clang r171978
The following code snippet was culled from one of the GCC compatibility tests.
As shown in the attached IR, the front end loses precision on the unsigned long
long constants.
typedef _Complex unsigned long long int Tal16cullong;
struct S2008 { Tal16cullong a; };
extern struct S2008 s2008;
int foo(void) {
if (s2008.a != (__typeof__ (s2008.a)) ((4813389483906728238ULL +
3221506372476820043ULL * __extension__ 1i)))
return 1;
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs