When parsing DWARF instructions we can sometimes end up with instruction operands in reversed order. This was caused by two facts:
- getULEB128(Offset) changes Offset and
- Evaluation order of function arguments is unspecified
It means that two getULEB128 calls embedded into function argument list were executed in any arbitrary order. Sometimes this was resulting in a reversed instruction operands.
This issue came up after _eh_frame changes http://reviews.llvm.org/D15535. However they are not directly related.
Roll the declaration/initialization together:
(using auto is optional - whichever you prefer - but the type information doesn't seem that important (given that the origintal formulation of this code didn't provide explicit type information to the reader))