On 1 June 2017 at 14:36, Tim Northover <t.p.northo...@gmail.com> wrote:
> On 26 May 2017 at 11:29, Richard Smith <rich...@metafoo.co.uk> wrote: > > If we generally think that distinction is a good thing, then (because > this > > is a conforming extension) consistency weakly suggests that it should > not be > > controlled by GNU mode. But I don't find that argument decisive; the > > important thing is that we don't enable non-conforming extensions by > default > > in non-GNU (and non-MS-compat) modes, not that GNU mode consists of > /only/ > > non-conforming extensions. > > I'm pretty convinced by the conforming/non-conforming distinction and > consistency argument. And think that the Microsoft way seems even > better for the future. > > Making the libc++ test pass is pretty ugly, but I've managed to get it > working by building with "-Werror=gnu-imaginary-constant". > > Marshall, I know this really isn't your preferred solution but can you > stomach it if I also make sure we do the extra diagnostics so it's > difficult to misuse? > > > Looking at the > > > > std::complex<float> x = 1.0if; > > > > case again, I think there's another problem here: we support an implicit > > conversion from _Complex float to float in C++ (without even a warning). > > This conversion is valid in C, but at least GCC disallows it in its C++ > > mode. We should probably at least warn on that. > > Definitely. I think the error from G++ is probably the right choice. > I'll get cracking on that, it's a good idea regardless of what happens > here. > Great, thanks, your intended direction makes sense to me.
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits