[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-08-10 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:9372 if (!isa(Target)) { - if (S.SourceMgr.isInSystemMacro(CC)) + if (S.SourceMgr.isInSystemMacro(CC) || Target->isBooleanType()) return; Do we really want to have

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-08-08 Thread Hal Finkel via Phabricator via cfe-commits
hfinkel accepted this revision. hfinkel added a comment. This revision is now accepted and ready to land. In https://reviews.llvm.org/D35817#835740, @t.p.northover wrote: > > What's going on with the OpenMP test changes? > > Compound assignment operators like "real /= complex" become illegal

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-08-08 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. > What's going on with the OpenMP test changes? Compound assignment operators like "real /= complex" become illegal under the new rules (in C++) because somewhere there has to be an implicit conversion. I was pretty relieved to discover GCC also rejects the

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-08-08 Thread Hal Finkel via Phabricator via cfe-commits
hfinkel added a comment. What's going on with the OpenMP test changes? https://reviews.llvm.org/D35817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-08-08 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. Pingy. https://reviews.llvm.org/D35817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-08-01 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover updated this revision to Diff 109149. t.p.northover added a comment. Sounds like an improvement, I've updated the diff. https://reviews.llvm.org/D35817 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/lib/Sema/SemaChecking.cpp clang/lib/Sema/SemaExpr.cpp

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-07-31 Thread Hal Finkel via Phabricator via cfe-commits
hfinkel added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:3068 +def err_impcast_complex_scalar : Error< + "implicit conversion discards imaginary component: %0 to %1">; def warn_impcast_float_precision : Warning< I think that,

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-07-31 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. Ping. https://reviews.llvm.org/D35817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-07-24 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover updated this revision to Diff 107970. t.p.northover added a comment. Sorry, uploaded version with slightly wrong tests. https://reviews.llvm.org/D35817 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/lib/Sema/SemaChecking.cpp clang/lib/Sema/SemaExpr.cpp

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-07-24 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. Herald added a subscriber: mcrosier. As part of preparing Clang for a C++14 default we noticed that code like this was accepted and did horrible things in C++11 or earlier modes (i.e. where 1.0if is a `_Complex float` rather than a UDL): std::complex var