diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
commit | 9f4dbff6669c8037f3b036bcf580d14f1a4f12a5 (patch) | |
tree | 47df2c12b57214af6c31e47404b005675b8b7ffc /test/CodeGenCXX/PR19955.cpp | |
parent | f73d5f23a889b93d89ddef61ac0995df40286bb8 (diff) |
Notes
Diffstat (limited to 'test/CodeGenCXX/PR19955.cpp')
-rw-r--r-- | test/CodeGenCXX/PR19955.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/CodeGenCXX/PR19955.cpp b/test/CodeGenCXX/PR19955.cpp new file mode 100644 index 0000000000000..9e101550b419a --- /dev/null +++ b/test/CodeGenCXX/PR19955.cpp @@ -0,0 +1,27 @@ +// RUN: %clang_cc1 -triple i686-windows-msvc -fno-rtti -emit-llvm -std=c++1y -O0 -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-windows-msvc -fno-rtti -emit-llvm -std=c++1y -O0 -o - %s | FileCheck %s --check-prefix X64 + +extern int __declspec(dllimport) var; +extern void __declspec(dllimport) fun(); + +extern int *varp; +int *varp = &var; +// CHECK-DAG: @"\01?varp@@3PAHA" = global i32* null +// X64-DAG: @"\01?varp@@3PEAHEA" = global i32* null + +extern void (*funp)(); +void (*funp)() = &fun; +// CHECK-DAG: @"\01?funp@@3P6AXXZA" = global void ()* null +// X64-DAG: @"\01?funp@@3P6AXXZEA" = global void ()* null + +// CHECK-LABEL: @"\01??__Evarp@@YAXXZ" +// CHECK-DAG: store i32* @"\01?var@@3HA", i32** @"\01?varp@@3PAHA" + +// X64-LABEL: @"\01??__Evarp@@YAXXZ" +// X64-DAG: store i32* @"\01?var@@3HA", i32** @"\01?varp@@3PEAHEA" + +// CHECK-LABEL: @"\01??__Efunp@@YAXXZ"() +// CHECK-DAG: store void ()* @"\01?fun@@YAXXZ", void ()** @"\01?funp@@3P6AXXZA" + +// X64-LABEL: @"\01??__Efunp@@YAXXZ"() +// X64-DAG: store void ()* @"\01?fun@@YAXXZ", void ()** @"\01?funp@@3P6AXXZEA" |