Files
go-legacy-win7/src/cmd/cgo/internal/testcarchive/testdata/main9.c

33 lines
708 B
C
Raw Normal View History

2024-09-21 23:49:08 +10:00
// Copyright 2023 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.
#include "libgo9.h"
void use(int *x) { (*x)++; }
2024-12-24 19:40:24 +07:00
void callGoFWithDeepStack(int p) {
2024-09-21 23:49:08 +10:00
int x[10000];
use(&x[0]);
use(&x[9999]);
2024-12-24 19:40:24 +07:00
GoF(p);
2024-09-21 23:49:08 +10:00
use(&x[0]);
use(&x[9999]);
}
2024-12-24 19:40:24 +07:00
void callGoWithVariousStack(int p) {
GoF(0); // call GoF without using much stack
callGoFWithDeepStack(p); // call GoF with a deep stack
GoF(0); // again on a shallow stack
}
2024-09-21 23:49:08 +10:00
int main() {
2024-12-24 19:40:24 +07:00
callGoWithVariousStack(0);
callGoWithVariousStackAndGoFrame(0); // normal execution
callGoWithVariousStackAndGoFrame(1); // panic and recover
2024-09-21 23:49:08 +10:00
}