blob: 8866ca66e141b1baf988e8456ef1bf32dba2b994 [file] [log] [blame]
// 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 <stdio.h>
#include <stdlib.h>
#include <string.h>
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;
}