r354839 - Revert r354832 "[ASTImporter] Add support for importing ChooseExpr AST nodes."
Reid Kleckner via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 25 18:22:22 PST 2019
Author: rnk
Date: Mon Feb 25 18:22:22 2019
New Revision: 354839
URL: http://llvm.org/viewvc/llvm-project?rev=354839&view=rev
Log:
Revert r354832 "[ASTImporter] Add support for importing ChooseExpr AST nodes."
Test does not pass on Windows
Removed:
cfe/trunk/test/ASTMerge/
Modified:
cfe/trunk/docs/LibASTMatchersReference.html
cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h
cfe/trunk/lib/AST/ASTImporter.cpp
cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp
cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp
cfe/trunk/unittests/AST/ASTImporterTest.cpp
cfe/trunk/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Modified: cfe/trunk/docs/LibASTMatchersReference.html
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/LibASTMatchersReference.html?rev=354839&r1=354838&r2=354839&view=diff
==============================================================================
--- cfe/trunk/docs/LibASTMatchersReference.html (original)
+++ cfe/trunk/docs/LibASTMatchersReference.html Mon Feb 25 18:22:22 2019
@@ -788,11 +788,6 @@ Example matches 'a', L'a'
</pre></td></tr>
-<tr><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>></td><td class="name" onclick="toggle('chooseExpr0')"><a name="chooseExpr0Anchor">chooseExpr</a></td><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1ChooseExpr.html">ChooseExpr</a>>...</td></tr>
-<tr><td colspan="4" class="doc" id="chooseExpr0"><pre>Matches GNU __builtin_choose_expr.
-</pre></td></tr>
-
-
<tr><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>></td><td class="name" onclick="toggle('compoundLiteralExpr0')"><a name="compoundLiteralExpr0Anchor">compoundLiteralExpr</a></td><td>Matcher<<a href="https://clang.llvm.org/doxygen/classclang_1_1CompoundLiteralExpr.html">CompoundLiteralExpr</a>>...</td></tr>
<tr><td colspan="4" class="doc" id="compoundLiteralExpr0"><pre>Matches compound (i.e. non-scalar) literals
Modified: cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h?rev=354839&r1=354838&r2=354839&view=diff
==============================================================================
--- cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h (original)
+++ cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h Mon Feb 25 18:22:22 2019
@@ -2158,10 +2158,6 @@ extern const internal::VariadicDynCastAl
extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXNullPtrLiteralExpr>
cxxNullPtrLiteralExpr;
-/// Matches GNU __builtin_choose_expr.
-extern const internal::VariadicDynCastAllOfMatcher<Stmt, ChooseExpr>
- chooseExpr;
-
/// Matches GNU __null expression.
extern const internal::VariadicDynCastAllOfMatcher<Stmt, GNUNullExpr>
gnuNullExpr;
Modified: cfe/trunk/lib/AST/ASTImporter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTImporter.cpp?rev=354839&r1=354838&r2=354839&view=diff
==============================================================================
--- cfe/trunk/lib/AST/ASTImporter.cpp (original)
+++ cfe/trunk/lib/AST/ASTImporter.cpp Mon Feb 25 18:22:22 2019
@@ -552,7 +552,6 @@ namespace clang {
// Importing expressions
ExpectedStmt VisitExpr(Expr *E);
ExpectedStmt VisitVAArgExpr(VAArgExpr *E);
- ExpectedStmt VisitChooseExpr(ChooseExpr *E);
ExpectedStmt VisitGNUNullExpr(GNUNullExpr *E);
ExpectedStmt VisitPredefinedExpr(PredefinedExpr *E);
ExpectedStmt VisitDeclRefExpr(DeclRefExpr *E);
@@ -6136,33 +6135,6 @@ ExpectedStmt ASTNodeImporter::VisitVAArg
E->isMicrosoftABI());
}
-ExpectedStmt ASTNodeImporter::VisitChooseExpr(ChooseExpr *E) {
- auto Imp = importSeq(E->getCond(), E->getLHS(), E->getRHS(),
- E->getBuiltinLoc(), E->getRParenLoc(), E->getType());
- if (!Imp)
- return Imp.takeError();
-
- Expr *ToCond;
- Expr *ToLHS;
- Expr *ToRHS;
- SourceLocation ToBuiltinLoc, ToRParenLoc;
- QualType ToType;
- std::tie(ToCond, ToLHS, ToRHS, ToBuiltinLoc, ToRParenLoc, ToType) = *Imp;
-
- ExprValueKind VK = E->getValueKind();
- ExprObjectKind OK = E->getObjectKind();
-
- bool TypeDependent = ToCond->isTypeDependent();
- bool ValueDependent = ToCond->isValueDependent();
-
- // The value of CondIsTrue only matters if the value is not
- // condition-dependent.
- bool CondIsTrue = !E->isConditionDependent() && E->isConditionTrue();
-
- return new (Importer.getToContext())
- ChooseExpr(ToBuiltinLoc, ToCond, ToLHS, ToRHS, ToType, VK, OK,
- ToRParenLoc, CondIsTrue, TypeDependent, ValueDependent);
-}
ExpectedStmt ASTNodeImporter::VisitGNUNullExpr(GNUNullExpr *E) {
ExpectedType TypeOrErr = import(E->getType());
Modified: cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp?rev=354839&r1=354838&r2=354839&view=diff
==============================================================================
--- cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp (original)
+++ cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp Mon Feb 25 18:22:22 2019
@@ -727,7 +727,6 @@ const internal::VariadicDynCastAllOfMatc
compoundLiteralExpr;
const internal::VariadicDynCastAllOfMatcher<Stmt, CXXNullPtrLiteralExpr>
cxxNullPtrLiteralExpr;
-const internal::VariadicDynCastAllOfMatcher<Stmt, ChooseExpr> chooseExpr;
const internal::VariadicDynCastAllOfMatcher<Stmt, GNUNullExpr> gnuNullExpr;
const internal::VariadicDynCastAllOfMatcher<Stmt, AtomicExpr> atomicExpr;
const internal::VariadicDynCastAllOfMatcher<Stmt, StmtExpr> stmtExpr;
Modified: cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp?rev=354839&r1=354838&r2=354839&view=diff
==============================================================================
--- cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp (original)
+++ cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp Mon Feb 25 18:22:22 2019
@@ -147,7 +147,6 @@ RegistryMaps::RegistryMaps() {
REGISTER_MATCHER(caseStmt);
REGISTER_MATCHER(castExpr);
REGISTER_MATCHER(characterLiteral);
- REGISTER_MATCHER(chooseExpr);
REGISTER_MATCHER(classTemplateDecl);
REGISTER_MATCHER(classTemplateSpecializationDecl);
REGISTER_MATCHER(complexType);
Modified: cfe/trunk/unittests/AST/ASTImporterTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/AST/ASTImporterTest.cpp?rev=354839&r1=354838&r2=354839&view=diff
==============================================================================
--- cfe/trunk/unittests/AST/ASTImporterTest.cpp (original)
+++ cfe/trunk/unittests/AST/ASTImporterTest.cpp Mon Feb 25 18:22:22 2019
@@ -563,34 +563,6 @@ TEST_P(ImportExpr, ImportStringLiteral)
stringLiteral(hasType(asString("const char [7]"))))));
}
-TEST_P(ImportExpr, ImportChooseExpr) {
- MatchVerifier<Decl> Verifier;
-
- // This case tests C code that is not condition-dependent and has a true
- // condition.
- testImport(
- "void declToImport() { (void)__builtin_choose_expr(1, 2, 3); }",
- Lang_C, "", Lang_C, Verifier,
- functionDecl(hasDescendant(chooseExpr())));
-
- ArgVector Args = getExtraArgs();
- BindableMatcher<Decl> Matcher =
- functionTemplateDecl(hasDescendant(chooseExpr()));
-
- // Don't try to match the template contents if template parsing is delayed.
- if (llvm::find(Args, "-fdelayed-template-parsing") != Args.end()) {
- Matcher = functionTemplateDecl();
- }
-
- // Make sure that uses of (void)__builtin_choose_expr with dependent types in
- // the condition are handled properly. This test triggers an assertion if the
- // ASTImporter incorrectly tries to access isConditionTrue() when
- // isConditionDependent() is true.
- testImport("template<int N> void declToImport() { "
- "(void)__builtin_choose_expr(N, 1, 0); }",
- Lang_CXX, "", Lang_CXX, Verifier, Matcher);
-}
-
TEST_P(ImportExpr, ImportGNUNullExpr) {
MatchVerifier<Decl> Verifier;
testImport(
@@ -1340,27 +1312,6 @@ TEST_P(ASTImporterOptionSpecificTestBase
ASSERT_EQ(ToTemplated1, ToTemplated);
}
-TEST_P(ASTImporterOptionSpecificTestBase, ImportChooseExpr) {
- // This tests the import of isConditionTrue directly to make sure the importer
- // gets it right.
- Decl *From, *To;
- std::tie(From, To) = getImportedDecl(
- "void declToImport() { (void)__builtin_choose_expr(1, 0, 1); }",
- Lang_C, "", Lang_C);
-
- auto ToResults = match(chooseExpr().bind("choose"), To->getASTContext());
- auto FromResults = match(chooseExpr().bind("choose"), From->getASTContext());
-
- const ChooseExpr *FromChooseExpr =
- selectFirst<ChooseExpr>("choose", FromResults);
- ASSERT_TRUE(FromChooseExpr);
-
- const ChooseExpr *ToChooseExpr = selectFirst<ChooseExpr>("choose", ToResults);
- ASSERT_TRUE(ToChooseExpr);
-
- EXPECT_EQ(FromChooseExpr->isConditionTrue(), ToChooseExpr->isConditionTrue());
-}
-
TEST_P(ASTImporterOptionSpecificTestBase,
ImportFunctionWithBackReferringParameter) {
Decl *From, *To;
Modified: cfe/trunk/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/ASTMatchers/ASTMatchersNodeTest.cpp?rev=354839&r1=354838&r2=354839&view=diff
==============================================================================
--- cfe/trunk/unittests/ASTMatchers/ASTMatchersNodeTest.cpp (original)
+++ cfe/trunk/unittests/ASTMatchers/ASTMatchersNodeTest.cpp Mon Feb 25 18:22:22 2019
@@ -754,11 +754,6 @@ TEST(Matcher, NullPtrLiteral) {
EXPECT_TRUE(matches("int* i = nullptr;", cxxNullPtrLiteralExpr()));
}
-TEST(Matcher, ChooseExpr) {
- EXPECT_TRUE(matchesC("void f() { (void)__builtin_choose_expr(1, 2, 3); }",
- chooseExpr()));
-}
-
TEST(Matcher, GNUNullExpr) {
EXPECT_TRUE(matches("int* i = __null;", gnuNullExpr()));
}
More information about the cfe-commits
mailing list