diff --git a/sprout/workaround/std/cstddef.hpp b/sprout/workaround/std/cstddef.hpp index 75e68938..7861d586 100644 --- a/sprout/workaround/std/cstddef.hpp +++ b/sprout/workaround/std/cstddef.hpp @@ -9,9 +9,10 @@ #define SPROUT_WORKAROUND_STD_CSTDDEF_HPP #include +#include #if defined(__clang__) && defined(__GLIBCXX__) -# if (__clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 5)) && (__GLIBCXX__ >= 20140422) +# if SPROUT_CLANG_EARLIER(3, 4, 2) && (__GLIBCXX__ >= 20140422) # include # # if defined(__STDDEF_H) diff --git a/tools/testspr/test.py b/tools/testspr/test.py index 67c69909..cc272a65 100644 --- a/tools/testspr/test.py +++ b/tools/testspr/test.py @@ -40,17 +40,25 @@ def main(): bin = "%s/test.%s.out" % (opts.stagedir, base.replace('.', '')) compile_log = "%s/test.%s.compile.log" % (opts.stagedir, base.replace('.', '')) execute_log = "%s/test.%s.execute.log" % (opts.stagedir, base.replace('.', '')) + fail_log = "%s/fail.log" % (opts.stagedir) compiler = "%s/%s/bin/%s++" % (root, base, name.rstrip('c')) if version != "." else "%s++" % name.rstrip('c') - return "%s -o %s" \ + command = "%s -o %s" \ " %s %s" \ " %s %s" \ - " %s > %s 2>&1" \ - " && %s > %s 2>&1" \ + " %s" \ % (compiler, bin, std_options.get(base, ''), opts.all_options, compiler_specific_options.get(name, ''), version_specific_options.get(base, ''), - opts.test_cpp, compile_log, - bin, execute_log + opts.test_cpp + ) + fail_info = "%s : %s" % (base, command) + return "(" \ + " %s > %s 2>&1" \ + " && %s > %s 2>&1" \ + " ) || !(echo %s >> %s)" \ + % (command, compile_log, + bin, execute_log, + fail_info, fail_log ) pool = multiprocessing.Pool(opts.max_procs if opts.max_procs != 0 else None)