You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Cliff Jansen <cl...@gmail.com> on 2013/01/31 04:28:24 UTC

Review Request: Reconcile C99 and C++ inconsistencies within proton

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/9169/
-----------------------------------------------------------

Review request for qpid, Andrew Stitcher, Kenneth Giusti, Rafael Schloming, and Mary Hinton.


Description
-------

This patch relies on earlier patches 

  https://reviews.apache.org/r/8223/
  https://reviews.apache.org/r/9085/
  https://reviews.apache.org/r/9086/
  https://reviews.apache.org/r/9088/
  https://reviews.apache.org/r/9124/

Combined with the others it builds and runs in Visual Studio 2008 32 bit, provided you build qpid-proton static (no external symbol defines yet).  There are 5 proton-test failures left to investigate.

platform_fmt.h is reproduced in its entirety since I wasn't sure how to show the delta compared to the previous version.

type_compat.h is "special" because it is indirectly exposed to the API, (so that the API can be consumed at all) .  It is structured as it is because the lack of these C99 types is driving everybody crazy.  Boost has their own definitions, as do the python libs we use in swig.  It gets more complicated since Microsoft is introducing some of these types over time, but are not backporting them to older Visual Studio versions.

The middle part of type_compat.h tries to do the right thing for 99% of the cases.  If the user runs into a conflict with a third party library there are positive and negative overrides to allow proton to get along with other 3rd party libs.

Note that ssize_t is an odd duck in that it isn't actually part of C99.


This addresses bug PROTON-213.
    https://issues.apache.org/jira/browse/PROTON-213


Diffs
-----

  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/CMakeLists.txt 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/codec.h 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/engine.h 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/framing.h 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/message.h 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/sasl.h 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/ssl.h 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/type_compat.h PRE-CREATION 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/types.h 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/buffer.c 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/codec/codec.c 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.h 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/engine/engine.c 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/messenger.c 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/parser.c 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform.h 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform.c 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform_fmt.h PRE-CREATION 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/scanner.c 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/util.h 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/util.c 1439550 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/windows/driver.c 1439550 

Diff: https://reviews.apache.org/r/9169/diff/


Testing
-------

code compiles on gcc/linux, gcc/mingw, Visual Studio


Thanks,

Cliff Jansen


Re: Review Request: Reconcile C99 and C++ inconsistencies within proton

Posted by Kenneth Giusti <kg...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/9169/#review15972
-----------------------------------------------------------

Ship it!


Ship It!

- Kenneth Giusti


On Jan. 31, 2013, 3:28 a.m., Cliff Jansen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/9169/
> -----------------------------------------------------------
> 
> (Updated Jan. 31, 2013, 3:28 a.m.)
> 
> 
> Review request for qpid, Andrew Stitcher, Kenneth Giusti, Rafael Schloming, and Mary Hinton.
> 
> 
> Description
> -------
> 
> This patch relies on earlier patches 
> 
>   https://reviews.apache.org/r/8223/
>   https://reviews.apache.org/r/9085/
>   https://reviews.apache.org/r/9086/
>   https://reviews.apache.org/r/9088/
>   https://reviews.apache.org/r/9124/
> 
> Combined with the others it builds and runs in Visual Studio 2008 32 bit, provided you build qpid-proton static (no external symbol defines yet).  There are 5 proton-test failures left to investigate.
> 
> platform_fmt.h is reproduced in its entirety since I wasn't sure how to show the delta compared to the previous version.
> 
> type_compat.h is "special" because it is indirectly exposed to the API, (so that the API can be consumed at all) .  It is structured as it is because the lack of these C99 types is driving everybody crazy.  Boost has their own definitions, as do the python libs we use in swig.  It gets more complicated since Microsoft is introducing some of these types over time, but are not backporting them to older Visual Studio versions.
> 
> The middle part of type_compat.h tries to do the right thing for 99% of the cases.  If the user runs into a conflict with a third party library there are positive and negative overrides to allow proton to get along with other 3rd party libs.
> 
> Note that ssize_t is an odd duck in that it isn't actually part of C99.
> 
> 
> This addresses bug PROTON-213.
>     https://issues.apache.org/jira/browse/PROTON-213
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/CMakeLists.txt 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/codec.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/engine.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/framing.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/message.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/sasl.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/ssl.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/type_compat.h PRE-CREATION 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/types.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/buffer.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/codec/codec.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/engine/engine.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/messenger.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/parser.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform_fmt.h PRE-CREATION 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/scanner.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/util.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/util.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/windows/driver.c 1439550 
> 
> Diff: https://reviews.apache.org/r/9169/diff/
> 
> 
> Testing
> -------
> 
> code compiles on gcc/linux, gcc/mingw, Visual Studio
> 
> 
> Thanks,
> 
> Cliff Jansen
> 
>


Re: Review Request: Reconcile C99 and C++ inconsistencies within proton

Posted by Mary Hinton <m....@nc.rr.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/9169/#review15955
-----------------------------------------------------------

