mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-06 20:32:19 +00:00
Add a test case for bit accurate integer types in llvm-gcc. This is
XFAILed for now until llvm-gcc changes are committed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33261 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1e0f33873b
commit
4af33c2605
35
test/CFrontend/bit-accurate-int.c
Normal file
35
test/CFrontend/bit-accurate-int.c
Normal file
@ -0,0 +1,35 @@
|
||||
// RUN: %llvmgcc -S %s -o - /dev/null
|
||||
// XFAIL: *
|
||||
|
||||
#define ATTR_BITS(N) __attribute__((bitwidth(N)))
|
||||
|
||||
typedef int ATTR_BITS( 4) My04BitInt;
|
||||
typedef int ATTR_BITS(16) My16BitInt;
|
||||
typedef int ATTR_BITS(17) My17BitInt;
|
||||
typedef int ATTR_BITS(37) My37BitInt;
|
||||
typedef int ATTR_BITS(65) My65BitInt;
|
||||
|
||||
struct MyStruct {
|
||||
My04BitInt i4Field;
|
||||
short ATTR_BITS(12) i12Field;
|
||||
long ATTR_BITS(17) i17Field;
|
||||
My37BitInt i37Field;
|
||||
};
|
||||
|
||||
My37BitInt doit( short ATTR_BITS(23) num) {
|
||||
My17BitInt i;
|
||||
struct MyStruct strct;
|
||||
int bitsize1 = sizeof(My17BitInt);
|
||||
int __attribute__((bitwidth(9))) j;
|
||||
int bitsize2 = sizeof(j);
|
||||
int result = bitsize1 + bitsize2;
|
||||
strct.i17Field = result;
|
||||
result += sizeof(struct MyStruct);
|
||||
return result;
|
||||
}
|
||||
|
||||
int
|
||||
main ( int argc, char** argv)
|
||||
{
|
||||
return (int ATTR_BITS(32)) doit((short ATTR_BITS(23))argc);
|
||||
}
|
Loading…
Reference in New Issue
Block a user