From 81e3fc8bd2c4b2b57cbc934ce1a8e02a0613b576 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 19 Nov 2017 11:26:18 +0800 Subject: testrunner - Correct handle of compiler args, some known failures --- disabled_tests_run-pass.txt | 10 ++++++++++ tools/testrunner/main.cpp | 17 +++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/disabled_tests_run-pass.txt b/disabled_tests_run-pass.txt index abb4e493..4a1de3e5 100644 --- a/disabled_tests_run-pass.txt +++ b/disabled_tests_run-pass.txt @@ -1,3 +1,13 @@ tydesc-name # Difference in printing of paths +# codegen-units +sepcomp-fns + +# Requires unwinding panics +unwind-resource + + +# BUG: (TODO Determine) +issue-34932 # Crashes with an OOB (invalid?) pointer in HashMap + # vim: ft=make diff --git a/tools/testrunner/main.cpp b/tools/testrunner/main.cpp index e0e10f9c..067a63e3 100644 --- a/tools/testrunner/main.cpp +++ b/tools/testrunner/main.cpp @@ -219,8 +219,21 @@ int main(int argc, const char* argv[]) } else if( line.substr(3, 14) == "compile-flags:" ) { - //TODO("Compiler flags - " << line.substr(3+14)); - td.m_extra_flags.push_back( line.substr(3+14) ); + auto end = line.find(' ', 3+14); + decltype(end) start = 3+14; + do + { + if( start != end ) + { + auto a = line.substr(start, end-start); + DEBUG("+" << a); + td.m_extra_flags.push_back(::std::move(a)); + } + if( end == ::std::string::npos ) + break; + start = end + 1; + end = line.find(' ', start); + } while(1); } } while( !in.eof() ); -- cgit v1.2.3