1eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien#include "stdarg.h"
2eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien
3eae5a820bced67465c8517793a1602dfaeed8a06Logan Chiennamespace test1 {
4eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien  void test1(const char *fmt, va_list ap) {
5eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien  }
6eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien}
7eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien
8eae5a820bced67465c8517793a1602dfaeed8a06Logan Chienclass Test2 {
9eae5a820bced67465c8517793a1602dfaeed8a06Logan Chienpublic:
10eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien  void test2(const char *fmt, va_list ap);
11eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien};
12eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien
13eae5a820bced67465c8517793a1602dfaeed8a06Logan Chienvoid Test2::test2(const char *fmt, va_list ap) {
14eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien}
15eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien
16eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// RUN: %clang_cc1 %s -emit-llvm -o - \
17eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// RUN:     -triple armv7-unknown-linux \
18931a4feb64f18190d189c222d61b2abf52f18ab8Tim Northover// RUN:   | FileCheck -check-prefix=CHECK-MANGLE-ARM-AAPCS %s
19eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// CHECK-MANGLE-ARM-AAPCS: @_ZN5test15test1EPKcSt9__va_list
20eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// CHECK-MANGLE-ARM-AAPCS: @_ZN5Test25test2EPKcSt9__va_list
21eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien
22eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// RUN: %clang_cc1 %s -emit-llvm -o - \
23eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// RUN:     -triple armv7-unknown-linux -target-abi apcs-gnu \
24931a4feb64f18190d189c222d61b2abf52f18ab8Tim Northover// RUN:   | FileCheck -check-prefix=CHECK-MANGLE-ARM-APCS %s
25eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// CHECK-MANGLE-ARM-APCS: @_ZN5test15test1EPKcPv
26eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// CHECK-MANGLE-ARM-APCS: @_ZN5Test25test2EPKcPv
27eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien
28eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// RUN: %clang_cc1 %s -emit-llvm -o - \
29eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// RUN:     -triple mipsel-unknown-linux \
30931a4feb64f18190d189c222d61b2abf52f18ab8Tim Northover// RUN:   | FileCheck -check-prefix=CHECK-MANGLE-MIPSEL %s
31eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// CHECK-MANGLE-MIPSEL: @_ZN5test15test1EPKcPv
32eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// CHECK-MANGLE-MIPSEL: @_ZN5Test25test2EPKcPv
33eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien
34eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// RUN: %clang_cc1 %s -emit-llvm -o - \
35eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// RUN:     -triple i686-unknown-linux \
36931a4feb64f18190d189c222d61b2abf52f18ab8Tim Northover// RUN:   | FileCheck -check-prefix=CHECK-MANGLE-X86 %s
37eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// CHECK-MANGLE-X86: @_ZN5test15test1EPKcPc
38eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// CHECK-MANGLE-X86: @_ZN5Test25test2EPKcPc
39eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien
40eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// RUN: %clang_cc1 %s -emit-llvm -o - \
41eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// RUN:     -triple x86_64-unknown-linux \
42931a4feb64f18190d189c222d61b2abf52f18ab8Tim Northover// RUN:   | FileCheck -check-prefix=CHECK-MANGLE-X86-64 %s
43eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// CHECK-MANGLE-X86-64: @_ZN5test15test1EPKcP13__va_list_tag
44eae5a820bced67465c8517793a1602dfaeed8a06Logan Chien// CHECK-MANGLE-X86-64: @_ZN5Test25test2EPKcP13__va_list_tag
45