On Wed, Jul 31, 2019 at 07:58:55PM +0100, Jonathan Wakely wrote: > > Perhaps add __extension__ before the literals too? > > Does that do anything for Q literals? I thought I'd tried it > previously and decided it didn't. I'm happy to add it though.
You're right, it works well that way only in C, not in C++, on say: long double x = 1.234Q; long double y = __extension__ 1.234Q; This is pedwarned not when actually parsing the number, but when tokenizing it, which for C++ we do before parsing for all tokens. We could add a hack for it, say don't emit the pedwarn if the previous token is RID_EXTENSION, but it wouldn't be anything close to how we handle __extension__ during parsing (where pedantic is disabled while parsing the whole cast expression after it). Jakub