// RUN: %llvmgcc -S %s -o /dev/null
// RUN: %llvmgcc -S %s -o /dev/null
union foo {
struct { char A, B; } X;
union foo {
struct { char A, B; } X;
// RUN: %llvmgcc -S %s -o /dev/null
// RUN: %llvmgcc -S %s -o /dev/null
struct istruct {
unsigned char C;
};
struct istruct {
unsigned char C;
};
// RUN: %llvmgcc -S %s -o /dev/null
// RUN: %llvmgcc -S %s -o /dev/null
/*
* This regression test ensures that the C front end can compile initializers
/*
* This regression test ensures that the C front end can compile initializers
// RUN: %llvmgcc %s -S -o -
// RUN: %llvmgcc %s -S -o -
int sub1(int i, char *pi) {
typedef int foo[i];
int sub1(int i, char *pi) {
typedef int foo[i];
// RUN: %llvmgcc %s -S -o - | gccas | llvm-dis | grep llvm.stacksave
// RUN: %llvmgcc %s -S -o - | gccas | llvm-dis | grep llvm.stacksave
// RUN: %llvmgcc %s -S -o - | gccas | llvm-dis | grep foo[12345] | wc -l | grep 5
// RUN: %llvmgcc %s -S -o - | gccas | llvm-dis | grep foo[12345] | wc -l | grep 5
__asm__ ("foo1");
__asm__ ("foo2");
__asm__ ("foo1");
__asm__ ("foo2");
// Test that basic generic vector support works
// Test that basic generic vector support works
// RUN: %llvmgcc %s -S -o -
// RUN: %llvmgcc %s -S -o -
typedef int v4si __attribute__ ((__vector_size__ (16)));
void test(v4si *P, v4si *Q, float X) {
typedef int v4si __attribute__ ((__vector_size__ (16)));
void test(v4si *P, v4si *Q, float X) {
// RUN: %llvmgcc %s -S -o -
// PR854
// RUN: %llvmgcc %s -S -o -
// PR854
struct kernel_symbol {
unsigned long value;
};
struct kernel_symbol {
unsigned long value;
};
// RUN: %llvmgcc %s -S -o /dev/null &&
// RUN: %llvmgcc %s -S -o - | grep 'ext: xorl %eax, eax; movl' &&
// RUN: %llvmgcc %s -S -o - | grep 'nonext: xorl %eax, %eax; mov'
// RUN: %llvmgcc %s -S -o /dev/null &&
// RUN: %llvmgcc %s -S -o - | grep 'ext: xorl %eax, eax; movl' &&
// RUN: %llvmgcc %s -S -o - | grep 'nonext: xorl %eax, %eax; mov'