brintos

brintos / llvm-project-archived public Read only

0
0
Text · 784 B · 604a49f Raw
27 lines · cpp
1// RUN: %clang_cc1 -emit-llvm -triple=x86_64-windows-msvc %s -o - | FileCheck %s2 3struct Foo { int x, y; };4 5struct S {6  // PR361257  static constexpr char sdm_char_array[] = "asdf";8 9  // PR4328010  static constexpr const char *sdm_char_ptr = "asdf";11 12  static constexpr Foo sdm_udt{1, 2};13};14 15void useptr(const void *p);16void usethem() {17  useptr(&S::sdm_char_array);18  useptr(&S::sdm_char_ptr);19  useptr(&S::sdm_udt);20}21 22// CHECK-DAG: @"?sdm_char_array@S@@2QBDB" = linkonce_odr dso_local constant [5 x i8] c"asdf\00", comdat, align 123 24// CHECK-DAG: @"?sdm_char_ptr@S@@2QEBDEB" = linkonce_odr dso_local constant ptr @"??_C@_04JIHMPGLA@asdf?$AA@", comdat, align 825 26// CHECK-DAG: @"?sdm_udt@S@@2UFoo@@B" = linkonce_odr dso_local constant %struct.Foo { i32 1, i32 2 }, comdat, align 427