[
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)