1 // Copyright 2025 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // Part 1 of the sources for issue 57046 test case.
6
7 // Build instructions:
8 //
9 // clang-16 -O -g -gdwarf-5 -c issue57046_part1.c
10 // clang-16 -O -g -gdwarf-5 -c issue57046_part2.c
11 // clang-16 -o issue57046-clang.elf5 issue57046_part1.o issue57046_part2.o
12
13 #include <stdio.h>
14 #include <stdlib.h>
15 #include <string.h>
16
17 extern const char *mom();
18
19 int gadgety() {
20 const char *ev = getenv("PATH");
21 int n = strlen(ev);
22 int s1 = (int)ev[0];
23 int s2 = (int)ev[1];
24 int s3 = (int)ev[2];
25 for (int i = 0; i < strlen(ev); i++) {
26 if (s1 == 101) {
27 int t = s1;
28 s1 = s3;
29 s3 = t;
30 }
31 if (ev[i] == 99) {
32 printf("%d\n", i);
33 }
34 }
35 s2 *= 2;
36 return n + s1 + s2;
37 }
38
39 int main(int argc, char **argv) {
40 printf("Hi %s %d\n", mom(), gadgety());
41 return 0;
42 }
43
View as plain text