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

Simon South commented on THRIFT-3273:
-------------------------------------

Noted. These numbers (which I admit seem a bit magical) represent the number of 
spaces to offset a line of code, which is determined by the line of code output 
immediately before it. This is so things like vertical lists of function 
parameters are lined up correctly.

I'll think about how I can make this clearer (without adding calls to 
{{strlen}}).

> c_glib: Generated code tries to convert between function and void pointers
> --------------------------------------------------------------------------
>
>                 Key: THRIFT-3273
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3273
>             Project: Thrift
>          Issue Type: Bug
>          Components: C glib - Compiler
>    Affects Versions: 0.9.3
>         Environment: Fedora 22 (gcc 5.1.1) on x86_64
>            Reporter: Simon South
>            Assignee: Simon South
>            Priority: Minor
>              Labels: c_glib, compiler
>
> In code generated by the compiler for C (GLib), a service's processor class 
> incorrectly treats function and void pointers as interchangeable: When adding 
> to the {{process_map}} hash table it supplies a pointer to a function, while 
> {{g_hash_table_insert}} expects a {{gpointer}} (effectively {{void *}}) to a 
> data object.
> ISO C explicitly forbids this conversion as it is not compatible with all 
> architectures, and with its {{-pedantic}} option enabled gcc will generate 
> warnings like
> {code}
> gen-c_glib/calculator.c: In function 'calculator_processor_init':
> gen-c_glib/calculator.c:1231:24: warning: ISO C forbids passing argument 3 of 
> 'g_hash_table_insert' between function pointer and 'void *' [-Wpedantic]
>                         calculator_processor_process_ping);
> {code}
> The compiler needs to be fixed so the code it generates does not try to use 
> function pointers where data (void) pointers are expected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to