[all-commits] [llvm/llvm-project] 5d800d: [clang] Fix type of the MaterializeTemporaryExpr w...
Eli Friedman via All-commits
all-commits at lists.llvm.org
Wed Jul 8 15:57:07 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5d800d3285c1dd8cd438346d5256c35528d744c4
https://github.com/llvm/llvm-project/commit/5d800d3285c1dd8cd438346d5256c35528d744c4
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-07-08 (Wed, 08 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
A clang/test/AST/ast-dump-init.cpp
Log Message:
-----------
[clang] Fix type of the MaterializeTemporaryExpr with incomplete array type. (#187618)
This affects constructs like `int f(int (&&x)[]); int z = f({1});`.
A temporary logically can't have incomplete type: if we don't know the
type, we can't materialize it. Rearrange the casts to make more sense.
I'm not sure this has any practical effects at the moment due to the way
we use skipRValueSubobjectAdjustments; we usually end up ignoring the
type of the MaterializeTemporaryExpr.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list