1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s
2bd94ab9a19cb4bed55ecae9558533da9606bedcfEli Friedman
3bd94ab9a19cb4bed55ecae9558533da9606bedcfEli Friedmanconst int x = 10;
4bd94ab9a19cb4bed55ecae9558533da9606bedcfEli Friedmanconst int y = 20;
5820e9a7e29a01bd4a91537a6c6d4524834da622bRichard Smithconst volatile int z = 30;
6bd94ab9a19cb4bed55ecae9558533da9606bedcfEli Friedman// CHECK-NOT: @x
7820e9a7e29a01bd4a91537a6c6d4524834da622bRichard Smith// CHECK: @z = constant i32 30
831455256ae26cc7069111643ec4429ea564377daSean Hunt// CHECK: @_ZL1y = internal constant i32 20
9bd94ab9a19cb4bed55ecae9558533da9606bedcfEli Friedmanconst int& b() { return y; }
10bd94ab9a19cb4bed55ecae9558533da9606bedcfEli Friedman
11e9d6554ba78fb81e810fdaec9b2c98ab96526e83Eli Friedmanconst char z1[] = "asdf";
12e9d6554ba78fb81e810fdaec9b2c98ab96526e83Eli Friedmanconst char z2[] = "zxcv";
13820e9a7e29a01bd4a91537a6c6d4524834da622bRichard Smithconst volatile char z3[] = "zxcv";
14e9d6554ba78fb81e810fdaec9b2c98ab96526e83Eli Friedman// CHECK-NOT: @z1
15820e9a7e29a01bd4a91537a6c6d4524834da622bRichard Smith// CHECK: @z3 = constant
1631455256ae26cc7069111643ec4429ea564377daSean Hunt// CHECK: @_ZL2z2 = internal constant
17e9d6554ba78fb81e810fdaec9b2c98ab96526e83Eli Friedmanconst char* b2() { return z2; }
18