Hi, Andy. Thanks for replying. No, I was interested in the change to allow a struct defined in Go to be passed to C, even if it only supported basic types. Sounds like that part never made it in — certainly Go 1.7.1 doesn’t seem to allow me to do such things, which is unfortunate.
- Rich > On Oct 16, 2016, at 10:23 AM, Andy <asmalo...@gmail.com> wrote: > > Richard: > > If you're asking about: > > "cmd/cgo: annotate named return struct members in comments " > https://go-review.googlesource.com/#/c/13061/ > <https://go-review.googlesource.com/#/c/13061/> > > It looks like that was merged at some point, but I'm not sure. > > I abandoned my experiments with go/cgo when some of the limitations became > clear. I wouldn't ultimately be able to do what I'd wanted to with it. > > --- > Andy Maloney // https://asmaloney.com <https://asmaloney.com/> > twitter ~ @asmaloney <https://twitter.com/asmaloney> > > On Sun, Oct 16, 2016 at 12:51 PM, Richard Wilkes <raw.softw...@gmail.com > <mailto:raw.softw...@gmail.com>> wrote: > Andy, > > What's the status of getting this change into Go? I have an issue that could > benefit from this particular support and was curious if/when I'd be able to > use it. > > Thanks! > > - Rich > > > On Sunday, August 9, 2015 at 4:24:52 PM UTC-7, Andy Maloney wrote: > I imagine it will take some back-and-forth with you to get it into shape - > make sure it's idiomatic and fits with the current structure - so I'll wait > until after 1.5 is out. > > It requires changes I put in another CL > (https://go-review.googlesource.com/#/c/13061/ > <https://go-review.googlesource.com/#/c/13061/> ). How do I handle that when > I want to create a new CL? Just branch off that one? Or do just wait until > the other one is accepted and merged? > > On Sunday, August 9, 2015 at 5:04:03 PM UTC-4, Ian Lance Taylor wrote: > On Sun, Aug 9, 2015 at 1:49 PM, Andy Maloney <asma...@gmail.com <>> wrote: > > On Sunday, August 9, 2015 at 4:05:34 PM UTC-4, Ian Lance Taylor wrote: > >> > >> On Sun, Aug 9, 2015 at 11:47 AM, Andy Maloney <asma...@gmail.com <>> > >> wrote: > >> > > >> > after all the Decls are added to the Package in Record() (in main.go), > >> > call > >> > a function which looks at each of the exported functions and uses the > >> > Decls > >> > to create a map to store some information about struct parameters & > >> > results > >> > in cgoType(), use the map that was just created to lookup the name of > >> > the > >> > struct and its size (which we calculated and stored in the map) and, if > >> > we > >> > find it, return it > >> > at the end of writeExportHeader(), write out typedefs for each of the > >> > structs in the map > >> > >> I'm not quite sure what you mean here. It seems to me that you can > >> treat any struct used by an exported function as though the Go code > >> said "C.struct_foo". That should define in Go like other cgo > >> structs. > > > > I'm not seeing how to do this, but does that mean from my example above I'd > > end up with this in the header: > > > > typedef struct { > > GoInt r0; > > GoString r1; > > } struct_Bar; > > > > > > extern struct_Bar Foo(); > > > > (And I'd lose the names of the members like I currently do in the return > > structs?) > > Sorry, I was confused. You have structs defined in Go, and you need > them to be defined in C. For some reason I was thinking about this > the other way around. > > Sure, something like what you described sounds reasonable. > > > >> > Right now I just look at structs, but it would make sense to me that if > >> > you > >> > declare > >> > type Foo int > >> > and you use it as a result to a function we should see > >> > typedef GoInt Foo; > >> > in the header file. Would that make sense to add too? > >> > >> I doubt it. C typedefs are not Go typedefs. Go's types are much > >> stricter. I expect that changing this would break currently working > >> code. > > > > > > Wouldn't this just be preserving the name of the type in the C code? > > Whether you call it a GoInt or a Foo in this case should be the same - it's > > just an alias in C. Not sure I see how that would break anything. > > Same confusion on my part. I'm not sure the typedef names help much > but I suppose it is fine. > > Ian > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.