1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// FIXME: Check IR rather than asm, then triple is not needed.
2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang -Xclang -triple=%itanium_abi_triple -g -S %s -o - | FileCheck %s
3fc8f0e14ad142ed811e90fbd9a30e419e301c717Chris Lattner// Test to check presence of debug info for byval parameter.
4468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel// Radar 8350436.
5468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patelclass DAG {
6468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patelpublic:
7468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel  int i;
8468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel  int j;
9468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel};
10468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel
11468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patelclass EVT {
12468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patelpublic:
13468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel  int a;
14468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel  int b;
15468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel  int c;
16468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel};
17468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel
18468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patelclass VAL {
19468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patelpublic:
20468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel  int x;
21468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel  int y;
22468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel};
23468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patelvoid foo(EVT e);
24468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang PatelEVT bar();
25468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel
26468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patelvoid get(int *i, unsigned dl, VAL v, VAL *p, unsigned n, EVT missing_arg) {
27bf27951d675b8da1246069bc4ae68066338a9f86Jyotsna Verma//CHECK: .{{asciz|string}} "missing_arg"
28468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel  EVT e = bar();
29468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel  if (dl == n)
30468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel    foo(missing_arg);
31468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel}
32468e8fbda71a02eba31b4d8282fc1d509b552fbeDevang Patel
33