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
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
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
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
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
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
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,
---
hokein added inline comments.
Comment at: clang/lib/AST/Type.cpp:3429
toTypeDependence(E->getDependence()) |
- (E->isInstantiationDependent() ? TypeDependence::Dependent
- : TypeDependence::None) |
+
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
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)));
---
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
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)));
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
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
-
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
15 matches
Mail list logo