Committed as r187232. Thank you!
On Fri, Jul 26, 2013 at 8:14 PM, Chris Gray <[email protected]> wrote: > Index: include/clang/ASTMatchers/ASTMatchers.h > =================================================================== > --- include/clang/ASTMatchers/ASTMatchers.h (revision 187216) > +++ include/clang/ASTMatchers/ASTMatchers.h (working copy) > @@ -1078,6 +1078,18 @@ > Stmt, > IntegerLiteral> integerLiteral; > > +/// \brief Matches float literals of all sizes / encodings. > +/// > +/// Not matching implicit conversions such as > +/// \code > +/// float a = 10; > +/// \endcode > +/// > +/// Example matches 1.0, 1.0f, 1.0L, 1e10 > +const internal::VariadicDynCastAllOfMatcher< > + Stmt, > + FloatingLiteral> floatLiteral; > + > /// \brief Matches user defined literal operator call. > /// > /// Example match: "foo"_suffix > Index: unittests/ASTMatchers/ASTMatchersTest.cpp > =================================================================== > --- unittests/ASTMatchers/ASTMatchersTest.cpp (revision 187216) > +++ unittests/ASTMatchers/ASTMatchersTest.cpp (working copy) > @@ -1853,6 +1853,17 @@ > EXPECT_TRUE(notMatches("int i = 10.0;", HasIntLiteral)); > } > > +TEST(Matcher, FloatLiterals) { > + StatementMatcher HasFloatLiteral = floatLiteral(); > + EXPECT_TRUE(matches("float i = 10.0;", HasFloatLiteral)); > + EXPECT_TRUE(matches("float i = 10.0f;", HasFloatLiteral)); > + EXPECT_TRUE(matches("double i = 10.0;", HasFloatLiteral)); > + EXPECT_TRUE(matches("double i = 10.0L;", HasFloatLiteral)); > + EXPECT_TRUE(matches("double i = 1e10;", HasFloatLiteral)); > + > + EXPECT_TRUE(notMatches("float i = 10;", HasFloatLiteral)); > +} > + > TEST(Matcher, NullPtrLiteral) { > EXPECT_TRUE(matches("int* i = nullptr;", nullPtrLiteralExpr())); > } > Index: lib/ASTMatchers/Dynamic/Registry.cpp > =================================================================== > --- lib/ASTMatchers/Dynamic/Registry.cpp (revision 187216) > +++ lib/ASTMatchers/Dynamic/Registry.cpp (working copy) > @@ -252,6 +252,7 @@ > REGISTER_MATCHER(explicitCastExpr); > REGISTER_MATCHER(expr); > REGISTER_MATCHER(fieldDecl); > + REGISTER_MATCHER(floatLiteral); > REGISTER_MATCHER(forField); > REGISTER_MATCHER(forRangeStmt); > REGISTER_MATCHER(forStmt); > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
