llvm-project

Форк
0
/
dllexport-default-arg-closure.cpp 
26 строк · 809.0 Байт
1
// Make sure we emit the MS ABI default ctor closure with PCH.
2
//
3
// Test this without pch.
4
// RUN: %clang_cc1 -fms-extensions -triple x86_64-windows-msvc -std=c++11 -include %s -emit-llvm -o - %s | FileCheck %s
5

6
// Test with pch.
7
// RUN: %clang_cc1 -fms-extensions -triple x86_64-windows-msvc -std=c++11 -emit-pch -o %t %s
8
// RUN: %clang_cc1 -fms-extensions -triple x86_64-windows-msvc -std=c++11 -include-pch %t -emit-llvm -o - %s | FileCheck %s
9

10
#ifndef HEADER
11
#define HEADER
12

13
struct __declspec(dllexport) Foo {
14
  enum E { E0 } e;
15
  Foo(E e = E0) : e(e) {}
16
};
17

18
// Demangles as:
19
// void Foo::`default constructor closure'(void)
20
// CHECK: define weak_odr dso_local dllexport void @"??_FFoo@@QEAAXXZ"(ptr{{.*}})
21
// CHECK:   call noundef ptr @"??0Foo@@QEAA@W4E@0@@Z"(ptr {{.*}}, i32 noundef 0)
22

23
#else
24

25

26
#endif
27

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.