From: Ian Lance Taylor Date: Thu, 17 Apr 2014 23:39:23 +0000 (+0000) Subject: gofrontend: deduplicate C syscall function declarations X-Git-Tag: releases/gcc-5.1.0~8042 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5584c49a11b2a2427b4ca0323b8ca213de095573;p=thirdparty%2Fgcc.git gofrontend: deduplicate C syscall function declarations A gccgo language extension allows a function to be declared multiple times. Avoid the use of this extension by dedeplicating declarations in mksyscall.awk. From-SVN: r209508 --- diff --git a/libgo/go/syscall/mksyscall.awk b/libgo/go/syscall/mksyscall.awk index daf6554a6cd5..8d009222a182 100644 --- a/libgo/go/syscall/mksyscall.awk +++ b/libgo/go/syscall/mksyscall.awk @@ -96,8 +96,11 @@ BEGIN { cfnresult = line printf("// Automatically generated wrapper for %s/%s\n", gofnname, cfnname) - printf("//extern %s\n", cfnname) - printf("func c_%s(%s) %s\n", cfnname, cfnparams, cfnresult) + if (!(cfnname in cfns)) { + cfns[cfnname] = 1 + printf("//extern %s\n", cfnname) + printf("func c_%s(%s) %s\n", cfnname, cfnparams, cfnresult) + } printf("func %s(%s) %s%s%s%s{\n", gofnname, gofnparams, gofnresults == "" ? "" : "(", gofnresults, gofnresults == "" ? "" : ")", gofnresults == "" ? "" : " ")