================
@@ -4601,8 +4601,15 @@ SourceRange 
DesignatedInitExpr::getDesignatorsSourceRange() const {
 SourceLocation DesignatedInitExpr::getBeginLoc() const {
   auto *DIE = const_cast<DesignatedInitExpr *>(this);
   Designator &First = *DIE->getDesignator(0);
-  if (First.isFieldDesignator())
-    return GNUSyntax ? First.getFieldLoc() : First.getDotLoc();
+  if (First.isFieldDesignator()) {
+    for (unsigned int i = 0; i < DIE->size(); i++) {
----------------
HighCommander4 wrote:

Please add a comment explaining what this code is doing. Something like:

```c++
// Skip past implicit designators for anonymous structs/unions, since
// these do not have valid source locations.
```

https://github.com/llvm/llvm-project/pull/83369
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to