@@ -609,24 +609,24 @@ func (p *Package) writeOutputFunc(fgcc *os.File, n *Name) {
609
609
// We're trying to write a gcc struct that matches gc's layout.
610
610
// Use packed attribute to force no padding in this struct in case
611
611
// gcc has different packing requirements.
612
- fmt .Fprintf (fgcc , "\t %s %v *a = v;\n " , ctype , p .packedAttribute ())
612
+ fmt .Fprintf (fgcc , "\t %s %v *_cgo_a = v;\n " , ctype , p .packedAttribute ())
613
613
if n .FuncType .Result != nil {
614
614
// Save the stack top for use below.
615
- fmt .Fprintf (fgcc , "\t char *stktop = _cgo_topofstack();\n " )
615
+ fmt .Fprintf (fgcc , "\t char *_cgo_stktop = _cgo_topofstack();\n " )
616
616
}
617
617
tr := n .FuncType .Result
618
618
if tr != nil {
619
- fmt .Fprintf (fgcc , "\t __typeof__(a ->r) r ;\n " )
619
+ fmt .Fprintf (fgcc , "\t __typeof__(_cgo_a ->r) _cgo_r ;\n " )
620
620
}
621
621
fmt .Fprintf (fgcc , "\t _cgo_tsan_acquire();\n " )
622
622
if n .AddError {
623
623
fmt .Fprintf (fgcc , "\t errno = 0;\n " )
624
624
}
625
625
fmt .Fprintf (fgcc , "\t " )
626
626
if tr != nil {
627
- fmt .Fprintf (fgcc , "r = " )
627
+ fmt .Fprintf (fgcc , "_cgo_r = " )
628
628
if c := tr .C .String (); c [len (c )- 1 ] == '*' {
629
- fmt .Fprint (fgcc , "(__typeof__(a ->r)) " )
629
+ fmt .Fprint (fgcc , "(__typeof__(_cgo_a ->r)) " )
630
630
}
631
631
}
632
632
if n .Kind == "macro" {
@@ -637,7 +637,7 @@ func (p *Package) writeOutputFunc(fgcc *os.File, n *Name) {
637
637
if i > 0 {
638
638
fmt .Fprintf (fgcc , ", " )
639
639
}
640
- fmt .Fprintf (fgcc , "a ->p%d" , i )
640
+ fmt .Fprintf (fgcc , "_cgo_a ->p%d" , i )
641
641
}
642
642
fmt .Fprintf (fgcc , ");\n " )
643
643
}
@@ -648,9 +648,9 @@ func (p *Package) writeOutputFunc(fgcc *os.File, n *Name) {
648
648
if n .FuncType .Result != nil {
649
649
// The cgo call may have caused a stack copy (via a callback).
650
650
// Adjust the return value pointer appropriately.
651
- fmt .Fprintf (fgcc , "\t a = (void*)((char*)a + (_cgo_topofstack() - stktop ));\n " )
651
+ fmt .Fprintf (fgcc , "\t _cgo_a = (void*)((char*)_cgo_a + (_cgo_topofstack() - _cgo_stktop ));\n " )
652
652
// Save the return value.
653
- fmt .Fprintf (fgcc , "\t a ->r = r ;\n " )
653
+ fmt .Fprintf (fgcc , "\t _cgo_a ->r = _cgo_r ;\n " )
654
654
}
655
655
if n .AddError {
656
656
fmt .Fprintf (fgcc , "\t return _cgo_errno;\n " )
@@ -685,12 +685,12 @@ func (p *Package) writeGccgoOutputFunc(fgcc *os.File, n *Name) {
685
685
fmt .Fprintf (fgcc , ")\n " )
686
686
fmt .Fprintf (fgcc , "{\n " )
687
687
if t := n .FuncType .Result ; t != nil {
688
- fmt .Fprintf (fgcc , "\t %s r ;\n " , t .C .String ())
688
+ fmt .Fprintf (fgcc , "\t %s _cgo_r ;\n " , t .C .String ())
689
689
}
690
690
fmt .Fprintf (fgcc , "\t _cgo_tsan_acquire();\n " )
691
691
fmt .Fprintf (fgcc , "\t " )
692
692
if t := n .FuncType .Result ; t != nil {
693
- fmt .Fprintf (fgcc , "r = " )
693
+ fmt .Fprintf (fgcc , "_cgo_r = " )
694
694
// Cast to void* to avoid warnings due to omitted qualifiers.
695
695
if c := t .C .String (); c [len (c )- 1 ] == '*' {
696
696
fmt .Fprintf (fgcc , "(void*)" )
@@ -716,7 +716,7 @@ func (p *Package) writeGccgoOutputFunc(fgcc *os.File, n *Name) {
716
716
if c := t .C .String (); c [len (c )- 1 ] == '*' {
717
717
fmt .Fprintf (fgcc , "(void*)" )
718
718
}
719
- fmt .Fprintf (fgcc , "r ;\n " )
719
+ fmt .Fprintf (fgcc , "_cgo_r ;\n " )
720
720
}
721
721
fmt .Fprintf (fgcc , "}\n " )
722
722
fmt .Fprintf (fgcc , "\n " )
0 commit comments