Files
clang-p2996/lldb/lit/SymbolFile/PDB/Inputs/ExpressionsTest.cpp
Aleksandr Urakov a5235af980 [PDB] Support PDB-backed expressions evaluation (+ fix stuck test)
Summary:
This patch contains several small fixes, which makes it possible to evaluate
expressions on Windows using information from PDB. The changes are:
- several sanitize checks;
- make IRExecutionUnit::MemoryManager::getSymbolAddress to not return a magic
  value on a failure, because callers wait 0 in this case;
- entry point required to be a file address, not RVA, in the ObjectFilePECOFF;
- do not crash on a debuggee second chance exception - it may be an expression
  evaluation crash. Also fix detection of "crushed" threads in tests;
- create parameter declarations for functions in AST to make it possible to call
  debugee functions from expressions;
- relax name searching rules for variables, functions, namespaces and types. Now
  it works just like in the DWARF plugin;
- fix endless recursion in SymbolFilePDB::ParseCompileUnitFunctionForPDBFunc.

Reviewers: zturner, asmith, stella.stamenova

Reviewed By: stella.stamenova, asmith

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D53759

llvm-svn: 348136
2018-12-03 13:31:13 +00:00

21 lines
349 B
C++

namespace N0 {
namespace N1 {
char *buf0 = nullptr;
char buf1[] = {0, 1, 2, 3, 4, 5, 6, 7};
char sum(char *buf, int size) {
char result = 0;
for (int i = 0; i < size; i++)
result += buf[i];
return result;
}
} // namespace N1
} // namespace N0
int main() {
char result = N0::N1::sum(N0::N1::buf1, sizeof(N0::N1::buf1));
return 0;
}