blob: 8fef68384fc1b583babaec6eeb4a5a7f84a10376 [file] [log] [blame]
Stephen Hines6bcf27b2014-05-29 04:14:42 -07001// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s
2
3namespace Common {
4enum RenderMode {
5 kRenderEGA,
6 kRenderCGA
7};
8class C;
9class A {
10 A();
11 C *_vm;
12 unsigned char _highlightColorTableVGA[];
13 static const unsigned char b[];
14};
Stephen Hinesc568f1e2014-07-21 00:47:37 -070015// CHECK: [[Common_A_b:@[^ ]+]] = constant [1 x i8] zeroinitializer
Stephen Hines6bcf27b2014-05-29 04:14:42 -070016class B {
17public:
18 Common::RenderMode _configRenderMode;
19};
20class C : public B {};
21A::A() {
22 0 == Common::kRenderCGA || _vm->_configRenderMode == Common::kRenderEGA
23 ? b
24 : _highlightColorTableVGA;
25// Make sure the PHI value is casted correctly to the PHI type
Stephen Hinesc568f1e2014-07-21 00:47:37 -070026// CHECK: %{{.*}} = phi [0 x i8]* [ bitcast ([1 x i8]* [[Common_A_b]] to [0 x i8]*), %{{.*}} ], [ %{{.*}}, %{{.*}} ]
Stephen Hines6bcf27b2014-05-29 04:14:42 -070027}
28const unsigned char A::b[] = { 0 };
29}