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