1*0a6a1f1dSLionel Sambuc// RUN: %clang_cc1 -O0 %s -ffake-address-space-map -emit-llvm -o - -fblocks -triple x86_64-unknown-unknown | FileCheck %s 2*0a6a1f1dSLionel Sambuc// This used to crash due to trying to generate a bitcase from a cstring 3*0a6a1f1dSLionel Sambuc// in the constant address space to i8* in AS0. 4*0a6a1f1dSLionel Sambuc 5*0a6a1f1dSLionel Sambucvoid dummy(float (^op)(float)) 6*0a6a1f1dSLionel Sambuc{ 7*0a6a1f1dSLionel Sambuc} 8*0a6a1f1dSLionel Sambuc 9*0a6a1f1dSLionel Sambuc// CHECK: i8 addrspace(3)* getelementptr inbounds ([9 x i8] addrspace(3)* @.str, i32 0, i32 0) 10*0a6a1f1dSLionel Sambuc 11*0a6a1f1dSLionel Sambuckernel void test_block() 12*0a6a1f1dSLionel Sambuc{ 13*0a6a1f1dSLionel Sambuc float (^X)(float) = ^(float x) { return x + 42.0f; }; 14*0a6a1f1dSLionel Sambuc dummy(X); 15*0a6a1f1dSLionel Sambuc} 16*0a6a1f1dSLionel Sambuc 17