[
https://issues.apache.org/jira/browse/THRIFT-1695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ben Craig updated THRIFT-1695:
------------------------------
Attachment: platform_direct.patch
libthrift_warning_purge.patch
compiler_unused_locals.patch
compiler_switch_default.patch
compiler_is_dir.patch
libthrift_warning_purge is very similar in spirit to James K. Lowden's patch.
On the plus side, I believe it handles the socket types better. On the down
side, it handles the cast overflows in a one-off fashion, instead of making a
centralized macro.
compiler_is_dir, compiler_unused_locals, and platform_direct are all there to
make the compiler build without warnings.
compiler_switch_default changes generated C++ code so that consumers of that
code don't have warnings in their build.
> allow warning-free compilation in VS 2012 and GNU 4.6
> -----------------------------------------------------
>
> Key: THRIFT-1695
> URL: https://issues.apache.org/jira/browse/THRIFT-1695
> Project: Thrift
> Issue Type: Improvement
> Components: C++ - Library
> Affects Versions: 0.9
> Environment: Windows and any Unix
> Reporter: James K. Lowden
> Labels: patch
> Fix For: 0.9
>
> Attachments: compiler_is_dir.patch, compiler_switch_default.patch,
> compiler_unused_locals.patch, libthrift_warning_purge.patch,
> platform_direct.patch, thrift.warningfree.pax.gz
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> The patches allow the current trunk of Thrift C++ to
> build without warnings in Visual Studio and GNU gcc.
> I introduce THRIFT_SAFE_CAST in Thrift.h, which tests narrowing
> conversions for fit. Would-be overflows throw std::runtime_error.
> Some functions have been modified or overloaded to allow size_t
> parameters. SOCKET is dealt with intelligently.
> IMO every public thrift function should have a form accepting normal
> types -- including e.g. short, int, long, and size_t -- and apply casts
> as necessary. In particular size_t is important because std
> constainers have size() members that usually return something like
> size_t.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira