https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
Bug 84582 depends on bug 84596, which changed state.
Bug 84596 Summary: [8 Regression] internal compiler error: unexpected
expression '(bool)c' of kind implicit_conv_expr (cxx_eval_constant_expression)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
Jakub Jelinek changed:
What|Removed |Added
CC||tuliom at linux dot
vnet.ibm.com
--- Co
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
Bug 84582 depends on bug 84596, which changed state.
Bug 84596 Summary: [8 Regression] internal compiler error: unexpected
expression '(bool)c' of kind implicit_conv_expr (cxx_eval_constant_expression)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
Marek Polacek changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
--- Comment #9 from Marek Polacek ---
Author: mpolacek
Date: Thu Mar 1 22:44:54 2018
New Revision: 258116
URL: https://gcc.gnu.org/viewcvs?rev=258116&root=gcc&view=rev
Log:
PR c++/84582
* semantics.c (force_paren_expr): Create a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
Bug 84582 depends on bug 84596, which changed state.
Bug 84596 Summary: [8 Regression] internal compiler error: unexpected
expression '(bool)c' of kind implicit_conv_expr (cxx_eval_constant_expression)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
Alexandre Oliva changed:
What|Removed |Added
CC||aoliva at gcc dot gnu.org
Depe
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
--- Comment #7 from Jason Merrill ---
(In reply to Marek Polacek from comment #6)
> So do you think that we don't want the patch in Comment 3?
Correct, that patch is wrong.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
--- Comment #6 from Marek Polacek ---
(In reply to Jason Merrill from comment #5)
> (In reply to Jakub Jelinek from comment #2)
> > Given:
> > class C {
> > static const long b = 0;
> > static const unsigned c = (b);
> > };
> > class D {
> >
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
Jason Merrill changed:
What|Removed |Added
CC||jason at gcc dot gnu.org
--- Comment #5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
Marek Polacek changed:
What|Removed |Added
Priority|P3 |P1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
--- Comment #4 from Marek Polacek ---
...with that we get the original ICE in PR84325 back:
internal compiler error: unexpected expression ‘(const
seconds){operator""_s<'1', '0'>()}’ of kind implicit_conv_expr
constexpr static inline seconds
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
--- Comment #3 from Marek Polacek ---
It looks like we shouldn't skip the evaluation when ALLOW_NON_CONSTANT is
false, similarly to the CONSTANT_CLASS_P case:
@@ -5137,10 +5147,10 @@ maybe_constant_init_1 (tree t, tree decl, bool
allow_non_const
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
--- Comment #2 from Jakub Jelinek ---
Given:
class C {
static const long b = 0;
static const unsigned c = (b);
};
class D {
static const long b = 0;
static const unsigned c = b;
};
template class A {
static const long b = 0;
static c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
Marek Polacek changed:
What|Removed |Added
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
--- Comment #1 from Marek Polacek ---
We have
(unsigned int) (long int) *(const long int &) &b
and cxx_constant_value -> maybe_constant_init_1 doesn't evaluate it now:
5154 if (!is_nondependent_static_init_expression (t))
5155 /* Don't tr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84582
Martin Liška changed:
What|Removed |Added
Known to work||7.3.0
Target Milestone|---
17 matches
Mail list logo