Fix StackTrace::LocatePcInTrace, add more unit tests for generic StackTrace

llvm-svn: 202849
diff --git a/compiler-rt/lib/asan/asan_stack.h b/compiler-rt/lib/asan/asan_stack.h
index 3cbd2da..5db1d1a 100644
--- a/compiler-rt/lib/asan/asan_stack.h
+++ b/compiler-rt/lib/asan/asan_stack.h
@@ -59,9 +59,9 @@
     if (max_size > 0) {                                                        \
       stack.top_frame_bp = GET_CURRENT_FRAME();                                \
       stack.trace[0] = StackTrace::GetCurrentPc();                             \
+      if (max_size > 1)                                                        \
+        stack.trace[1] = GET_CALLER_PC();                                      \
     }                                                                          \
-    if (max_size > 1)                                                          \
-      stack.trace[1] = GET_CALLER_PC();                                        \
   } else {                                                                     \
     GetStackTraceWithPcBpAndContext(&stack, max_size,                          \
                                     StackTrace::GetCurrentPc(),                \