github.com/mh-cbon/go@v0.0.0-20160603070303-9e112a3fe4c0/misc/cgo/testcarchive/main.c (about) 1 // Copyright 2015 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 #include <stdint.h> 6 #include <stdio.h> 7 #include <string.h> 8 9 #include "p.h" 10 #include "libgo.h" 11 12 extern int install_handler(); 13 extern int check_handler(); 14 15 int main(void) { 16 int32_t res; 17 18 int r1 = install_handler(); 19 if (r1!=0) { 20 return r1; 21 } 22 23 if (!DidInitRun()) { 24 fprintf(stderr, "ERROR: buildmode=c-archive init should run\n"); 25 return 2; 26 } 27 28 if (DidMainRun()) { 29 fprintf(stderr, "ERROR: buildmode=c-archive should not run main\n"); 30 return 2; 31 } 32 33 int r2 = check_handler(); 34 if (r2!=0) { 35 return r2; 36 } 37 38 res = FromPkg(); 39 if (res != 1024) { 40 fprintf(stderr, "ERROR: FromPkg()=%d, want 1024\n", res); 41 return 2; 42 } 43 44 CheckArgs(); 45 46 fprintf(stderr, "PASS\n"); 47 return 0; 48 }