This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/49813] [C++0x] sinh vs asinh vs constexpr


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49813

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011.07.22 14:41:46
         AssignedTo|unassigned at gcc dot       |jason at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #19 from Jason Merrill <jason at gcc dot gnu.org> 2011-07-22 14:41:46 UTC ---
Strictly speaking, the bug is that

  constexpr double ds  = sinh(1.0);   // Ok

is accepted; the standard doesn't say that sinh is constexpr, so it isn't
usable in a constant expression.  G++ treating built-ins as constexpr is an
extension, which should be disabled in strict conformance mode.  Paolo, can you
raise the question of marking C library functions as constexpr with the library
WG?

But practically speaking, we should have C90 builtins in C++98, and C99
builtins in C++11.  I suppose that means setting flag_isoc94 and flag_isoc99 in
C++.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]