[LLVMdev] Value of structure passed byval to a recurse function not initialized when accessed through GDB
Karthik Bhat
karthikthecool at gmail.com
Tue Dec 4 05:34:36 PST 2012
Hi All,
I was debugging a clang binary when i found this problem. The
following code is complied with clang.
typedef struct s
{
short s;
} SVAL;
void recurse (SVAL a, int depth)
{
a.s = --depth;
if (depth == 0)
return;
else
recurse(a,depth);
}
int main ()
{
SVAL s; s.s = 5;
recurse (s, 5);
return 0;
}
When i try to access value of a.s in function recurse through gdb(i.e
gdb > p a.s) it gives me an uninitialized value.
The problem occurs only when we have a function call within function
to which we have passed a structure.
Could someone guide me were can i look to fix this issue.
I have started with LowerFormalArguments in X86ISelLowering.cpp file.
Thanks
Karthik
More information about the llvm-dev
mailing list