Re: [clang] 4456076 - Revert "Further implement CWG 2292"

2020-01-17 Thread Aaron Ballman via cfe-commits
On Fri, Jan 17, 2020 at 4:40 AM Hans Wennborg via cfe-commits
 wrote:
>
> (Note to self: I double checked that the "Further implement CWG 2292"
> patch landed just after the 10.x branch, so this revert doesn't need
> to be cherry-picked there.)

Can confirm. I did the commit after the branch point.

Thank you Amy for catching the regression!

~Aaron

>
> On Thu, Jan 16, 2020 at 12:46 AM Amy Huang via cfe-commits
>  wrote:
> >
> >
> > Author: Amy Huang
> > Date: 2020-01-15T15:46:07-08:00
> > New Revision: 44560762c62d72a103bdceff49ffa70451efd5f8
> >
> > URL: 
> > https://github.com/llvm/llvm-project/commit/44560762c62d72a103bdceff49ffa70451efd5f8
> > DIFF: 
> > https://github.com/llvm/llvm-project/commit/44560762c62d72a103bdceff49ffa70451efd5f8.diff
> >
> > LOG: Revert "Further implement CWG 2292"
> >
> > This reverts commit ee0f1f1edc3ec0d4e698d50cc3180217448802b7 because it
> > causes an error on valid code.
> > See https://reviews.llvm.org/rGee0f1f1edc3ec0d4e698d50cc3180217448802b7.
> >
> > Added:
> >
> >
> > Modified:
> > clang/lib/Sema/SemaExprCXX.cpp
> >
> > Removed:
> > clang/test/SemaCXX/pseudo-destructor-name.cpp
> >
> >
> > 
> > diff  --git a/clang/lib/Sema/SemaExprCXX.cpp 
> > b/clang/lib/Sema/SemaExprCXX.cpp
> > index 96e18105df78..a73e6906fceb 100644
> > --- a/clang/lib/Sema/SemaExprCXX.cpp
> > +++ b/clang/lib/Sema/SemaExprCXX.cpp
> > @@ -192,10 +192,8 @@ ParsedType Sema::getDestructorName(SourceLocation 
> > TildeLoc,
> >AlreadySearched = true;
> >LookupCtx = DC;
> >isDependent = false;
> > -} else if (auto *RD = dyn_cast_or_null(DC)) {
> > -  if ((RD->hasDefinition() && RD->hasSimpleDestructor()) ||
> > -  !RD->hasDefinition())
> > -LookAtPrefix = false;
> > +} else if (DC && isa(DC)) {
> > +  LookAtPrefix = false;
> >LookInScope = true;
> >  }
> >
> >
> > diff  --git a/clang/test/SemaCXX/pseudo-destructor-name.cpp 
> > b/clang/test/SemaCXX/pseudo-destructor-name.cpp
> > deleted file mode 100644
> > index cc7c22b8dc4d..
> > --- a/clang/test/SemaCXX/pseudo-destructor-name.cpp
> > +++ /dev/null
> > @@ -1,26 +0,0 @@
> > -// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
> > -// expected-no-diagnostics
> > -
> > -struct AAA
> > -{
> > -struct BBB
> > -{
> > -~BBB() {}
> > -};
> > -
> > -typedef BBB BBB_alias;
> > -};
> > -
> > -typedef AAA::BBB BBB_alias2;
> > -
> > -int
> > -main()
> > -{
> > -AAA::BBB_alias *ptr1 = new AAA::BBB_alias();
> > -AAA::BBB_alias *ptr2 = new AAA::BBB_alias();
> > -
> > -ptr1->AAA::BBB_alias::~BBB_alias(); // Now OK
> > -ptr2->AAA::BBB_alias::~BBB();   // OK
> > -ptr1->~BBB_alias2();// OK
> > -return 0;
> > -}
> >
> >
> >
> > ___
> > cfe-commits mailing list
> > cfe-commits@lists.llvm.org
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
> ___
> cfe-commits mailing list
> cfe-commits@lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: [clang] 4456076 - Revert "Further implement CWG 2292"

2020-01-17 Thread Hans Wennborg via cfe-commits
(Note to self: I double checked that the "Further implement CWG 2292"
patch landed just after the 10.x branch, so this revert doesn't need
to be cherry-picked there.)

On Thu, Jan 16, 2020 at 12:46 AM Amy Huang via cfe-commits
 wrote:
