Title
nothrow should be inline constexpr rather that extern const
Status
nad
Section
[new.syn]
Submitter
Antony Polukhin

Created on 2018-04-25.00:00:00 last changed 77 months ago

Messages

Date: 2018-08-24.13:31:33

Proposed resolution:

This wording is relative to N4741.

  1. Edit [new.syn] as indicated:

    struct nothrow_t { explicit nothrow_t() = default; };
    extern constinline constexpr nothrow_t nothrow;
    
Date: 2018-08-23.00:00:00

[ 2018-08-23 Batavia Issues processing ]

Status to Tentatively NAD - if we had a status 'Wont Fix' that would be correct.

This is an ABI break for most implementations, and people can define their own variable of type std::nothrow_t if they want a constexpr one.

Date: 2018-06-18.00:00:00

[ 2018-06-18 after reflector discussion ]

Priority set to 2

Date: 2018-04-25.00:00:00

std::nothrow in [new.syn] is declared as 'extern const nothrow_t nothrow;'. Unfortunately this declaration requires linking with Standard Library (which does not work well on GCC with -nostdlib flag). Moreover the declaration differs from other Standard Library tags that are 'inline constexpr'.

History
Date User Action Args
2018-08-24 13:31:33adminsetmessages: + msg10133
2018-08-24 13:31:33adminsetstatus: new -> nad
2018-06-19 05:49:11adminsetmessages: + msg9944
2018-05-05 12:57:26adminsetmessages: + msg9838
2018-04-25 00:00:00admincreate