ahatanak added a comment. Here are a couple of examples I found running the regression tests:
int f0(int); float f0(float); decltype(f0) f0_a; // this is not valid. template <class... Ts> int var_expr(Ts... ts); template <class... Ts> auto a_function(Ts... ts) -> decltype(var_expr(ts...)); template <class T> using partial = decltype(a_function<int, T>); int use_partial() { partial<char> n; } template<class T> void oneT() { } int main() { decltype(oneT<int>)* fun = 0; } If the call to `CheckPlaceholderExpr` in `Sema::BuildDecltypeType` is moved to `TreeTransform<Derived>::TransformDecltypeType` and `Parser::ParseDecltypeSpecifier`, we can assert at the beginning of `Sema::BuildDecltypeType`. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55662/new/ https://reviews.llvm.org/D55662 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits