Skip to content
  1. Jun 20, 2013
  2. Jun 19, 2013
    • Bill Wendling's avatar
    • David Blaikie's avatar
      DebugInfo: PR14763/r183329 correct the location of indirect parameters · 81a4dc75
      David Blaikie authored
      We had been papering over a problem with location info for non-trivial
      types passed by value by emitting their type as references (this caused
      the debugger to interpret the location information correctly, but broke
      the type of the function). r183329 corrected the type information but
      lead to the debugger interpreting the pointer parameter as the value -
      the debug info describing the location needed an extra dereference.
      
      Use a new flag in DIVariable to add the extra indirection (either by
      promoting an existing DW_OP_reg (parameter passed in a register) to
      DW_OP_breg + 0 or by adding DW_OP_deref to an existing DW_OP_breg + n
      (parameter passed on the stack).
      
      llvm-svn: 184368
      81a4dc75
Loading