bjope added a comment. In https://reviews.llvm.org/D45619#1075089, @avt77 wrote:
> It's terrible but my new test was failed again as result of commit of this > patch! > > ///b/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/clang/test/Frontend/ftime-report-template-decl.cpp:155:11: > error: expected string not found in input > // CHECK: Code Generation Time > // ^ > > I don't understand how it's possible. The same problem raised when I > committed D43578 <https://reviews.llvm.org/D43578>. Obviously, there is a > situation when this test work w/o Code Generation and as result this test is > fail because code generation time is zerro. Could anyone help me? How should > I change the test? The simplest way is to remove this line but I don't like > this idea. Not sure, but is perhaps the order in which timers are printed not 100% deterministic? When I run the test "manually" without pipe to FileCheck I get: ===-------------------------------------------------------------------------=== Miscellaneous Ungrouped Timers ===-------------------------------------------------------------------------=== --System Time-- --User+System-- ---Wall Time--- --- Name --- 0.0040 (100.0%) 0.0040 (100.0%) 0.0021 ( 70.7%) Code Generation Time 0.0000 ( 0.0%) 0.0000 ( 0.0%) 0.0009 ( 29.3%) LLVM IR Generation Time 0.0040 (100.0%) 0.0040 (100.0%) 0.0030 (100.0%) Total So when I run it without the pipe "Code Generation Time" is printed before "LLVM IR Generation Time". However, the CHECK:s in the test case are in opposite order. So I can't really understand why the test passes when I pipe it to FileCheck. Anyway, if the order isn't deteministic, then a solution could be to use CHECK-DAG instead of CHECK for the checks that may be reordered. For example: // CHECK: Miscellaneous Ungrouped Timers // CHECK-DAG: Code Generation Time // CHECK-DAG: LLVM IR Generation Time // CHECK: Total // CHECK: Clang front-end time report // CHECK: Clang front-end timer // CHECK: Total Unless the timers are supposed to be printed in a certain order, then I guess you need to add a sort somewhere in the code. Repository: rL LLVM https://reviews.llvm.org/D45619 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits