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-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to