[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2021-01-05 Thread Haojian Wu via Phabricator via cfe-commits
hokein abandoned this revision. hokein added a comment. Closing it as Richard has landed a better patch in https://github.com/llvm/llvm-project/commit/638867afd4bce4a2c56dea041299428af3727d61. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87349/new

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-12-01 Thread Haojian Wu via Phabricator via cfe-commits
hokein added a comment. @rsmith I think it still makes sense to get this patch landed. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87349/new/ https://reviews.llvm.org/D87349 ___ cfe-commits mailing lis

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-12-01 Thread Haojian Wu via Phabricator via cfe-commits
hokein updated this revision to Diff 308636. hokein added a comment. rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87349/new/ https://reviews.llvm.org/D87349 Files: clang/include/clang/AST/ASTContext.h clang/include/clang/AST/RecursiveA

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-10-21 Thread Haojian Wu via Phabricator via cfe-commits
hokein added a comment. friendly ping @rsmith :) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87349/new/ https://reviews.llvm.org/D87349 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://l

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-24 Thread Haojian Wu via Phabricator via cfe-commits
hokein added inline comments. Comment at: clang/include/clang/AST/Type.h:4499-4508 /// Internal representation of canonical, dependent /// decltype(expr) types. /// /// This class is used internally by the ASTContext to manage /// canonical, dependent types, only. Clients wi

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-24 Thread Haojian Wu via Phabricator via cfe-commits
hokein updated this revision to Diff 294143. hokein marked 2 inline comments as done. hokein added a comment. store the actual expression in DecltypeTypeLoc and address comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87349/new/ https://revi

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-18 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/include/clang/AST/Type.h:4478 - DecltypeType(Expr *E, QualType underlyingType, QualType can = QualType()); + const ASTContext &Context; + DecltypeType(Expr *E, QualType underlyingType, const ASTContext &Context, ---

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-18 Thread Haojian Wu via Phabricator via cfe-commits
hokein added inline comments. Comment at: clang/lib/AST/Type.cpp:3429 toTypeDependence(E->getDependence()) | - (E->isInstantiationDependent() ? TypeDependence::Dependent - : TypeDependence::None) | +

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-18 Thread Haojian Wu via Phabricator via cfe-commits
hokein updated this revision to Diff 292784. hokein marked 2 inline comments as done. hokein added a comment. address comments: - don't break existing mangling tests - deduplicate instantiation-dependent-but-not-type-dependent DecltypeType node (for name mangling substitution) - fix the dependen

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-16 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/test/CodeGenCXX/mangle.cpp:805 - // CHECK-LABEL: define weak_odr void @_ZN6test341fIiEEvDTstDTplcvT__EcvS1__EEE + // CHECK-LABEL: define weak_odr void @_ZN6test341fIiEEvm template void f(decltype(sizeof(1))); ---

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-16 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/test/CodeGenCXX/mangle-exprs.cpp:218 template void a(decltype(noexcept(int(; - // CHECK: void @_ZN5test51aIiEEvDTnxcvT__EE( + // CHECK: void @_ZN5test51aIiEEvb } As with the other case, the expression here

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-16 Thread Sam McCall via Phabricator via cfe-commits
sammccall added inline comments. Comment at: clang/test/CodeGenCXX/mangle.cpp:805 - // CHECK-LABEL: define weak_odr void @_ZN6test341fIiEEvDTstDTplcvT__EcvS1__EEE + // CHECK-LABEL: define weak_odr void @_ZN6test341fIiEEvm template void f(decltype(sizeof(1)));

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-16 Thread Sam McCall via Phabricator via cfe-commits
sammccall added a comment. Ugh, the hole goes deeper, because the Itanium ABI unambiguously follows the C++11 (instantiation-dependent) behavior. Definitely need Richard's input here as I'm fairly sure this will break things as-is. Comment at: clang/test/CodeGenCXX/mangle-exp

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-16 Thread Sam McCall via Phabricator via cfe-commits
sammccall added a comment. We should check if the mangling matches GCC (or if it depends on -std), if we can. Comment at: clang/lib/AST/Type.cpp:3429 toTypeDependence(E->getDependence()) | - (E->isInstantiationDependent() ? TypeDependence::Dependent -

[PATCH] D87349: [clang] adapt c++17 behavior for dependent decltype-specifiers

2020-09-09 Thread Haojian Wu via Phabricator via cfe-commits
hokein created this revision. hokein added a reviewer: rsmith. Herald added a project: clang. hokein requested review of this revision. Context: https://reviews.llvm.org/D86048#2254607 Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D87349 Files: clang/lib/AST/ASTContext.cpp