[IOT-2972] Extend linux error-on-warn to C++ 35/24035/7
authorGeorge Nash <george.nash@intel.com>
Tue, 6 Feb 2018 23:18:12 +0000 (15:18 -0800)
committerC.J. Collier <cjcollier@linuxfoundation.org>
Sat, 17 Feb 2018 03:02:48 +0000 (03:02 +0000)
commit2fd7ba30408fef85e2e1394ddb0ee84b672f2019
tree658edf832b194e5e38e72b5ed04834c0b1cce65c
parentcc1d274bbcfdb52245ddb8959dda3e6daac07078
[IOT-2972] Extend linux error-on-warn to C++

-Werror, which causes warnings to be treated as errors,
is set in Linux build in CFLAGS, which applies only to
C builds. This moves the -Werror to CCFLAGS so it applies
to both C and C++.

This also fixes build warnings in C++ code a the same time.

OICMiddle/Server.cpp [-Werror=int-in-bool-context]
The logic `&&` was used when `&` should have been used in
the if statment

OCResource.cpp [-Werror=int-in-bool-context]
An enum constant was in a bool context. This was using
different logic if security was enabled vs. when it was
not enabled. The code was changed to use preprocessor
macros instead of the value of OC_SECURED in an if statment.

NSProvider.h and NSProvider.cpp: [-Werror=deprecated]
Throw expresions have been deprecated since C++11. They
were replaced with `nothrow`.

See: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3051.html

Since IoTivity's C++ implementation must support C++11
no effort has been made to keep the code backwards compatible
with compilers that do not support the `nothrow` keyword.

CoapHttpParser.c: [-Werror]
This is generated from the Curl code.
When the `CURLINFO_PRIVATE` option is used with the
`curl_easy_getinfo` function the expected argument type is `char **`.
The documentation says it is used like a `void **` but for historic
reasons a `char **` is expected.

To fix the warning a simple type cast is used.

Change-Id: Ia24e1c6df01d39923cbfb6705d0dc0af7d4f3870
Signed-off-by: George Nash <george.nash@intel.com>
build_common/linux/SConscript
examples/OICMiddle/Server.cpp
extlibs/libcoap/SConscript
extlibs/yaml/SConscript
plugins/samples/linux/IotivityandZigbeeClient.c
resource/src/OCResource.cpp
service/coap-http-proxy/src/CoapHttpParser.c
service/notification/cpp-wrapper/consumer/inc/NSProvider.h
service/notification/cpp-wrapper/consumer/src/NSProvider.cpp