mangle-ms.cpp revision b021f8bd445959e2a5c958624a464ff621253ae4
1e60cea829b3bc45fcfedbfdb08cffb61f5bde79fCharles Davis// RUN: %clang_cc1 -emit-llvm %s -o - -cxx-abi microsoft -triple=i386-apple-darwin10 | FileCheck %s
2e60cea829b3bc45fcfedbfdb08cffb61f5bde79fCharles Davis
3b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis// CHECK: @"\01?a@@3HA"
4b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis// CHECK: @"\01?b@N@@3HA"
5570d2763bc9ee6c26b12c0b6316dd87261520bfeCharles Davis// CHECK: @c
6b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis// CHECK: @"\01?d@foo@@0FB"
7b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis// CHECK: @"\01?e@foo@@1JC"
8b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis// CHECK: @"\01?f@foo@@2DD"
9570d2763bc9ee6c26b12c0b6316dd87261520bfeCharles Davis
10570d2763bc9ee6c26b12c0b6316dd87261520bfeCharles Davisint a;
11e60cea829b3bc45fcfedbfdb08cffb61f5bde79fCharles Davis
12e60cea829b3bc45fcfedbfdb08cffb61f5bde79fCharles Davisnamespace N { int b; }
13570d2763bc9ee6c26b12c0b6316dd87261520bfeCharles Davis
14570d2763bc9ee6c26b12c0b6316dd87261520bfeCharles Davisstatic int c;
15570d2763bc9ee6c26b12c0b6316dd87261520bfeCharles Davisint _c(void) {return c;}
16570d2763bc9ee6c26b12c0b6316dd87261520bfeCharles Davis
17b021f8bd445959e2a5c958624a464ff621253ae4Charles Davisclass foo {
18b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis  static const short d;
19b021f8bd445959e2a5c958624a464ff621253ae4Charles Davisprotected:
20b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis  static volatile long e;
21b021f8bd445959e2a5c958624a464ff621253ae4Charles Davispublic:
22b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis  static const volatile char f;
23b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis};
24b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis
25b021f8bd445959e2a5c958624a464ff621253ae4Charles Davisconst short foo::d = 0;
26b021f8bd445959e2a5c958624a464ff621253ae4Charles Davisvolatile long foo::e;
27b021f8bd445959e2a5c958624a464ff621253ae4Charles Davisconst volatile char foo::f = 'C';
28b021f8bd445959e2a5c958624a464ff621253ae4Charles Davis
29