<div dir="ltr">Committed as r187232. Thank you!</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jul 26, 2013 at 8:14 PM, Chris Gray <span dir="ltr"><<a href="mailto:chrismgray@gmail.com" target="_blank">chrismgray@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Index: include/clang/ASTMatchers/ASTMatchers.h</div><div>===================================================================</div>
<div>--- include/clang/ASTMatchers/ASTMatchers.h<span style="white-space:pre-wrap">       </span>(revision 187216)</div>
<div>+++ include/clang/ASTMatchers/ASTMatchers.h<span style="white-space:pre-wrap">       </span>(working copy)</div><div>@@ -1078,6 +1078,18 @@</div><div>   Stmt,</div><div>   IntegerLiteral> integerLiteral;</div><div> </div>

<div>+/// \brief Matches float literals of all sizes / encodings.</div><div>+///</div><div>+/// Not matching implicit conversions such as</div><div>+/// \code</div><div>+///   float a = 10;</div><div>+/// \endcode</div><div>

+///</div><div>+/// Example matches 1.0, 1.0f, 1.0L, 1e10</div><div>+const internal::VariadicDynCastAllOfMatcher<</div><div>+  Stmt,</div><div>+  FloatingLiteral> floatLiteral;</div><div>+</div><div> /// \brief Matches user defined literal operator call.</div>

<div> ///</div><div> /// Example match: "foo"_suffix</div><div>Index: unittests/ASTMatchers/ASTMatchersTest.cpp</div><div>===================================================================</div><div>--- unittests/ASTMatchers/ASTMatchersTest.cpp<span style="white-space:pre-wrap">        </span>(revision 187216)</div>

<div>+++ unittests/ASTMatchers/ASTMatchersTest.cpp<span style="white-space:pre-wrap">     </span>(working copy)</div><div>@@ -1853,6 +1853,17 @@</div><div>   EXPECT_TRUE(notMatches("int i = 10.0;", HasIntLiteral));</div>

<div> }</div><div> </div><div>+TEST(Matcher, FloatLiterals) {</div><div>+  StatementMatcher HasFloatLiteral = floatLiteral();</div><div>+  EXPECT_TRUE(matches("float i = 10.0;", HasFloatLiteral));</div><div>+  EXPECT_TRUE(matches("float i = 10.0f;", HasFloatLiteral));</div>

<div>+  EXPECT_TRUE(matches("double i = 10.0;", HasFloatLiteral));</div><div>+  EXPECT_TRUE(matches("double i = 10.0L;", HasFloatLiteral));</div><div>+  EXPECT_TRUE(matches("double i = 1e10;", HasFloatLiteral));</div>

<div>+</div><div>+  EXPECT_TRUE(notMatches("float i = 10;", HasFloatLiteral));</div><div>+}</div><div>+</div><div> TEST(Matcher, NullPtrLiteral) {</div><div>   EXPECT_TRUE(matches("int* i = nullptr;", nullPtrLiteralExpr()));</div>

<div> }</div><div>Index: lib/ASTMatchers/Dynamic/Registry.cpp</div><div>===================================================================</div><div>--- lib/ASTMatchers/Dynamic/Registry.cpp<span style="white-space:pre-wrap">     </span>(revision 187216)</div>

<div>+++ lib/ASTMatchers/Dynamic/Registry.cpp<span style="white-space:pre-wrap">  </span>(working copy)</div><div>@@ -252,6 +252,7 @@</div><div>   REGISTER_MATCHER(explicitCastExpr);</div><div>   REGISTER_MATCHER(expr);</div>

<div>   REGISTER_MATCHER(fieldDecl);</div><div>+  REGISTER_MATCHER(floatLiteral);</div><div>   REGISTER_MATCHER(forField);</div><div>   REGISTER_MATCHER(forRangeStmt);</div><div>   REGISTER_MATCHER(forStmt);</div></div>
<br>_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br></blockquote></div><br></div>