| // RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s |
| |
| namespace Common { |
| enum RenderMode { |
| kRenderEGA, |
| kRenderCGA |
| }; |
| class C; |
| class A { |
| A(); |
| C *_vm; |
| unsigned char _highlightColorTableVGA[]; |
| static const unsigned char b[]; |
| }; |
| // CHECK: [[Common_A_b:@[^ ]+]] = {{(dso_local )?}}constant [1 x i8] zeroinitializer |
| class B { |
| public: |
| Common::RenderMode _configRenderMode; |
| }; |
| class C : public B {}; |
| A::A() { |
| 0 == Common::kRenderCGA || _vm->_configRenderMode == Common::kRenderEGA |
| ? b |
| : _highlightColorTableVGA; |
| // Make sure the PHI value is casted correctly to the PHI type |
| // CHECK: %{{.*}} = phi [0 x i8]* [ bitcast ([1 x i8]* [[Common_A_b]] to [0 x i8]*), %{{.*}} ], [ %{{.*}}, %{{.*}} ] |
| } |
| const unsigned char A::b[] = { 0 }; |
| } |