[Bug libstdc++/78264] [7 regression] ICE in build_noexcept_spec, at cp/except.c:1196

2016-12-09 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78264

--- Comment #11 from Eric Botcazou  ---
> thanks for fixing this.  Shouldn't we keep the PR open, though?  It's
> still an ice-on-invalid.

Given that it didn't raise much interest as ice-on-valid-code, I wouldn't
expect it to raise interest as ice-on-invalid at all. :-)

More seriously, the ICE is not a regression and only enabled with checking:

  if (TREE_CODE (expr) == INTEGER_CST)
{
  if (operand_equal_p (expr, boolean_true_node, 0))
return noexcept_true_spec;
  else
{
  gcc_checking_assert (operand_equal_p (expr, boolean_false_node, 0));
  return noexcept_false_spec;
}
}

so I wouldn't bother about it.

[Bug libstdc++/78264] [7 regression] ICE in build_noexcept_spec, at cp/except.c:1196

2016-12-09 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78264

--- Comment #10 from ro at CeBiTec dot Uni-Bielefeld.DE  ---
Hi Eric,

thanks for fixing this.  Shouldn't we keep the PR open, though?  It's
still an ice-on-invalid.

Rainer

[Bug libstdc++/78264] [7 regression] ICE in build_noexcept_spec, at cp/except.c:1196

2016-12-08 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78264

Eric Botcazou  changed:

   What|Removed |Added

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

--- Comment #9 from Eric Botcazou  ---
.

[Bug libstdc++/78264] [7 regression] ICE in build_noexcept_spec, at cp/except.c:1196

2016-12-08 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78264

--- Comment #8 from Eric Botcazou  ---
Author: ebotcazou
Date: Thu Dec  8 15:52:11 2016
New Revision: 243443

URL: https://gcc.gnu.org/viewcvs?rev=243443=gcc=rev
Log:
PR libstdc++/78264
* include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM): Turn _N into _NE.
(_GLIBCXX_NOEXCEPT_QUAL): Likewise.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/c++config

[Bug libstdc++/78264] [7 regression] ICE in build_noexcept_spec, at cp/except.c:1196

2016-12-08 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78264

Eric Botcazou  changed:

   What|Removed |Added

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

--- Comment #7 from Eric Botcazou  ---
It's the new macro in c++config:

#if __cpp_noexcept_function_type
#define _GLIBCXX_NOEXCEPT_PARM , bool _N
#define _GLIBCXX_NOEXCEPT_QUAL noexcept (_N)
#else
#define _GLIBCXX_NOEXCEPT_PARM
#define _GLIBCXX_NOEXCEPT_QUAL
#endif

See this comment a few lines below in the same file:

// This marks string literals in header files to be extracted for eventual
// translation.  It is primarily used for messages in thrown exceptions; see
// src/functexcept.cc.  We use __N because the more traditional _N is used
// for something else under certain OSes (see BADNAMES).
#define __N(msgid) (msgid)

Testing trivial fix...

[Bug libstdc++/78264] [7 regression] ICE in build_noexcept_spec, at cp/except.c:1196

2016-12-01 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78264

--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE  ---
> --- Comment #5 from Eric Botcazou  ---
> Still present on Solaris.

Jason,

could you please have a look at this PR?  Your patch (r241944)

2016-11-07  Jason Merrill  

  Implement P0012R1, Make exception specifications part of the type
  system.

has introduced those massive regressions on Solaris, as I've just
verified on i386-pc-solaris2.12 and sparc-sun-solaris2.12 (but it
affects any Solaris version).

Thanks.
Rainer

[Bug libstdc++/78264] [7 regression] ICE in build_noexcept_spec, at cp/except.c:1196

2016-11-28 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78264

Eric Botcazou  changed:

   What|Removed |Added

 Target|i386-pc-solaris2.12,|i386-pc-solaris2.12,
   |sparc-sun-solaris2.12,  |sparc-sun-solaris2.12,
   |x86-64-linux-gnu|
 CC||ebotcazou at gcc dot gnu.org
  Component|c++ |libstdc++
   Host|i386-pc-solaris2.12,|i386-pc-solaris2.12,
   |sparc-sun-solaris2.12,  |sparc-sun-solaris2.12
   |x86-64-linux-gnu|
  Build|i386-pc-solaris2.12,|i386-pc-solaris2.12,
   |sparc-sun-solaris2.12,  |sparc-sun-solaris2.12
   |x86-64-linux-gnu|
   Severity|normal  |major

--- Comment #5 from Eric Botcazou  ---
Still present on Solaris.