[PATCH] D129531: [clang][C++20] P0960R3 and P1975R0: Allow initializing aggregates from a parenthesized list of values

Alan Zhao via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 13 12:51:51 PST 2022


ayzhao added a comment.

In D129531#3990050 <https://reviews.llvm.org/D129531#3990050>, @ayzhao wrote:

> In D129531#3988996 <https://reviews.llvm.org/D129531#3988996>, @ilya-biryukov wrote:
>
>> Since the errors only shows up in modular builds, I would look closely for bugs inside `ASTReader`/`ASTWriter`.
>
> These test failures are a little weird because they seem to alternate between being able to reliably reproduce vs not being able to reproduce at all.
>
> One thing that I did notice is that the tests fail with `RelWithDebInfo` builds, but pass with all of the other builds (`Debug`, `Release`, and `MinSizeRel`). Right now though, I'm unable to reproduce the libc++ failure even with `RelWithDebInfo`.
>
> Incidentally, I just rebased this patch, and it seems like the dr2xx.cpp test <https://github.com/llvm/llvm-project/blame/main/clang/test/CXX/drs/dr2xx.cpp> is also failing in a similar manner (fails on `RelWithDebInfo` but passes on other builds).

All of the builds are green now - it turns out that I had to resolve 2 instances of UB in this patch.

>> Also, it seems that `ArrayFiller` is not taken in to account in `computeDependence` and maybe it should be. I am not 100% sure, though: if `ArrayFiller` is only used for non-dependent code, it should not case this bug. It also does not explain the variation between modular and non-modular builds

I don't think this should be an issue - `InitListExpr` doesn't take `ArrayFiller` into account in `computeDependence(...)` either: https://github.com/llvm/llvm-project/blob/c8647738cd654d9ecfdc047e480d05a997d3127b/clang/lib/AST/ComputeDependence.cpp#L636-L641


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129531/new/

https://reviews.llvm.org/D129531



More information about the cfe-commits mailing list