[ 
https://issues.apache.org/jira/browse/THRIFT-4622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16584978#comment-16584978
 ] 

ASF GitHub Bot commented on THRIFT-4622:
----------------------------------------

simonsouth opened a new pull request #1582: THRIFT-4622: Resolve typedef'd list 
elements (C (GLib))
URL: https://github.com/apache/thrift/pull/1582
 
 
   With this change the C (GLib) compiler fully resolves the type of a list's 
elements before generating the C type for the list.
   
   This fixes an issue where the compiler would output broken code for a list 
containing elements of a typedef'd type.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> glibC compilation issue
> -----------------------
>
>                 Key: THRIFT-4622
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4622
>             Project: Thrift
>          Issue Type: Bug
>          Components: C glib - Compiler, C glib - Library
>    Affects Versions: 0.11.0
>         Environment: Thrift 0.11.0
> glib 2.0
>            Reporter: Gowrishankar Murali
>            Assignee: Simon South
>            Priority: Minor
>
> {color:#707070}*Generated glibC files results in compiler error.*{color}
> /usr/include/glib-2.0/glib/garray.h:88:9: note: expected ‘GArray * \{aka 
> struct _GArray *}’ but argument is of type ‘GPtrArray * \{aka struct 
> _GPtrArray *}’
>  GArray* g_array_append_vals (GArray *array,
>  ^
>  ../gen-c_glib/c__h_w_handling_h_d__handling_types.c: In function 
> ‘c__h_w_handling_image_info_write’:
>  /usr/include/glib-2.0/glib/garray.h:67:54: error: ‘GPtrArray \{aka struct 
> _GPtrArray}’ has no member named ‘data’
>  #define g_array_index(a,t,i) (((t*) (void *) (a)->data) [(i)])
>  ^
>  ../gen-c_glib/c__h_w_handling_h_d__handling_types.c:198:56: note: in 
> expansion of macro ‘g_array_index’
>  
> {color:#707070}The Generated code resulting in the error:{color}
> if ((ret = thrift_protocol_write_i16 (protocol, (g_array_index 
> (this_object->image, gint16, i1)), error)) < 0)
>  return -1;
> .thrift code generating this
> struct ImageInfo
> { 1: list<int16> image; 2: optional int16 size_h; 3: optional int16 size_v; }
>  
> Here the int16 is typedef from i16. 
> When i replace int16 with i16, the error is solved. 
> Will update when I find the reason



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to