// RUN: %clang_cc1 -fsyntax-only -verify -fms-extensions %s -triple x86_64-pc-win32
// expected-no-diagnostics
// Non-Member Function Overloading is involved
int __declspec
//CHECK: define {{.*}}bar_one{{.*}} section "foo_one"
int __declspec
//CHECK: define {{.*}}bar_one{{.*}} section "foo_two"
int __declspec
//CHECK: define {{.*}}bar_one{{.*}} section "foo_three"
// virtual function overloading is involved
;
//CHECK: define {{.*}}barA@Base3{{.*}} section "my_one"
//CHECK: define {{.*}}barA@Base3{{.*}} section "my_one"
//CHECK: define {{.*}}barA@Base3{{.*}} section "my_one"
//CHECK: define {{.*}}barB@Base3{{.*}} section "my_two"
//CHECK: define {{.*}}barB@Base3{{.*}} section "my_three"
//CHECK: define {{.*}}barB@Base3{{.*}} section "my_four"
// Member functions
; int
//CHECK: define {{.*}}bar3@Foo{{.*}} section "foo_four"
//CHECK: define {{.*}}bar4@Foo{{.*}} section "foo_lala"
// Lambdas
int __declspec
//CHECK: define {{.*}}bar1{{.*}} section "foo"
//CHECK: define {{.*}}lambda{{.*}}bar1{{.*}} section "something"
double __declspec
//CHECK: define {{.*}}bar2{{.*}} section "foo"
//CHECK: define {{.*}}lambda{{.*}}bar2{{.*}} section "another"