[Bug c++/90799] noexcept specification dependent on template argument throws internal compiler error when trying to deduce it from a function argument

2021-01-05 Thread mpolacek at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90799

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Marek Polacek  ---
Should be fixed now.

[Bug c++/90799] noexcept specification dependent on template argument throws internal compiler error when trying to deduce it from a function argument

2021-01-04 Thread mpolacek at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90799

Marek Polacek  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org
 Status|NEW |ASSIGNED

--- Comment #5 from Marek Polacek  ---
My patch for PR82099 fixes this one too.

[Bug c++/90799] noexcept specification dependent on template argument throws internal compiler error when trying to deduce it from a function argument

2020-11-10 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90799

--- Comment #4 from CVS Commits  ---
The master branch has been updated by Marek Polacek :

https://gcc.gnu.org/g:a210d404d08e363af4b2e2a60986c3cb08f8ebc5

commit r11-4890-ga210d404d08e363af4b2e2a60986c3cb08f8ebc5
Author: Marek Polacek 
Date:   Tue Nov 10 14:57:19 2020 -0500

c++: Add 5 unfixed tests.

A couple of dg-ice tests.

gcc/testsuite/ChangeLog:

PR c++/52830
PR c++/88982
PR c++/90799
PR c++/87765
PR c++/89565
* g++.dg/cpp0x/constexpr-52830.C: New test.
* g++.dg/cpp0x/vt-88982.C: New test.
* g++.dg/cpp1z/class-deduction76.C: New test.
* g++.dg/cpp1z/constexpr-lambda26.C: New test.
* g++.dg/cpp2a/nontype-class39.C: New test.

[Bug c++/90799] noexcept specification dependent on template argument throws internal compiler error when trying to deduce it from a function argument

2019-06-10 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90799

--- Comment #3 from Jonathan Wakely  ---
Yes, that's standard as long as you provide the bool as an explicit template
argument. Deducing it from the function type is the GCC extension.

[Bug c++/90799] noexcept specification dependent on template argument throws internal compiler error when trying to deduce it from a function argument

2019-06-10 Thread franwade33 at googlemail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90799

--- Comment #2 from franwade33 at googlemail dot com ---
It throws a different compiler error if you give the template parameter (Move
`bool is_noexcept` to the start of the template list and call
`is_noexcept_function(foo)`). To my knowledge, this is not a gcc
extension (And it works fine in MSVC++ and with clang++).

: In substitution of 'template
constexpr bool is_noexcept_function(void (*)(Args ...) noexcept (is_noexcept))
[with bool is_noexcept = true; Args = ]':
:24:48:   required from here
:24:48: internal compiler error: in nothrow_spec_p, at
cp/except.c:LINE
   24 | static_assert(is_noexcept_function(foo));
  |^

https://godbolt.org/z/cjhCQp

Where the line number is 1238 in gcc 10.0.0, 1241 in gcc 9.1.0, and 1148 in gcc
8.3.0 (It is an ICE in all 3 versions)

[Bug c++/90799] noexcept specification dependent on template argument throws internal compiler error when trying to deduce it from a function argument

2019-06-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90799

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-06-09
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely  ---
Deducing the noexcept-specifier this way is non-standard, but supported by GCC
so should not give an ICE.