forked from OSchip/llvm-project
[libc++][NFC] Mark values in gdb pretty print comparison functions as live to prevent values being optimized out.
It appears when testing LLVM 13 on Power, we run into failures with the `libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp` test case optimizing values out. Despite some the functions in the test already being marked with optnone, adding the `MarkAsLive()` calls inside of the pretty printer comparison functions resolves the issues of the values being optimized out. This patch aims to address https://llvm.org/PR51675. Differential Revision: https://reviews.llvm.org/D109204
This commit is contained in:
parent
fd807601a7
commit
217c6d6431
|
@ -92,24 +92,28 @@ void MarkAsLive(Type &&) {}
|
|||
template <typename TypeToPrint> void ComparePrettyPrintToChars(
|
||||
TypeToPrint value,
|
||||
const char *expectation) {
|
||||
MarkAsLive(value);
|
||||
StopForDebugger(&value, &expectation);
|
||||
}
|
||||
|
||||
template <typename TypeToPrint> void ComparePrettyPrintToRegex(
|
||||
TypeToPrint value,
|
||||
const char *expectation) {
|
||||
MarkAsLive(value);
|
||||
StopForDebugger(&value, &expectation);
|
||||
}
|
||||
|
||||
void CompareExpressionPrettyPrintToChars(
|
||||
std::string value,
|
||||
const char *expectation) {
|
||||
MarkAsLive(value);
|
||||
StopForDebugger(&value, &expectation);
|
||||
}
|
||||
|
||||
void CompareExpressionPrettyPrintToRegex(
|
||||
std::string value,
|
||||
const char *expectation) {
|
||||
MarkAsLive(value);
|
||||
StopForDebugger(&value, &expectation);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue