@@ -45,6 +45,9 @@ var unhandledStructTypes = map[string]bool{
4545 "CFUUIDBytes" : true ,
4646 "dispatch_queue_t" : true , // for return values, not parameters
4747 "va_list" : true ,
48+
49+ "MTLIndirectCommandBufferExecutionRange" : true ,
50+ "MTLPackedFloat3" : true ,
4851}
4952
5053func (db * Generator ) ToFunction (fw string , sym Symbol ) * codegen.Function {
@@ -70,9 +73,8 @@ func (db *Generator) ToFunction(fw string, sym Symbol) *codegen.Function {
7073 "CGPDFArrayGetName" : true , // "const char * _Nullable *"
7174 "CGPDFDictionaryGetName" : true , // "const char *key, const char * _Nullable *"
7275 "CGPDFScannerPopName" : true , // "const char * _Nullable *"
73- }
74- if sym .Name != "MTLCreateSystemDefaultDevice" {
75- return nil
76+
77+ "MTLSizeMake" : true , // duplicate symbol issue
7678 }
7779 if knownIssues [sym .Name ] {
7880 _ , err := sym .Parse (db .Platform )
@@ -134,6 +136,12 @@ func (db *Generator) ToFunction(fw string, sym Symbol) *codegen.Function {
134136 fmt .Printf ("skipping %s because of unhandled struct type %s\n " , sym .Name , fntyp .ReturnType .ObjcName ())
135137 return nil
136138 }
139+
140+ // we (unfortuantely) don't handle array returns cleanly yet:
141+ if _ , ok := fntyp .ReturnType .(* typing.ArrayType ); ok {
142+ fmt .Printf ("skipping %s because of array return type\n " , sym .Name )
143+ return nil
144+ }
137145 // populate return type
138146 if fntyp .ReturnType != nil {
139147 fn .ReturnType = fntyp .ReturnType
0 commit comments