Conversation
PR #7282 — external/: ADD C++17 support
Repository: Base → Head: HEAD Commit: Scope: Adds libc++ 🔎 Review Summary
Final Verdict: ❗ Request Changes 🚨 Must-Fix Issues1. std::variant::emplace is exposed with the wrong C++17 return type
Problem Impact
Evidence
Required Fix
Change outline:
Example patch: diff --git a/external/include/libcxx/variant b/external/include/libcxx/variant
@@
- void emplace(_Args&&... __args) {
+ variant_alternative_t<_Ip, variant<_Types...>>& emplace(_Args&&... __args) {
__impl.template __emplace<_Ip>(_VSTD::forward<_Args>(__args)...);
+ return _VSTD::get<_Ip>(*this);
}
@@
- void emplace(_Args&&... __args) {
+ _Tp& emplace(_Args&&... __args) {
__impl.template __emplace<_Ip>(_VSTD::forward<_Args>(__args)...);
+ return _VSTD::get<_Ip>(*this);
}Inference:
Validation Method
🟡 Nice-to-Have Improvements1. Add focused libcxx-test coverage for variant construction and valueless paths
Problem Impact
Recommended Action
Expected Output
✅ Notable ImprovementsNotable Improvements✔ The PR updates the shared in-place utility plumbing instead of hard-coding variant-only tags
✔ any was updated alongside utility so the tag model stays internally consistent
✔ The out-of-line bad_variant_access symbol is added to the archive build
🧾 Final AssessmentMust-Fix Summary
Nice-to-Have Summary
Residual Risk / Test Gap
📌 Final Verdict
The integration approach is mostly sensible, but the public |
This commit add the support of C++17 in TizenRT
e89fd90 to
16c9d4c
Compare
This commit add the support of C++17 in TizenRT