[ 
https://issues.apache.org/jira/browse/PROTON-946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

michael goulish updated PROTON-946:
-----------------------------------
    Description: 
Currently protocol.h.py reads the AMQP 1.0 spec xml files and generates all of 
its output into protocol.h -- even the data structure definitions.

Those definitions are currently protected by  #ifdef DEFINE_FIELDS , which is 
defined only in codec.c -- so the definitions only show up in that file, while 
other .c files only see the declarations.

If DEFINE_FIELDS is #defined in any other file, compilation will fail with 
multiple definition errors.

The structure declarations should remain in the .h file , but the actual 
definitions should be moved into a generated .c file.


  was:
Currently protocol.h.py reads the AMQP 1.0 spec xml files and generates all of 
its output into protocol.h -- evel the data structure definitions.

Those definitions are currently protected by  #ifdef DEFINE_FIELDS , which is 
defined only in codec.c -- so the definitions only show up in that file, while 
other .c files only see the declarations.

If DEFINE_FIELDS is #defined in any other file, compilation will fail with 
multiple definition errors.

The structure declarations should remain in the .h file , but the actual 
definitions should be moved into a generated .c file.


        Summary: remove generated data structure definitions from protocol.h  
(was: remove generated data structure definitions from .protocol.h)

> remove generated data structure definitions from protocol.h
> -----------------------------------------------------------
>
>                 Key: PROTON-946
>                 URL: https://issues.apache.org/jira/browse/PROTON-946
>             Project: Qpid Proton
>          Issue Type: Improvement
>          Components: proton-c
>    Affects Versions: 0.10
>            Reporter: michael goulish
>            Assignee: michael goulish
>
> Currently protocol.h.py reads the AMQP 1.0 spec xml files and generates all 
> of its output into protocol.h -- even the data structure definitions.
> Those definitions are currently protected by  #ifdef DEFINE_FIELDS , which is 
> defined only in codec.c -- so the definitions only show up in that file, 
> while other .c files only see the declarations.
> If DEFINE_FIELDS is #defined in any other file, compilation will fail with 
> multiple definition errors.
> The structure declarations should remain in the .h file , but the actual 
> definitions should be moved into a generated .c file.



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

Reply via email to