// RUN: %clang_cc1 -triple avr -target-cpu atmega2560 -emit-llvm < %s | FileCheck %s // CHECK: @var0 {{.*}} addrspace(1) constant [3 x i16] // CHECK: @f3var0 {{.*}} addrspace(4) constant [3 x i16] // CHECK: @bar.var2 {{.*}} addrspace(1) constant [3 x i16] // CHECK: @bar.f3var2 {{.*}} addrspace(4) constant [3 x i16] // CHECK: @var1 {{.*}} addrspace(1) constant [3 x i16] // CHECK: @f3var1 {{.*}} addrspace(4) constant [3 x i16] // CHECK: define{{.*}} void @bar() addrspace(1) // CHECK: call addrspace(1) void @foo // CHECK: declare void @foo(...) addrspace(1) __flash const int var0[] = {999, 888, 777}; __flash static const int var1[] = {111, 222, 333}; __flash3 const int f3var0[] = {12, 34, 56}; __flash3 static const int f3var1[] = {52, 64, 96}; int i; void foo(); void bar(void) { static __flash const int var2[] = {555, 666, 777}; static __flash3 const int f3var2[] = {5555, 6666, 7787}; foo(var1[i]); foo(f3var1[i]); }