>
>
> Author: Amy Huang
> Date: 2020-01-15T15:46:07-08:00
> New Revision: 44560762c62d72a103bdceff49ffa70451efd5f8
>
> URL: 
> https://github.com/llvm/llvm-project/commit/44560762c62d72a103bdceff49ffa70451efd5f8
> DIFF: 
> https://github.com/llvm/llvm-project/commit/44560762c62d72a103bdceff49ffa70451efd5f8.diff
>
> LOG: Revert "Further implement CWG 2292"
>
> This reverts commit ee0f1f1edc3ec0d4e698d50cc3180217448802b7 because it
> causes an error on valid code.
> See https://reviews.llvm.org/rGee0f1f1edc3ec0d4e698d50cc3180217448802b7.
>
> Added:
>
>
> Modified:
> clang/lib/Sema/SemaExprCXX.cpp
>
> Removed:
> clang/test/SemaCXX/pseudo-destructor-name.cpp
>
>
> 
> diff  --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
> index 96e18105df78..a73e6906fceb 100644
> --- a/clang/lib/Sema/SemaExprCXX.cpp
> +++ b/clang/lib/Sema/SemaExprCXX.cpp
> @@ -192,10 +192,8 @@ ParsedType Sema::getDestructorName(SourceLocation 
> TildeLoc,
>AlreadySearched = true;
>LookupCtx = DC;
>isDependent = false;
> -} else if (auto *RD = dyn_cast_or_null(DC)) {
> -  if ((RD->hasDefinition() && RD->hasSimpleDestructor()) ||
> -  !RD->hasDefinition())
> -LookAtPrefix = false;
> +} else if (DC && isa(DC)) {
> +  LookAtPrefix = false;
>LookInScope = true;
>  }
>
>
> diff  --git a/clang/test/SemaCXX/pseudo-destructor-name.cpp 
> b/clang/test/SemaCXX/pseudo-destructor-name.cpp
> deleted file mode 100644
> index cc7c22b8dc4d..
> --- a/clang/test/SemaCXX/pseudo-destructor-name.cpp
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
> -// expected-no-diagnostics
> -
> -struct AAA
> -{
> -struct BBB
> -{
> -~BBB() {}
> -};
> -
> -typedef BBB BBB_alias;
> -};
> -
> -typedef AAA::BBB BBB_alias2;
> -
> -int
> -main()
> -{
> -AAA::BBB_alias *ptr1 = new AAA::BBB_alias();
> -AAA::BBB_alias *ptr2 = new AAA::BBB_alias();
> -
> -ptr1->AAA::BBB_alias::~BBB_alias(); // Now OK
> -ptr2->AAA::BBB_alias::~BBB();   // OK
> -ptr1->~BBB_alias2();// OK
> -return 0;
> -}
>
>
>
> ___
> cfe-commits mailing list
> cfe-commits@lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] 4456076 - Revert "Further implement CWG 2292"

2020-01-15 Thread Amy Huang via cfe-commits

Author: Amy Huang
Date: 2020-01-15T15:46:07-08:00
New Revision: 44560762c62d72a103bdceff49ffa70451efd5f8

URL: 
https://github.com/llvm/llvm-project/commit/44560762c62d72a103bdceff49ffa70451efd5f8
DIFF: 
https://github.com/llvm/llvm-project/commit/44560762c62d72a103bdceff49ffa70451efd5f8.diff

LOG: Revert "Further implement CWG 2292"

This reverts commit ee0f1f1edc3ec0d4e698d50cc3180217448802b7 because it
causes an error on valid code.
See https://reviews.llvm.org/rGee0f1f1edc3ec0d4e698d50cc3180217448802b7.

Added: 


Modified: 
clang/lib/Sema/SemaExprCXX.cpp

Removed: 
clang/test/SemaCXX/pseudo-destructor-name.cpp



diff  --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
index 96e18105df78..a73e6906fceb 100644
--- a/clang/lib/Sema/SemaExprCXX.cpp
+++ b/clang/lib/Sema/SemaExprCXX.cpp
@@ -192,10 +192,8 @@ ParsedType Sema::getDestructorName(SourceLocation TildeLoc,
   AlreadySearched = true;
   LookupCtx = DC;
   isDependent = false;
-} else if (auto *RD = dyn_cast_or_null(DC)) {
-  if ((RD->hasDefinition() && RD->hasSimpleDestructor()) ||
-  !RD->hasDefinition())
-LookAtPrefix = false;
+} else if (DC && isa(DC)) {
+  LookAtPrefix = false;
   LookInScope = true;
 }
 

diff  --git a/clang/test/SemaCXX/pseudo-destructor-name.cpp 
b/clang/test/SemaCXX/pseudo-destructor-name.cpp
deleted file mode 100644
index cc7c22b8dc4d..
--- a/clang/test/SemaCXX/pseudo-destructor-name.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
-// expected-no-diagnostics
-
-struct AAA
-{
-struct BBB
-{
-~BBB() {}
-};
-
-typedef BBB BBB_alias;
-};
-
-typedef AAA::BBB BBB_alias2;
-
-int
-main()
-{
-AAA::BBB_alias *ptr1 = new AAA::BBB_alias();
-AAA::BBB_alias *ptr2 = new AAA::BBB_alias();
-
-ptr1->AAA::BBB_alias::~BBB_alias(); // Now OK
-ptr2->AAA::BBB_alias::~BBB();   // OK
-ptr1->~BBB_alias2();// OK
-return 0;
-}



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