Quuxplusone added inline comments.
================ Comment at: lib/Sema/SemaTemplate.cpp:3089 + else + OS << "("; + for (CXXTemporaryObjectExpr::arg_iterator Arg = Node->arg_begin(), ---------------- It might be more maintainer-proof to write this as std::pair<const char *, const char *> Braces; if (Node->isStdInitListInitialization()) Braces = std::make_pair("", ""); else if (Node->isListInitialization()) Braces = std::make_pair("{", "}"); else Braces = std::make_pair("(", ")"); OS << Braces.first; for (...) { ... } OS << Braces.second; return true; ================ Comment at: test/SemaCXX/static-assert.cpp:136 +static_assert(std::is_const<decltype(ExampleTypes(3))>::value, "message"); +// expected-error@-1{{static_assert failed due to requirement 'std::is_const<ExampleTypes>::value' "message"}} ---------------- Conspicuously missing any test for lines 3081–3106 above. IIUC, those lines would trigger on things like ``` template<class T> struct X { int i=0, j=0; constexpr operator bool() const { return false; } }; template<class T> void test() { static_assert(X<T>{}); static_assert(X<T>{1,2}); static_assert(T{0}); static_assert(T(0)); } template void test<int>(); ``` But I guess I don't see why extra code is needed to handle those; shouldn't the pretty-printer handle them already? What do the current diagnostics look like for my example? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55552/new/ https://reviews.llvm.org/D55552 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits