forked from OSchip/llvm-project
[-fms-extensions] Add tests for __FUNCDNAME__
__FUNCDNAME__ was introduced way back in r194181 but I forgot to add these tests. llvm-svn: 206125
This commit is contained in:
parent
d43388cc04
commit
81c55b6255
|
@ -0,0 +1,32 @@
|
|||
// RUN: %clang_cc1 -std=c++1y -triple i386-pc-win32 -fms-compatibility -fms-extensions -fsyntax-only -verify %s
|
||||
// expected-no-diagnostics
|
||||
|
||||
int foo() {
|
||||
static_assert(sizeof(__FUNCDNAME__) == 12, "?foo@@YAHXZ");
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Within templates.
|
||||
template <typename T>
|
||||
int baz() {
|
||||
static_assert(sizeof(__FUNCDNAME__) == 16, "??$baz@H@@YAHXZ");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct A {
|
||||
A() {
|
||||
static_assert(sizeof(__FUNCDNAME__) == 13, "??0A@@QAE@XZ");
|
||||
}
|
||||
~A() {
|
||||
static_assert(sizeof(__FUNCDNAME__) == 13, "??1A@@QAE@XZ");
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
static_assert(sizeof(__FUNCDNAME__) == 5, "main");
|
||||
|
||||
baz<int>();
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue