mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
Testcases for 54503. One derived from PR 2533, the
other from Python. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54505 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
29
test/FrontendC/2008-08-07-AlignPadding1.c
Normal file
29
test/FrontendC/2008-08-07-AlignPadding1.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/* RUN: %llvmgcc %s -m64 -S -o - -emit-llvm -O0 | grep zeroinitializer | count 6
|
||||
|
||||
The FE must generate padding here both at the end of each PyG_Head and
|
||||
between array elements. Reduced from Python. */
|
||||
|
||||
typedef union _gc_head {
|
||||
struct {
|
||||
union _gc_head *gc_next;
|
||||
union _gc_head *gc_prev;
|
||||
long gc_refs;
|
||||
} gc;
|
||||
int dummy __attribute__((aligned(16)));
|
||||
} PyGC_Head;
|
||||
|
||||
struct gc_generation {
|
||||
PyGC_Head head;
|
||||
int threshold;
|
||||
int count;
|
||||
};
|
||||
|
||||
#define GEN_HEAD(n) (&generations[n].head)
|
||||
|
||||
/* linked lists of container objects */
|
||||
static struct gc_generation generations[3] = {
|
||||
/* PyGC_Head, threshold, count */
|
||||
{{{GEN_HEAD(0), GEN_HEAD(0), 0}}, 700, 0},
|
||||
{{{GEN_HEAD(1), GEN_HEAD(1), 0}}, 10, 0},
|
||||
{{{GEN_HEAD(2), GEN_HEAD(2), 0}}, 10, 0},
|
||||
};
|
18
test/FrontendC/2008-08-07-AlignPadding2.c
Normal file
18
test/FrontendC/2008-08-07-AlignPadding2.c
Normal file
@@ -0,0 +1,18 @@
|
||||
/* RUN: %llvmgcc %s -m64 -S -o - -emit-llvm -O0 | grep zeroinitializer | count 1
|
||||
|
||||
The FE must not generate padding here between array elements. PR 2533. */
|
||||
|
||||
typedef struct {
|
||||
const char *name;
|
||||
int flags;
|
||||
union {
|
||||
int x;
|
||||
} u;
|
||||
} OptionDef;
|
||||
|
||||
const OptionDef options[] = {
|
||||
/* main options */
|
||||
{ "a", 0, {3} },
|
||||
{ "b", 0, {4} },
|
||||
{ 0, },
|
||||
};
|
Reference in New Issue
Block a user