// Copyright 2025 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Part 1 of the sources for issue 57046 test case. // Build instructions: // // clang-16 -O -g -gdwarf-5 -c issue57046_part1.c // clang-16 -O -g -gdwarf-5 -c issue57046_part2.c // clang-16 -o issue57046-clang.elf5 issue57046_part1.o issue57046_part2.o #include #include #include extern const char *mom(); int gadgety() { const char *ev = getenv("PATH"); int n = strlen(ev); int s1 = (int)ev[0]; int s2 = (int)ev[1]; int s3 = (int)ev[2]; for (int i = 0; i < strlen(ev); i++) { if (s1 == 101) { int t = s1; s1 = s3; s3 = t; } if (ev[i] == 99) { printf("%d\n", i); } } s2 *= 2; return n + s1 + s2; } int main(int argc, char **argv) { printf("Hi %s %d\n", mom(), gadgety()); return 0; }