58 lines · c
1// RUN: %clang_cc1 -w -emit-llvm %s -o /dev/null2 3/* These are random tests that I used when working on the GCC frontend 4 originally. */5 6// test floating point comparison!7int floatcomptest(double *X, double *Y, float *x, float *y) {8 return *X < *Y || *x < *y;9}10 11extern void *malloc(unsigned);12 13// Exposed a bug14void *memset_impl(void *dstpp, int c, unsigned len) {15 long long int dstp = (long long int) dstpp;16 17 while (dstp % 4 != 0)18 {19 ((unsigned char *) dstp)[0] = c;20 dstp += 1;21 len -= 1;22 }23 return dstpp;24}25 26// TEST problem with signed/unsigned versions of the same constants being shared27// incorrectly!28//29static char *temp;30static int remaining;31static char *localmalloc(int size) {32 char *blah;33 34 if (size>remaining) 35 {36 temp = (char *) malloc(32768);37 remaining = 32768;38 return temp;39 }40 return 0;41}42 43typedef struct { double X; double Y; int Z; } PBVTest;44 45PBVTest testRetStruct(float X, double Y, int Z) {46 PBVTest T = { X, Y, Z };47 return T;48}49PBVTest testRetStruct2(void); // external func no inlining50 51 52double CallRetStruct(float X, double Y, int Z) {53 PBVTest T = testRetStruct2();54 return T.X+X+Y+Z;55}56 57 58