On Tue, May 31, 2011 at 8:21 PM, Francois Pichet <[email protected]> wrote: > On Tue, May 31, 2011 at 7:49 PM, Manuel Klimek <[email protected]> wrote: >> Author: klimek >> Date: Tue May 31 18:49:32 2011 >> New Revision: 132374 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=132374&view=rev >> Log: >> This patch implements an AST matching framework that allows to write >> tools that match on the C++ ASTs. The main interface is in ASTMatchers.h, >> an example implementation of a tool that removes redundant .c_str() calls >> is in the example RemoveCStrCalls.cpp. >> >> Various contributions: >> Zhanyong Wan, Chandler Carruth, Marcin Kowalczyk, Wei Xu, James Dennett. >> >> Added: >> cfe/trunk/examples/Tooling/RemoveCStrCalls/ >> cfe/trunk/examples/Tooling/RemoveCStrCalls/CMakeLists.txt >> cfe/trunk/examples/Tooling/RemoveCStrCalls/RemoveCStrCalls.cpp >> cfe/trunk/examples/Tooling/replace.py (with props) >> cfe/trunk/include/clang/Tooling/ASTMatchers.h >> cfe/trunk/include/clang/Tooling/VariadicFunction.h >> cfe/trunk/lib/Tooling/ASTMatchers.cpp >> cfe/trunk/test/Tooling/ >> cfe/trunk/test/Tooling/remove-cstr-calls.cpp >> cfe/trunk/unittests/Tooling/ASTMatchersTest.cpp >> Modified: >> cfe/trunk/examples/Tooling/CMakeLists.txt >> cfe/trunk/include/clang/Tooling/Tooling.h >> cfe/trunk/lib/Tooling/CMakeLists.txt >> cfe/trunk/lib/Tooling/Tooling.cpp >> cfe/trunk/unittests/CMakeLists.txt > > > This is failing on Windows.. any idea? > here is the log: > > 1> FAIL: Clang-Unit :: > ASTMatchersTest/Release/ASTMatchersTestTests.exe/Matcher.OverloadedOperatorCall > (3187 of 3248) > 1> ******************** TEST 'Clang-Unit :: > ASTMatchersTest/Release/ASTMatchersTestTests.exe/Matcher.OverloadedOperatorCall' > FAILED ******************** > 1> Note: Google Test filter = Matcher.OverloadedOperatorCall > 1> > 1> [==========] Running 1 test from 1 test case. > 1> > 1> [----------] Global test environment set-up. > 1> > 1> [----------] 1 test from Matcher > 1> > 1> [ RUN ] Matcher.OverloadedOperatorCall > 1> > 1>Tooling\ASTMatchersTest.cpp(789): error : Value of: > NotMatches("class Y { }; " "void *operator new(unsigned long size) { > return 0; } " "Y *y = new Y;", OpCall) > 1> > 1> Actual: false (Parsing error in "class Y { }; void *operator > new(unsigned long size) { return 0; } Y *y = new Y;") > 1> > 1> Expected: true > 1> > 1> [ FAILED ] Matcher.OverloadedOperatorCall (12 ms) > 1> > 1> [----------] 1 test from Matcher (12 ms total) > 1> > 1> > 1> > 1> [----------] Global test environment tear-down > 1> > 1> [==========] 1 test from 1 test case ran. (12 ms total) > 1> > 1> [ PASSED ] 0 tests. > 1> > 1> [ FAILED ] 1 test, listed below: > 1> > 1> [ FAILED ] Matcher.OverloadedOperatorCall > 1> > 1> > 1> > 1> 1 FAILED TEST > 1> > 1> input.cc:1:20: error: 'operator new' takes type size_t ('unsigned > int') as first parameter > 1> class Y { }; void *operator new(unsigned long size) { return 0; } > Y *y = new Y; > 1> ^ > 1> 1 error generated.
The problem is that we actually need to include stddef.h for size_t if we want this test to work on all platforms, so I'm submitting a patch that comments out this test and adds a FIXME to resolve once we figured out how to find the internal include paths in the test. Thanks for reporting, /Manuel > 1> > 1> ******************** > 1> > 1> Testing Time: 74.06s > 1> ******************** > 1> Failing Tests (1): > 1> Clang-Unit :: > ASTMatchersTest/Release/ASTMatchersTestTests.exe/Matcher.OverloadedOperatorCall > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
