[Bug c++/50169] [DR 2141] "new struct X {{}};" incorrectly treated as an invalid struct-definition

2018-10-21 Thread zeratul976 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50169

--- Comment #8 from Nathan Ridge  ---
(In reply to Eric Gallager from comment #7)
> (In reply to Nathan Ridge from comment #6)
> > Here is another test case that MSVC accepts but GCC rejects:
> > 
> > struct A {};
> > struct A* b = (1 == 1) ? new struct A : new struct A;
> 
> Is this really the same thing though?

I believe it's code that was made valid by DR2141, yes. I elaborate on my
reasoning in the corresponding clang bug:

https://bugs.llvm.org/show_bug.cgi?id=34993

[Bug c++/50169] [DR 2141] "new struct X {{}};" incorrectly treated as an invalid struct-definition

2018-10-17 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50169

--- Comment #7 from Eric Gallager  ---
(In reply to Nathan Ridge from comment #6)
> Here is another test case that MSVC accepts but GCC rejects:
> 
> struct A {};
> struct A* b = (1 == 1) ? new struct A : new struct A;

Is this really the same thing though?

[Bug c++/50169] [DR 2141] "new struct X {{}};" incorrectly treated as an invalid struct-definition

2017-10-18 Thread zeratul976 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50169

Nathan Ridge  changed:

   What|Removed |Added

 CC||zeratul976 at hotmail dot com

--- Comment #6 from Nathan Ridge  ---
Here is another test case that MSVC accepts but GCC rejects:

struct A {};
struct A* b = (1 == 1) ? new struct A : new struct A;