[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-03-01 Thread emsr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 --- Comment #2 from emsr at gcc dot gnu.org --- It looks like try blocks in constexpr is in. p1002r1. This may be enough to do some constexpr library bits.

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-03-02 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2018-12-03 Thread emsr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 --- Comment #1 from emsr at gcc dot gnu.org --- LOL, this compiles: // P1330R0 - Changing the active member of a union inside constexpr union Foo { int i; float f; }; constexpr int use() { Foo foo{}; foo.i = 3; foo.f = 1.2f; return

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-10-28 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 Marek Polacek changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned a

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-10-28 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 --- Comment #5 from Marek Polacek --- Looks like we need to teach constexpr how to evaluate a call to __dynamic_cast.

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-10-30 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 --- Comment #6 from Marek Polacek --- First steps: this now compiles in c++2a: struct B { virtual void baz () {} }; struct D : B { }; constexpr bool fn () { bool ok = true; B b; B *b1 = &b; if (D *pd = dynamic_cast(b1)) ok = fals

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-10-31 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 --- Comment #7 from Marek Polacek --- Sidecast now works too: struct A { virtual void afn () {} }; struct B { virtual void bfn () {} }; struct D : A, B { }; constexpr bool fn () { bool ok = true; D d; A *a = &d; if (B *bp = dynami

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-11-10 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 Marek Polacek changed: What|Removed |Added Keywords||patch --- Comment #8 from Marek Polacek

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-11-10 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 --- Comment #9 from Marek Polacek --- Not entirely true, this template case should be accepted: #include struct B { virtual void f(); }; struct B2 : B { }; template constexpr bool fn () { constexpr B2 b2; static_assert(&typeid(b2) == &typ

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-11-22 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 --- Comment #10 from Marek Polacek --- Author: mpolacek Date: Fri Nov 22 23:48:25 2019 New Revision: 278635 URL: https://gcc.gnu.org/viewcvs?rev=278635&root=gcc&view=rev Log: PR c++/88337 - P1327R1: Allow polymorphic typeid in constexpr.

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-08-05 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 Marek Polacek changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-12-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 --- Comment #11 from Marek Polacek --- Author: mpolacek Date: Sun Dec 29 16:44:41 2019 New Revision: 279755 URL: https://gcc.gnu.org/viewcvs?rev=279755&root=gcc&view=rev Log: PR c++/88337 - Implement P1327R1: Allow dynamic_cast in conste

[Bug c++/88337] Implement P1002R1, P1327R1, P1330R0, C++20 relaxations of constexpr restrictions.

2019-12-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88337 Marek Polacek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---