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