1*0a6a1f1dSLionel Sambuc // FIXME: Check IR rather than asm, then triple is not needed.
2*0a6a1f1dSLionel Sambuc // RUN: %clang -Xclang -triple=%itanium_abi_triple -g -S %s -o - | FileCheck %s
3f4a2713aSLionel Sambuc // Test to check presence of debug info for byval parameter.
4f4a2713aSLionel Sambuc // Radar 8350436.
5f4a2713aSLionel Sambuc class DAG {
6f4a2713aSLionel Sambuc public:
7f4a2713aSLionel Sambuc int i;
8f4a2713aSLionel Sambuc int j;
9f4a2713aSLionel Sambuc };
10f4a2713aSLionel Sambuc
11f4a2713aSLionel Sambuc class EVT {
12f4a2713aSLionel Sambuc public:
13f4a2713aSLionel Sambuc int a;
14f4a2713aSLionel Sambuc int b;
15f4a2713aSLionel Sambuc int c;
16f4a2713aSLionel Sambuc };
17f4a2713aSLionel Sambuc
18f4a2713aSLionel Sambuc class VAL {
19f4a2713aSLionel Sambuc public:
20f4a2713aSLionel Sambuc int x;
21f4a2713aSLionel Sambuc int y;
22f4a2713aSLionel Sambuc };
23f4a2713aSLionel Sambuc void foo(EVT e);
24f4a2713aSLionel Sambuc EVT bar();
25f4a2713aSLionel Sambuc
get(int * i,unsigned dl,VAL v,VAL * p,unsigned n,EVT missing_arg)26f4a2713aSLionel Sambuc void get(int *i, unsigned dl, VAL v, VAL *p, unsigned n, EVT missing_arg) {
27f4a2713aSLionel Sambuc //CHECK: .{{asciz|string}} "missing_arg"
28f4a2713aSLionel Sambuc EVT e = bar();
29f4a2713aSLionel Sambuc if (dl == n)
30f4a2713aSLionel Sambuc foo(missing_arg);
31f4a2713aSLionel Sambuc }
32f4a2713aSLionel Sambuc
33