hubert-reinterpretcast wrote:

@AaronBallman, considering the concern of potential performance regressions 
("unnecessary" initialization of automatic-storage duration objects), should it 
be the case that there is no option control?

It was also the case that the prior Clang behaviour (with 
`-ftrivial-auto-var-init=pattern` [1]: https://godbolt.org/z/x994WMT6h) had 
some utility for identifying potential portability issues with a program. 
Option control would make me much happier about this change.

[1]:
A string of `0xaa` is observed using `-ftrivial-auto-var-init=pattern` using 
Clang 19.1:
```c
typedef union { int x; long long y; } U;

int printf(const char *, ...);
int main(void) {
  U u = { 0 };
  typedef unsigned char *ucp;
  for (ucp p = (ucp)&u; p < (ucp)&1[&u]; ++p) {
    printf("%02x", (unsigned)*p);
  }
  printf("\n");
}
```

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

Reply via email to