| Issue |
58140
|
| Summary |
Wrong code at -Os on x86_64-linux_gnu
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
shao-hua-li
|
```console
% clang-tk -v
clang version 16.0.0 (https://github.com/llvm/llvm-project.git 0c1a3da8ea1f0e024ebfd85c7532926f26c6bde5)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /zdata/shaoli/compilers/ccbuilder-compilers
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Candidate multilib: .;@m64
Selected multilib: .;@m64
%
% clang-tk -w -O0 a.c && ./a.out
1
% clang-tk -w -Os a.c && ./a.out
0
%
% cat a.c
oid printf();
short a = -1, d;
int b[1];
char *c;
int e, f;
void g(int * p, int *k) {
char h;
d = a;
a = 0;
for (; a > -1; a = d) {
char i;
char *j[3];
e = 0;
for (; e < 3; e++)
j[e] = &i;
*k = j[0] != (c = &h);
}
}
int main() {
g(&f, b);
printf("%d\n", b[0]);
}
```
Compiler explorer: https://godbolt.org/z/TfWevh66r
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs