higher-performance wrote:

@AaronBallman  Oh no worries at all. I'm actually struggling with something 
else -- apparently C++20 aggregate initialization with parentheses isn't 
handled correctly, and I'm struggling to get it to work. I added a bunch of 
test cases that all fail... any chance you know how these need to be handled?

I tried adding
```
  if (Args.empty()) {
    if (FieldDecl *FD = dyn_cast_if_present<FieldDecl>(Entity.getDecl())) {
      if (FD->hasAttr<ExplicitInitAttr>()) {
        S.Diag(Kind.getLocation(), diag::warn_field_requires_explicit_init)
            << /* Var-in-Record */ 0 << FD;
        S.Diag(FD->getLocation(), diag::note_entity_declared_at) << FD;
      }
    }
  }
```
to the beginning of `InitializationSequence::Perform`, but that also duplicated 
some of the errors, and still failed to handle some other cases (I think 
value-initialization?)...

https://github.com/llvm/llvm-project/pull/102040
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to