Fix an OpenCL test case that was OpenCL conformant.

It had program scope variables that were not in the constant address space,
make them to be function scope variables instead.
Also move the test to the SemaOpenCL directory.

llvm-svn: 173352
This commit is contained in:
Joey Gouly 2013-01-24 15:14:22 +00:00
parent 2998dcbac5
commit f9283a51b8
1 changed files with 14 additions and 0 deletions

View File

@ -0,0 +1,14 @@
// RUN: %clang_cc1 -x cl -O0 -emit-llvm %s -o - -triple x86_64-linux-gnu | FileCheck %s
// OpenCL essentially reduces all shift amounts to the last word-size bits before evaluating.
// Test this both for variables and constants evaluated in the front-end.
//CHECK: @negativeShift32
int negativeShift32(int a,int b) {
//CHECK: %array0 = alloca [256 x i8]
char array0[((int)1)<<40];
//CHECK: %array1 = alloca [256 x i8]
char array1[((int)1)<<(-24)];
//CHECK: ret i32 65536
return ((int)1)<<(-16);
}