Ship it!


Ship It!

- Mary Hinton


On Jan. 31, 2013, 3:28 a.m., Cliff Jansen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/9169/
> -----------------------------------------------------------
> 
> (Updated Jan. 31, 2013, 3:28 a.m.)
> 
> 
> Review request for qpid, Andrew Stitcher, Kenneth Giusti, Rafael Schloming, and Mary Hinton.
> 
> 
> Description
> -------
> 
> This patch relies on earlier patches 
> 
>   https://reviews.apache.org/r/8223/
>   https://reviews.apache.org/r/9085/
>   https://reviews.apache.org/r/9086/
>   https://reviews.apache.org/r/9088/
>   https://reviews.apache.org/r/9124/
> 
> Combined with the others it builds and runs in Visual Studio 2008 32 bit, provided you build qpid-proton static (no external symbol defines yet).  There are 5 proton-test failures left to investigate.
> 
> platform_fmt.h is reproduced in its entirety since I wasn't sure how to show the delta compared to the previous version.
> 
> type_compat.h is "special" because it is indirectly exposed to the API, (so that the API can be consumed at all) .  It is structured as it is because the lack of these C99 types is driving everybody crazy.  Boost has their own definitions, as do the python libs we use in swig.  It gets more complicated since Microsoft is introducing some of these types over time, but are not backporting them to older Visual Studio versions.
> 
> The middle part of type_compat.h tries to do the right thing for 99% of the cases.  If the user runs into a conflict with a third party library there are positive and negative overrides to allow proton to get along with other 3rd party libs.
> 
> Note that ssize_t is an odd duck in that it isn't actually part of C99.
> 
> 
> This addresses bug PROTON-213.
>     https://issues.apache.org/jira/browse/PROTON-213
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/CMakeLists.txt 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/codec.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/engine.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/framing.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/message.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/sasl.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/ssl.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/type_compat.h PRE-CREATION 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/types.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/buffer.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/codec/codec.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/engine/engine.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/messenger.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/parser.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform_fmt.h PRE-CREATION 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/scanner.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/util.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/util.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/windows/driver.c 1439550 
> 
> Diff: https://reviews.apache.org/r/9169/diff/
> 
> 
> Testing
> -------
> 
> code compiles on gcc/linux, gcc/mingw, Visual Studio
> 
> 
> Thanks,
> 
> Cliff Jansen
> 
>


Re: Review Request: Reconcile C99 and C++ inconsistencies within proton

Posted by Rafael Schloming <rh...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/9169/#review16020
-----------------------------------------------------------

Ship it!


Ship It!

- Rafael Schloming


On Jan. 31, 2013, 3:28 a.m., Cliff Jansen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/9169/
> -----------------------------------------------------------
> 
> (Updated Jan. 31, 2013, 3:28 a.m.)
> 
> 
> Review request for qpid, Andrew Stitcher, Kenneth Giusti, Rafael Schloming, and Mary Hinton.
> 
> 
> Description
> -------
> 
> This patch relies on earlier patches 
> 
>   https://reviews.apache.org/r/8223/
>   https://reviews.apache.org/r/9085/
>   https://reviews.apache.org/r/9086/
>   https://reviews.apache.org/r/9088/
>   https://reviews.apache.org/r/9124/
> 
> Combined with the others it builds and runs in Visual Studio 2008 32 bit, provided you build qpid-proton static (no external symbol defines yet).  There are 5 proton-test failures left to investigate.
> 
> platform_fmt.h is reproduced in its entirety since I wasn't sure how to show the delta compared to the previous version.
> 
> type_compat.h is "special" because it is indirectly exposed to the API, (so that the API can be consumed at all) .  It is structured as it is because the lack of these C99 types is driving everybody crazy.  Boost has their own definitions, as do the python libs we use in swig.  It gets more complicated since Microsoft is introducing some of these types over time, but are not backporting them to older Visual Studio versions.
> 
> The middle part of type_compat.h tries to do the right thing for 99% of the cases.  If the user runs into a conflict with a third party library there are positive and negative overrides to allow proton to get along with other 3rd party libs.
> 
> Note that ssize_t is an odd duck in that it isn't actually part of C99.
> 
> 
> This addresses bug PROTON-213.
>     https://issues.apache.org/jira/browse/PROTON-213
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/CMakeLists.txt 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/codec.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/engine.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/framing.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/message.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/sasl.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/ssl.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/type_compat.h PRE-CREATION 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/types.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/buffer.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/codec/codec.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/engine/engine.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/messenger.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/parser.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform_fmt.h PRE-CREATION 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/scanner.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/util.h 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/util.c 1439550 
>   http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/windows/driver.c 1439550 
> 
> Diff: https://reviews.apache.org/r/9169/diff/
> 
> 
> Testing
> -------
> 
> code compiles on gcc/linux, gcc/mingw, Visual Studio
> 
> 
> Thanks,
> 
> Cliff Jansen
> 
>