I figured that this was a bug in my code, so I did not open a bug report in Chapel.
Regards, Ashwin -----Original Message----- From: Michael Ferguson [mailto:[email protected]] Sent: Wednesday, August 02, 2017 7:56 AM To: Aji, Ashwin <[email protected]> Cc: [email protected] Subject: Re: [Chapel-developers] Reference to a record/class field in Chapel Hi - I think c_ptrTo(a_obj.value) ought to work. I think this is a bug. Can file a bug report with a simple reproducer? Thanks, -michael >Hi, > >In Chapel, how can I pass a reference (c pointer style) to a field of a >record/class to an external C function. > > >For example, > >extern proc c_func(val_ptr: c_void_ptr); > >class A { > type retType; > var value: retType; > > // constructors not shown but they are the usual simple ones } > >proc foo() { > var a_obj = A; > c_func(c_ptrTo(a_obj.value)); > > // codegen first creates a copy of a_obj and then passes pointer to >the copy¹s value field. > > // A a_obj_copy = a_obj; // copy by value > // c_func(&(c_obj_copy.value)); > // But, I want the below: > > // c_func(&(c_obj.value)); >} > >Regards, >Ashwin > > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Chapel-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/chapel-developers
