[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)

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.


More information about the llvm-dev mailing list