Adding RUN lines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17532 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tanya Lattner 2004-11-06 22:41:00 +00:00
parent d13e0ae12e
commit e9af5d186b
107 changed files with 214 additions and 0 deletions

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* Regression test. Just compile .c -> .ll to test */
int foo(void) {
unsigned char *pp;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
// This caused generation of the following type name:
// %Array = uninitialized global [10 x %complex int]
//

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
void *dlclose(void*);
void ap_os_dso_unload(void *handle)

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* Test problem where bad code was generated with a ?: statement was
in a function call argument */

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* This triggered a problem in reload, fixed by disabling most of the
* steps of compilation in GCC. Before this change, the code went through
* the entire backend of GCC, even though it was unnecessary for LLVM output

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* This testcase causes a symbol table collision. Type names and variable
* names should be in distinct namespaces
*/

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* Testcase for a problem where GCC allocated xqic to a register,
* and did not have a VAR_DECL that explained the stack slot to LLVM.
* Now the LLVM code synthesizes a stack slot if one is presented that

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* GCC Used to generate code that contained a branch to the entry node of
* the do_merge function. This is illegal LLVM code. To fix this, GCC now
* inserts an entry node regardless of whether or not it has to insert allocas.

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* test that locals are renamed with . notation */
void abc(void *);

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
int test(int X) {
return X;
}

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* GCC wasn't handling 64 bit constants right fixed */
void main() {

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
double FOO = 17;
double BAR = 12.0;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
#include <string.h>
int test(char *X) {

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* GCC would generate bad code if not enough initializers are
specified for an array.
*/

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct Connection_Type {
long to;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* GCC was not emitting string constants of the correct length when
* embedded into a structure field like this. It thought the strlength
* was -1.

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* GCC was generating PHI nodes with an arity < #pred of the basic block the
* PHI node lived in. This was breaking LLVM because the number of entries
* in a PHI node must equal the number of predecessors for a basic block.

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* This code used to break GCC's SSA computation code. It would create
uses of B & C that are not dominated by their definitions. See:
http://gcc.gnu.org/ml/gcc/2002-03/msg00697.html

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* GCC was not escaping quotes in string constants correctly, so this would
* get emitted:
* %.LC1 = internal global [32 x sbyte] c"*** Word "%s" on line %d is not\00"

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
int printf(const char *, ...);
int foo();

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* GCC is not outputting the static array to the LLVM backend, so bad things
* happen. Note that if this is defined static, everything seems fine.
*/

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct S {
int i;
short s1, s2;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct {
char p;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* Make sure the frontend is correctly marking static stuff as internal! */
int X;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* Testcase for when struct tag conflicts with typedef name... grr */
typedef struct foo {

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
#include <stdio.h>
void test() {

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
// Test list stuff
void *malloc(unsigned);

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* These are random tests that I used when working on the GCC frontend
originally. */

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
// Test ?: in function calls
extern fp(int, char*);

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
void *malloc(unsigned);

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
char auto_kibitz_list[100][20] = {
{"diepx"},
{"ferret"},

View File

@ -1,2 +1,4 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
char * foo() { return "\\begin{"; }

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
union X {
void *B;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
union X;
struct Empty {};
union F {};

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
int tcount;
void test(char *, const char*, int);
void foo() {

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct
{
unsigned char type; /* Indicates, NORMAL, SUBNORMAL, etc. */

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef union {
long (*ap)[4];

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* In this testcase, the return value of foo() is being promotedto a register
* which breaks stuff
*/

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* This testcase doesn't actually test a bug, it's just the result of me
* figuring out the syntax for forward declaring a static variable. */
struct list {

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
int foo(int *A, unsigned X) {
return A[X];

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct DWstruct {
char high, low;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
extern void start() __asm__("start");
extern void _start() __asm__("_start");
extern void __start() __asm__("__start");

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
void foo() {}

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* Provide Declarations */
#ifndef NULL

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
_Bool X = 0;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
const char *W = "foo";
const int X = 7;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
extern char algbrfile[9];
char algbrfile[9] = "abcdefgh";

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct
{
void *stack;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
// XFAIL: linux,sun,darwin
union foo {

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
// XFAIL: *
/* It is unlikely that LLVM will ever support nested functions, but if it does,
here is a testcase. */

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct Blend_Map_Entry {
union {
float Colour[5];

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
double Test(double A, double B, double C, double D) {
return -(A-B) - (C-D);
}

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct min_info {
long offset;
unsigned file_attr;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/* This is apparently legal C.
*/
extern __inline__ void test() { }

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
#include <setjmp.h>

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct {
int op;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
void foo()
{
char *ap;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
static int foo(int);

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
extern int vfork(void);
test() {
vfork();

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct bar;
void foo()

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct {
unsigned long val;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct {
int *name;
} syms = { L"NUL" };

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
union foo { int X; };

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct Word {
short bar;
short baz;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
void foo() {
unsigned char int_latin1[] = "f\200\372b\200\343\200\340";
}

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct foo {
unsigned int I:1;
unsigned char J[1];

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
// XFAIL: linux,sun,darwin
struct istruct {
unsigned char C;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct foo {
unsigned int I:1;
unsigned char J[1][123];

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct BF {
int A : 1;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
enum En {
ENUM_VAL
};

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
union U{
int i[8];
char s[80];

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
extern int A[10];
void Func(int *B) {

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct Foo {
unsigned a;
unsigned b;

View File

@ -1,2 +1,4 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
#ident "foo"

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct foo { int X; };
struct bar { int Y; };

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct { int foo; } spinlock_t;
typedef struct wait_queue_head_t { spinlock_t lock; } wait_queue_head_t;
void call_usermodehelper(void) {

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct { } the_coolest_struct_in_the_world;
extern the_coolest_struct_in_the_world xyzzy;
void *foo() { return &xyzzy; }

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
union bdflush_param {
struct { int x; } b_un;
int y[1];

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct { } rwlock_t;
struct fs_struct { rwlock_t lock; int umask; };
void __copy_fs_struct(struct fs_struct *fs) { fs->lock = (rwlock_t) { }; }

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
void schedule_timeout(signed long timeout)
{
switch (timeout)

View File

@ -1,2 +1,4 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
void query_newnamebuf(void) { ((void)"query_newnamebuf"); }

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
void bar () {
static char x[10];
static char *xend = x + 10;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
typedef struct { unsigned long pgprot; } pgprot_t;
void split_large_page(unsigned long addr, pgprot_t prot)

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct _GIOChannel {
int write_buf;
char partial_write_buf[6];

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct face_cachel {
unsigned int reverse :1;
unsigned char font_specified[1];

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
int test() {
__complex__ double C;
double D;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct printf_spec {
unsigned int minus_flag:1;
char converter;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
unsigned long do_csum(const unsigned char *buff, int len, unsigned long result) {
if (2 & (unsigned long) buff) result += 1;
return result;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct i387_soft_struct {
long cwd;
};

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
struct i387_soft_struct {
long cwd;
long twd;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/*
* This regression test ensures that the C front end can compile initializers
* even when it cannot determine the size (as below).

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
extern __inline long int
__strtol_l (int a)

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
/*
* XFAIL: linux
*/

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
void test(__complex__ double D, double X) {
D /= X;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
// Test that these initializers are handled efficiently
int test(int x) {

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
int code[]={0,0,0,0,1};
void foo(int x) {
volatile int b;

View File

@ -1,3 +1,5 @@
// RUN: %llvmgcc -S %s -o - | llvm-as -f -o /dev/null
int foo() {
register int X __asm__("ebx");
return X;

Some files were not shown because too many files have changed in this diff Show More