[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-07-07 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu closed this revision. ChuanqiXu added a comment. Committed in https://reviews.llvm.org/rG354a597b9f3aad2a6a37518d47351adb99688cd2 CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 ___

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-07-07 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu updated this revision to Diff 443124. ChuanqiXu added a comment. Minor changes. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/include/clang/Sema/Sema.h

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-07-07 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu updated this revision to Diff 443123. ChuanqiXu added a comment. Minor changes. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 Files: clang/test/Modules/Inputs/redundant-template-default-arg/foo.cppm

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-07-05 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added a comment. Given @rsmith and @iains is busy and this revision is relatively small, innocent and looks good to me, I plan to land this in Friday in case there is no further comments. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-07-01 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added a reviewer: ilya-biryukov. ChuanqiXu added a subscriber: ilya-biryukov. ChuanqiXu added a comment. Add @ilya-biryukov since he did similar things in https://reviews.llvm.org/D128921 CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-06-28 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added a comment. @rsmith @iains gentle ping~ CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-06-20 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added a comment. @rsmith @iains ping CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-06-06 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu updated this revision to Diff 434415. ChuanqiXu marked an inline comment as done. ChuanqiXu added a comment. Remove unused header ODRHash.h CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 Files:

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-06-06 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu marked 10 inline comments as done. ChuanqiXu added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2762 SawDefaultArgument = true; -RedundantDefaultArg = true; +if (!OldTypeParm->getImportedOwningModule()) +

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-06-06 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu updated this revision to Diff 434411. ChuanqiXu added a comment. Address comments. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/include/clang/Sema/Sema.h

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-06-02 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2651 +Expr *DefaultArgumentY = NTTPY->getDefaultArgument()->IgnoreImpCasts(); +ODRHash X, Y; +X.AddStmt(DefaultArgumentX); ODR hashing is intended to produce a hash that's

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-04-06 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added a comment. @rsmith gentle ping~ CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-04-01 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added a comment. @rsmith gentle ping~ CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-03-06 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added a comment. @urnathan It looks @rsmith is not available this time. Would you like to accept this one? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 ___ cfe-commits mailing list

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-03-01 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added a comment. Herald added a project: All. @rsmith gentle ping~ CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-02-18 Thread Nathan Sidwell via Phabricator via cfe-commits
urnathan added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2658-2682 +Expr::EvalResult EVRX, EVRY; +if (!DefaultArgumentX->EvaluateAsConstantExpr(EVRX, C) || +!DefaultArgumentY->EvaluateAsConstantExpr(EVRY, C)) + return false; + +APValue

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-02-18 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2658-2682 +Expr::EvalResult EVRX, EVRY; +if (!DefaultArgumentX->EvaluateAsConstantExpr(EVRX, C) || +!DefaultArgumentY->EvaluateAsConstantExpr(EVRY, C)) + return false; + +

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-02-17 Thread Nathan Sidwell via Phabricator via cfe-commits
urnathan added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2658-2682 +Expr::EvalResult EVRX, EVRY; +if (!DefaultArgumentX->EvaluateAsConstantExpr(EVRX, C) || +!DefaultArgumentY->EvaluateAsConstantExpr(EVRY, C)) + return false; + +APValue

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-02-17 Thread Nathan Sidwell via Phabricator via cfe-commits
urnathan added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2658-2682 +Expr::EvalResult EVRX, EVRY; +if (!DefaultArgumentX->EvaluateAsConstantExpr(EVRX, C) || +!DefaultArgumentY->EvaluateAsConstantExpr(EVRY, C)) + return false; + +APValue

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-02-17 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2658-2682 +Expr::EvalResult EVRX, EVRY; +if (!DefaultArgumentX->EvaluateAsConstantExpr(EVRX, C) || +!DefaultArgumentY->EvaluateAsConstantExpr(EVRY, C)) + return false; + +

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-02-17 Thread Nathan Sidwell via Phabricator via cfe-commits
urnathan added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2658-2682 +Expr::EvalResult EVRX, EVRY; +if (!DefaultArgumentX->EvaluateAsConstantExpr(EVRX, C) || +!DefaultArgumentY->EvaluateAsConstantExpr(EVRY, C)) + return false; + +APValue

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-02-17 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2658-2682 +Expr::EvalResult EVRX, EVRY; +if (!DefaultArgumentX->EvaluateAsConstantExpr(EVRX, C) || +!DefaultArgumentY->EvaluateAsConstantExpr(EVRY, C)) + return false; + +

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-02-17 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu updated this revision to Diff 409507. ChuanqiXu added a comment. Use ODRHash to simplify code. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-02-16 Thread Nathan Sidwell via Phabricator via cfe-commits
urnathan added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2654-2656 +if (!C.hasSameType(DefaultArgumentX->getType(), + DefaultArgumentY->getType())) + return false; Can this ever trigger and the below expression

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-02-15 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu updated this revision to Diff 409157. ChuanqiXu added a comment. Address comment to check if the duplicated default template arguments are the same and add tests to address the negative cases. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-01-26 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu planned changes to this revision. ChuanqiXu added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2852 -if (RedundantDefaultArg) { +if (RedundantDefaultArg && !IsOldParamFromModule) { // C++ [temp.param]p12: urnathan

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-01-25 Thread Nathan Sidwell via Phabricator via cfe-commits
urnathan added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:2681-2697 +// Variable used to not diagnose redundant default arguments +// from modules. +// +// [basic.def.odr]/13: +// There can be more than one definition of a +//

[PATCH] D118034: [C++20] [Modules] Don't complain about duplicated default template argument across modules

2022-01-24 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu created this revision. ChuanqiXu added reviewers: rsmith, urnathan, aaron.ballman, erichkeane. ChuanqiXu added a project: clang. ChuanqiXu requested review of this revision. Herald added a subscriber: cfe-commits. See https://github.com/cplusplus/draft/pull/5204 for a detailed