Re: [Interest] How prevent "Code will never be executed" when compiling "qDebug() << enumvar" ?

2015-12-15 Thread Thiago Macieira
On Monday 14 December 2015 21:44:47 Edward Sutton wrote:
> #ifdef QT_DEBUG // Fix iOS Clang warning "Code will never be executed"
> 
> qDebug() << "TapAndHoldGesture: " << tapAndHold->state();
> 
> #endif

We have not seen this warning. What version of Xcode is this warning showing 
up on?

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] How prevent "Code will never be executed" when compiling "qDebug() << enumvar" ?

2015-12-15 Thread Thiago Macieira
On Tuesday 15 December 2015 13:31:40 Edward Sutton wrote:
> >We have not seen this warning. What version of Xcode is this warning
> >showing
> up on?
> 
> Xcode 7.2.

I don't know what any of those switches do, so I will answer in the generic:

1) if the warning is emitted by -Wall -Wextra, we'll do our best to fix it, 
including reporting bugs to the compiler and working around if it is a false 
positive.

2) if it's not produced at -Wextra level, it's up to our discretion whether to 
fix it. We may consider it "warning too stupid" and say you shouldn't turn it 
on.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] How prevent "Code will never be executed" when compiling "qDebug() << enumvar" ?

2015-12-15 Thread Edward Sutton

On Dec 15, 2015, at 3:31 AM, Thiago Macieira 
> wrote:

On Monday 14 December 2015 21:44:47 Edward Sutton wrote:
#ifdef QT_DEBUG // Fix iOS Clang warning "Code will never be executed"

qDebug() << "TapAndHoldGesture: " << tapAndHold->state();

#endif

>We have not seen this warning. What version of Xcode is this warning showing
up on?

Xcode 7.2.

In an attempt to reduce Xcode's nagging to accept it’s *many* recommended 
project settings, I have the following warning flags added to my qmake project. 
 There are still another half-dozen recommended project settings that I have 
not figured out what the associated flags are.

The issue only shows up in release build.  The following warnings are added to 
my qmake project for all builds.


# Silence warnings on OSX ( I do not get these on the OSX build VM? Same 
XCode 6.4? )

# qobject.h:108: warning: unknown warning group 
'-Winconsistent-missing-override', ignored [-Wunknown-pragmas]

QMAKE_CXXFLAGS_WARN_ON += -Wno-unknown-pragmas


Q_CLANG_WARN_BOOL_CONVERSION.name = CLANG_WARN_BOOL_CONVERSION

Q_CLANG_WARN_BOOL_CONVERSION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_BOOL_CONVERSION


Q_CLANG_WARN_CONSTANT_CONVERSION.name = CLANG_WARN_CONSTANT_CONVERSION

Q_CLANG_WARN_CONSTANT_CONVERSION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_CONSTANT_CONVERSION


Q_CLANG_WARN_EMPTY_BODY.name = CLANG_WARN_EMPTY_BODY

Q_CLANG_WARN_EMPTY_BODY.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_EMPTY_BODY


Q_CLANG_WARN_ENUM_CONVERSION.name = CLANG_WARN_ENUM_CONVERSION

Q_CLANG_WARN_ENUM_CONVERSION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_ENUM_CONVERSION


Q_CLANG_WARN_INT_CONVERSION.name = CLANG_WARN_INT_CONVERSION

Q_CLANG_WARN_INT_CONVERSION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_INT_CONVERSION


Q_CLANG_WARN_UNREACHABLE_CODE.name = CLANG_WARN_UNREACHABLE_CODE

Q_CLANG_WARN_UNREACHABLE_CODE.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_UNREACHABLE_CODE


Q_CLANG_WARN__DUPLICATE_METHOD_MATCH.name = 
CLANG_WARN__DUPLICATE_METHOD_MATCH

Q_CLANG_WARN__DUPLICATE_METHOD_MATCH.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN__DUPLICATE_METHOD_MATCH


Q_ENABLE_STRICT_OBJC_MSGSEND.name = ENABLE_STRICT_OBJC_MSGSEND

Q_ENABLE_STRICT_OBJC_MSGSEND.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_ENABLE_STRICT_OBJC_MSGSEND


Q_GCC_NO_COMMON_BLOCKS.name = GCC_NO_COMMON_BLOCKS

Q_GCC_NO_COMMON_BLOCKS.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_NO_COMMON_BLOCKS


Q_GCC_WARN_64_TO_32_BIT_CONVERSION.name = GCC_WARN_64_TO_32_BIT_CONVERSION

Q_GCC_WARN_64_TO_32_BIT_CONVERSION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_64_TO_32_BIT_CONVERSION


Q_GCC_WARN_ABOUT_RETURN_TYPE.name = GCC_WARN_ABOUT_RETURN_TYPE

Q_GCC_WARN_ABOUT_RETURN_TYPE.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_ABOUT_RETURN_TYPE


Q_GCC_WARN_UNDECLARED_SELECTOR.name = GCC_WARN_UNDECLARED_SELECTOR

Q_GCC_WARN_UNDECLARED_SELECTOR.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_UNDECLARED_SELECTOR


