[PATCH] D74412: Fix SFINAE in CFG.cpp.

2020-02-11 Thread Justin Lebar via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rGf0fd852fcd05: Fix SFINAE in CFG.cpp. (authored by jlebar).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74412/new/

https://reviews.llvm.org/D74412

Files:
  clang/lib/Analysis/CFG.cpp


Index: clang/lib/Analysis/CFG.cpp
===
--- clang/lib/Analysis/CFG.cpp
+++ clang/lib/Analysis/CFG.cpp
@@ -720,10 +720,10 @@
   // These sorts of call expressions don't have a common superclass,
   // hence strict duck-typing.
   template ::value ||
-std::is_same::value ||
-std::is_same::value>>
+typename = std::enable_if_t<
+std::is_base_of::value ||
+std::is_base_of::value ||
+std::is_base_of::value>>
   void findConstructionContextsForArguments(CallLikeExpr *E) {
 for (unsigned i = 0, e = E->getNumArgs(); i != e; ++i) {
   Expr *Arg = E->getArg(i);


Index: clang/lib/Analysis/CFG.cpp
===
--- clang/lib/Analysis/CFG.cpp
+++ clang/lib/Analysis/CFG.cpp
@@ -720,10 +720,10 @@
   // These sorts of call expressions don't have a common superclass,
   // hence strict duck-typing.
   template ::value ||
-std::is_same::value ||
-std::is_same::value>>
+typename = std::enable_if_t<
+std::is_base_of::value ||
+std::is_base_of::value ||
+std::is_base_of::value>>
   void findConstructionContextsForArguments(CallLikeExpr *E) {
 for (unsigned i = 0, e = E->getNumArgs(); i != e; ++i) {
   Expr *Arg = E->getArg(i);
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D74412: Fix SFINAE in CFG.cpp.

2020-02-11 Thread Benjamin Kramer via Phabricator via cfe-commits
bkramer accepted this revision.
bkramer added a comment.
This revision is now accepted and ready to land.

lg


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74412/new/

https://reviews.llvm.org/D74412



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D74412: Fix SFINAE in CFG.cpp.

2020-02-11 Thread Justin Lebar via Phabricator via cfe-commits
jlebar updated this revision to Diff 243877.
jlebar added a comment.

Rebase


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74412/new/

https://reviews.llvm.org/D74412

Files:
  clang/lib/Analysis/CFG.cpp


Index: clang/lib/Analysis/CFG.cpp
===
--- clang/lib/Analysis/CFG.cpp
+++ clang/lib/Analysis/CFG.cpp
@@ -720,10 +720,10 @@
   // These sorts of call expressions don't have a common superclass,
   // hence strict duck-typing.
   template ::value ||
-std::is_same::value ||
-std::is_same::value>>
+typename = std::enable_if_t<
+std::is_base_of::value ||
+std::is_base_of::value ||
+std::is_base_of::value>>
   void findConstructionContextsForArguments(CallLikeExpr *E) {
 for (unsigned i = 0, e = E->getNumArgs(); i != e; ++i) {
   Expr *Arg = E->getArg(i);


Index: clang/lib/Analysis/CFG.cpp
===
--- clang/lib/Analysis/CFG.cpp
+++ clang/lib/Analysis/CFG.cpp
@@ -720,10 +720,10 @@
   // These sorts of call expressions don't have a common superclass,
   // hence strict duck-typing.
   template ::value ||
-std::is_same::value ||
-std::is_same::value>>
+typename = std::enable_if_t<
+std::is_base_of::value ||
+std::is_base_of::value ||
+std::is_base_of::value>>
   void findConstructionContextsForArguments(CallLikeExpr *E) {
 for (unsigned i = 0, e = E->getNumArgs(); i != e; ++i) {
   Expr *Arg = E->getArg(i);
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D74412: Fix SFINAE in CFG.cpp.

2020-02-11 Thread Justin Lebar via Phabricator via cfe-commits
jlebar created this revision.
jlebar added reviewers: bkramer, MaskRay.
Herald added subscribers: cfe-commits, martong.
Herald added a project: clang.
jlebar updated this revision to Diff 243877.
jlebar added a comment.

Rebase


Used std::enable_if without ::type.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D74412

Files:
  clang/lib/Analysis/CFG.cpp


Index: clang/lib/Analysis/CFG.cpp
===
--- clang/lib/Analysis/CFG.cpp
+++ clang/lib/Analysis/CFG.cpp
@@ -720,10 +720,10 @@
   // These sorts of call expressions don't have a common superclass,
   // hence strict duck-typing.
   template ::value ||
-std::is_same::value ||
-std::is_same::value>>
+typename = std::enable_if_t<
+std::is_base_of::value ||
+std::is_base_of::value ||
+std::is_base_of::value>>
   void findConstructionContextsForArguments(CallLikeExpr *E) {
 for (unsigned i = 0, e = E->getNumArgs(); i != e; ++i) {
   Expr *Arg = E->getArg(i);


Index: clang/lib/Analysis/CFG.cpp
===
--- clang/lib/Analysis/CFG.cpp
+++ clang/lib/Analysis/CFG.cpp
@@ -720,10 +720,10 @@
   // These sorts of call expressions don't have a common superclass,
   // hence strict duck-typing.
   template ::value ||
-std::is_same::value ||
-std::is_same::value>>
+typename = std::enable_if_t<
+std::is_base_of::value ||
+std::is_base_of::value ||
+std::is_base_of::value>>
   void findConstructionContextsForArguments(CallLikeExpr *E) {
 for (unsigned i = 0, e = E->getNumArgs(); i != e; ++i) {
   Expr *Arg = E->getArg(i);
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits