brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 70c8784 Raw
75 lines · c
1// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s2 3float test1(int cond, float a, float b) {4  return cond ? a : b;5}6 7double test2(int cond, float a, double b) {8  return cond ? a : b;9}10 11void f(void);12 13void test3(void){14   1 ? f() : (void)0;15}16 17void test4(void) {18  int i; short j;19  float* k = 1 ? &i : &j;20}21 22void test5(void) {23  const int* cip;24  void* vp;25  cip = 0 ? vp : cip;26}27 28void test6(void);29void test7(int);30void* test8(void) {return 1 ? test6 : test7;}31 32 33void _efree(void *ptr);34void free(void *ptr);35 36void _php_stream_free3(void) {37  (1 ? free(0) : _efree(0));38}39 40void _php_stream_free4(void) {41  1 ? _efree(0) : free(0);42}43 44// PR552645struct test9 { int a; };46void* test9spare(void);47void test9(struct test9 *p) {48  p ? p : test9spare();49}50 51// CHECK: @test1052// CHECK: select i1 {{.*}}, i32 4, i32 553int test10(int c) {54  return c ? 4 : 5;55}56enum { Gronk = 5 };57 58// CHECK: @test1159// CHECK: select i1 {{.*}}, i32 4, i32 560int test11(int c) {61  return c ? 4 : Gronk;62}63 64// CHECK: @test1265// CHECK: select i1 {{.*}}, double 4.0{{.*}}, double 2.066double test12(int c) {67  return c ? 4.0 : 2.0;68}69// CHECK: @test1370// CHECK: call {{.*}} @f2(71int f2(void);72void test13(void) {73  f2() ? (void)0 : (void)0;74}75