Q_GCC_WARN_UNINITIALIZED_AUTOS.name = GCC_WARN_UNINITIALIZED_AUTOS

Q_GCC_WARN_UNINITIALIZED_AUTOS.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_UNINITIALIZED_AUTOS


Q_GCC_WARN_UNUSED_FUNCTION.name = GCC_WARN_UNUSED_FUNCTION

Q_GCC_WARN_UNUSED_FUNCTION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_UNUSED_FUNCTION


Q_GCC_WARN_UNUSED_VARIABLE.name = GCC_WARN_UNUSED_VARIABLE

Q_GCC_WARN_UNUSED_VARIABLE.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_UNUSED_VARIABLE


Example:

Users/edward3/Documents/projects/build-tsr-iphoneos_clang_Qt_5_5_1_for_iOS_1-Release/obj/TSR.build/Release-iphoneos/TSR.build/Objects-normal/armv7/trackerconnection.o
/Users/edward3/Documents/projects/tsr-mobile-fileput/source/trackerconnection.cpp:219:18:
 error: code will never be executed [-Werror,-Wunreachable-code]

qDebug() << this->d_ptr->trackerFileSend.state();
^~
/Users/edward3/Documents/projects/tsr-mobile-fileput/source/trackerconnection.cpp:209:52:
 error: code will never be executed [-Werror,-Wunreachable-code]

qDebug() << "TrackerConnection::TrackerState:" << d_ptr->trackerState;
^~
2 errors generated.


-Ed




--
Thiago Macieira - thiago.macieira (AT) intel.com
 Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

This email and any files transmitted with it from The Charles Machine Works, 
Inc. are confidential and intended solely for the use of the individual or 
entity to which they are addressed. If you have received this email in error 
please notify the sender. Our company accepts no 

Re: [Interest] How prevent "Code will never be executed" when compiling "qDebug() << enumvar" ?

2015-12-15 Thread Edward Sutton
This hides the unreachable code warning from the compiler.  Although almost as 
ugly as hiding it by wrapping inside "#ifdef QT_DEBUG”


QString enumValue;

QDebug() << this->d_ptr->trackerFileSend.state();

qDebug("%s", enumValue.toLatin1().data());

-Ed


On Dec 15, 2015, at 7:31 AM, Edward Sutton 
> wrote:


On Dec 15, 2015, at 3:31 AM, Thiago Macieira 
> wrote:

On Monday 14 December 2015 21:44:47 Edward Sutton wrote:
#ifdef QT_DEBUG // Fix iOS Clang warning "Code will never be executed"

qDebug() << "TapAndHoldGesture: " << tapAndHold->state();

#endif

>We have not seen this warning. What version of Xcode is this warning showing
up on?

Xcode 7.2.

In an attempt to reduce Xcode's nagging to accept it’s *many* recommended 
project settings, I have the following warning flags added to my qmake project. 
 There are still another half-dozen recommended project settings that I have 
not figured out what the associated flags are.

The issue only shows up in release build.  The following warnings are added to 
my qmake project for all builds.


# Silence warnings on OSX ( I do not get these on the OSX build VM? Same 
XCode 6.4? )

# qobject.h:108: warning: unknown warning group 
'-Winconsistent-missing-override', ignored [-Wunknown-pragmas]

QMAKE_CXXFLAGS_WARN_ON += -Wno-unknown-pragmas


Q_CLANG_WARN_BOOL_CONVERSION.name = CLANG_WARN_BOOL_CONVERSION

Q_CLANG_WARN_BOOL_CONVERSION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_BOOL_CONVERSION


Q_CLANG_WARN_CONSTANT_CONVERSION.name = CLANG_WARN_CONSTANT_CONVERSION

Q_CLANG_WARN_CONSTANT_CONVERSION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_CONSTANT_CONVERSION


Q_CLANG_WARN_EMPTY_BODY.name = CLANG_WARN_EMPTY_BODY

Q_CLANG_WARN_EMPTY_BODY.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_EMPTY_BODY


Q_CLANG_WARN_ENUM_CONVERSION.name = CLANG_WARN_ENUM_CONVERSION

Q_CLANG_WARN_ENUM_CONVERSION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_ENUM_CONVERSION


Q_CLANG_WARN_INT_CONVERSION.name = CLANG_WARN_INT_CONVERSION

Q_CLANG_WARN_INT_CONVERSION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_INT_CONVERSION


Q_CLANG_WARN_UNREACHABLE_CODE.name = CLANG_WARN_UNREACHABLE_CODE

Q_CLANG_WARN_UNREACHABLE_CODE.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_UNREACHABLE_CODE


Q_CLANG_WARN__DUPLICATE_METHOD_MATCH.name = 
CLANG_WARN__DUPLICATE_METHOD_MATCH

Q_CLANG_WARN__DUPLICATE_METHOD_MATCH.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN__DUPLICATE_METHOD_MATCH


Q_ENABLE_STRICT_OBJC_MSGSEND.name = ENABLE_STRICT_OBJC_MSGSEND

Q_ENABLE_STRICT_OBJC_MSGSEND.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_ENABLE_STRICT_OBJC_MSGSEND


Q_GCC_NO_COMMON_BLOCKS.name = GCC_NO_COMMON_BLOCKS

Q_GCC_NO_COMMON_BLOCKS.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_NO_COMMON_BLOCKS


Q_GCC_WARN_64_TO_32_BIT_CONVERSION.name = GCC_WARN_64_TO_32_BIT_CONVERSION

Q_GCC_WARN_64_TO_32_BIT_CONVERSION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_64_TO_32_BIT_CONVERSION


Q_GCC_WARN_ABOUT_RETURN_TYPE.name = GCC_WARN_ABOUT_RETURN_TYPE

Q_GCC_WARN_ABOUT_RETURN_TYPE.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_ABOUT_RETURN_TYPE


Q_GCC_WARN_UNDECLARED_SELECTOR.name = GCC_WARN_UNDECLARED_SELECTOR

Q_GCC_WARN_UNDECLARED_SELECTOR.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_UNDECLARED_SELECTOR


Q_GCC_WARN_UNINITIALIZED_AUTOS.name = GCC_WARN_UNINITIALIZED_AUTOS

Q_GCC_WARN_UNINITIALIZED_AUTOS.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_UNINITIALIZED_AUTOS


Q_GCC_WARN_UNUSED_FUNCTION.name = GCC_WARN_UNUSED_FUNCTION

Q_GCC_WARN_UNUSED_FUNCTION.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_UNUSED_FUNCTION


Q_GCC_WARN_UNUSED_VARIABLE.name = GCC_WARN_UNUSED_VARIABLE

Q_GCC_WARN_UNUSED_VARIABLE.value = YES

QMAKE_MAC_XCODE_SETTINGS += Q_GCC_WARN_UNUSED_VARIABLE


Example:

Users/edward3/Documents/projects/build-tsr-iphoneos_clang_Qt_5_5_1_for_iOS_1-Release/obj/TSR.build/Release-iphoneos/TSR.build/Objects-normal/armv7/trackerconnection.o
/Users/edward3/Documents/projects/tsr-mobile-fileput/source/trackerconnection.cpp:219:18:
 error: code will never be executed [-Werror,-Wunreachable-code]

qDebug() << this->d_ptr->trackerFileSend.state();
^~
/Users/edward3/Documents/projects/tsr-mobile-fileput/source/trackerconnection.cpp:209:52:
 error: code will never be executed [-Werror,-Wunreachable-code]

qDebug() << "TrackerConnection::TrackerState:" << d_ptr->trackerState;
^~
2 errors generated.


-Ed




--
Thiago Macieira - thiago.macieira (AT) intel.com
 Software Architect - Intel Open Source Technology Center

___
Interest mailing list

Re: [Interest] How prevent "Code will never be executed" when compiling "qDebug() << enumvar" ?

2015-12-15 Thread Koehne Kai
> -Original Message-
> From: Interest [mailto:interest-boun...@qt-project.org] On Behalf Of
> Edward Sutton
> Sent: Monday, December 14, 2015 10:45 PM
> To: Qt Interest <interest@qt-project.org>
> Subject: [Interest] How prevent "Code will never be executed" when
> compiling "qDebug() << enumvar" ?
> 
> #ifdef QT_DEBUG // Fix iOS Clang warning "Code will never be executed"
> 
> qDebug() << "TapAndHoldGesture: " << tapAndHold->state();
> 
> #endif

Just an idea, but maybe you can try using categorized logging?

QLoggingCategory defaultC("default");

qCDebug(defaultC) << "TapAndHoldGesture: " << tapAndHold->state();

Regards

Kai
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] How prevent "Code will never be executed" when compiling "qDebug() << enumvar" ?

2015-12-14 Thread Edward Sutton
#ifdef QT_DEBUG // Fix iOS Clang warning "Code will never be executed"

qDebug() << "TapAndHoldGesture: " << tapAndHold->state();

#endif


Is there an easier way to hide this from the iOS compiler without turning off 
CLANG_WARN_UNREACHABLE_CODE ?

Q_CLANG_WARN_UNREACHABLE_CODE.name = CLANG_WARN_UNREACHABLE_CODE
Q_CLANG_WARN_UNREACHABLE_CODE.value = YES
QMAKE_MAC_XCODE_SETTINGS += Q_CLANG_WARN_UNREACHABLE_CODE


The following does not generate  "Code will never be executed” but is harder to 
read since I must lookup the enum value.

qDebug(“TapAndHoldGesture: %i “, (int)tapAndHold->state());

Thanks,

-Ed


This email and any files transmitted with it from The Charles Machine Works, 
Inc. are confidential and intended solely for the use of the individual or 
entity to which they are addressed. If you have received this email in error 
please notify the sender. Our company accepts no liability for the contents of 
this email, or for the consequences of any actions taken on the basis of the 
information provided, unless that information is subsequently confirmed in 
writing. Please note that any views or opinions presented in this email are 
solely those of the author and do not necessarily represent those of the 
company. Finally, the recipient should check this email and any attachments for 
the presence of viruses. The company accepts no liability for any damage caused 
by any virus transmitted by this email.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest