Adds a DW_OP_call_frame_cfa handler when evaluating DWARF 3/4 expressions
in LLDB that load the canonical frame address rather than a location list.

- Handles the simple case where a CFA can be pulled from the current stack frame.
- Fixes more than one hundred failing tests with gcc 4.8!

TODO: Use UnwindPlan::GetRowForFunctionOffset if the DWARFExpression needs
to be evaluated in a context analogous to a virtual unwind (perhaps using RegisterContextLLDB).

- Also adds some comments to DWARFCallFrameInfo whenever I got confused.

llvm-svn: 187361
diff --git a/lldb/source/Symbol/DWARFCallFrameInfo.cpp b/lldb/source/Symbol/DWARFCallFrameInfo.cpp
index 003b945..e8f99a9 100644
--- a/lldb/source/Symbol/DWARFCallFrameInfo.cpp
+++ b/lldb/source/Symbol/DWARFCallFrameInfo.cpp
@@ -155,7 +155,7 @@
         //    cie.offset = cie_offset;
         //    cie.length = length;
         //    cie.cieID = cieID;
-        cie_sp->ptr_encoding = DW_EH_PE_absptr;
+        cie_sp->ptr_encoding = DW_EH_PE_absptr; // default
         cie_sp->version = m_cfi_data.GetU8(&offset);
 
         for (i=0; i<CFI_AUG_MAX_SIZE; ++i)
@@ -233,6 +233,7 @@
                             // Data shall include a 1 byte argument that
                             // represents the pointer encoding for the address
                             // pointers used in the FDE.
+                            // Example: 0x1B == DW_EH_PE_pcrel | DW_EH_PE_sdata4 
                             cie_sp->ptr_encoding = m_cfi_data.GetU8(&offset);
                             break;
                     }