You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Chuck Rolke (JIRA)" <ji...@apache.org> on 2015/05/08 23:32:01 UTC

[jira] [Created] (QPID-6537) [C++ Windows] Windows compile latest warning summary

Chuck Rolke created QPID-6537:
---------------------------------

             Summary: [C++ Windows] Windows compile latest warning summary
                 Key: QPID-6537
                 URL: https://issues.apache.org/jira/browse/QPID-6537
             Project: Qpid
          Issue Type: Improvement
          Components: C++ Broker, C++ Client
    Affects Versions: 0.33
         Environment: Windows Visual Studio 2012, x64
            Reporter: Chuck Rolke
            Priority: Minor


Recent windows builds show some warnings in the 64-bit compiles.
{noformat}
2>D:\qpid\cpp\src\qpid\types\Variant.cpp(130): warning C4146: 
  unary minus operator applied to unsigned type, result still unsigned
2>D:\qpid\cpp\src\qpid\types\Variant.cpp(342) : 
  see reference to function template instantiation 
  'T qpid::types::VariantImpl::convertFromString<uint32_t>(void) const
' being compiled
2>          with
2>          [
2>              T=uint32_t
2>          ]
{noformat}
In this case the type is unsigned. The template applies the unary minus only to a signed type and so the warning is for code that's never executed. Still the warning is a nuisance and should be suppressed.

{noformat}
6>D:\qpid\cpp\src\qpid/framing/Endian.h(44): warning C4806: 
  '&' : unsafe operation: no value of type 'bool' promoted to type 'int' can equal the given constant
6>D:\qpid\cpp\src\qpid/framing/FieldValue.h(178) : 
  see reference to function template instantiation 
  'void qpid::framing::endian::encodeInt<T>(uint8_t *,T)' being compiled
6>          with
6>          [
6>              T=bool
6>          ]
6>D:\qpid\cpp\src\qpid/framing/FieldValue.h(178) : while compiling class template member function 'qpid::framing::FixedWidthIntValue<T>::FixedWidthIntValue(T)'
6>          with
6>          [
6>              T=bool
6>          ]
6>D:\qpid\cpp\src\qpid\framing\FieldValue.cpp(233) : see reference to function template instantiation 'qpid::framing::FixedWidthIntValue<T>::FixedWidthIntValue(T)' b
eing compiled
6>          with
6>          [
6>              T=bool
6>          ]
6>D:\qpid\cpp\src\qpid\framing\FieldValue.cpp(232) : see reference to class template instantiation 'qpid::framing::FixedWidthIntValue<T>' being compiled
6>          with
6>          [
6>              T=bool
6>          ]
6>D:\qpid\cpp\src\qpid/framing/Endian.h(45): warning C4804: '>>=' : unsafe use of type 'bool' in operation
6>D:\Users\crolke\git\rh-qpid\qpid\cpp\src\qpid/framing/Endian.h(35): warning C4804: '<<=' : unsafe use of type 'bool' in operation
6>D:\qpid\cpp\src\qpid/framing/FieldValue.h(180) : see reference to function template instantiation 'T qpid::framing::endian::decodeInt<T>(const uint8_t *)' being co
mpiled
6>          with
6>          [
6>              T=bool
6>          ]
6>D:\qpid\cpp\src\qpid/framing/FieldValue.h(180) : while compiling class template member function 'int64_t qpid::framing::FixedWidthIntValue<T>::getInt(void) const'
6>          with
6>          [
6>              T=bool
6>          ]
6>D:\qpid\cpp\src\qpid/framing/Endian.h(36): warning C4805: '|=' : unsafe mix of type 'bool' and type 'const uint8_t' in operation
6>D:\qpid\cpp\src\qpid/framing/Endian.h(36): warning C4805: '|' : unsafe mix of type 'bool' and type 'int' in operation
{noformat}
These are relatively recent additions. 

{noformat}
7>D:\qpid\cpp\src\qpid/client/Handle.h(67): warning C4661: 'qpid::client::Handle<T>::Handle(const qpid::client::Handle<T> &)' : no suitable definition provided for explicit te
mplate instantiation request
7>          with
7>          [
7>              T=qpid::client::CompletionImpl
7>          ]
7>          D:\qpid\cpp\src\qpid/client/Handle.h(61) : see declaration of 'qpid::client::Handle<T>::Handle'
7>          with
7>          [
7>              T=qpid::client::CompletionImpl
7>          ]
7>D:\qpid\cpp\src\qpid/client/Handle.h(67): warning C4661: 'qpid::client::Handle<T> &qpid::client::Handle<T>::operator =(const qpid::client::Handle<T> &)' : no suitable defini
tion provided for explicit template instantiation request
7>          with
7>          [
7>              T=qpid::client::CompletionImpl
7>          ]
7>          D:\qpid\cpp\src\qpid/client/Handle.h(62) : see declaration of 'qpid::client::Handle<T>::operator ='
7>          with
7>          [
7>              T=qpid::client::CompletionImpl
7>          ]
{noformat}
Is this significant?

{noformat}
9>D:\qpid\cpp\src\tests\FieldValue.cpp(33): warning C4305: 'argument' : truncation from 'double' to 'float'
9>D:\qpid\cpp\src\tests\FieldValue.cpp(65): warning C4305: 'argument' : truncation from 'double' to 'float'
9>D:\qpid\cpp\src\tests\FieldValue.cpp(68): warning C4305: 'argument' : truncation from 'double' to 'float'
{noformat}




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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org