Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-39597

configure fails using Intel Compiler XE 15.0 beta with Visual Studio 2013 because of bad macro QT_SUPPORTS() in qglobal.h

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.3.2
    • 5.3.0
    • Core: Other
    • None

    Description

      configure Qt with "Intel C++ Compiler XE 15.0" compiler failed with several warnings like this:

      ... warning #3199: "defined" is always false in a macro expansion in Microsoft mode
        #if QT_SUPPORTS(UNSHARABLE_CONTAINERS)
            ^
      

      The macro QT_SUPPORTS() defined in qglobal.h uses defined() within a macro definition. The behavior for using defined this way is undefined according to C99 standard ISO/IEC 9899:TC3 Committee Draft — Septermber 7, 2007 WG14/N1256, 6.10.1.4.

      I changed the macro like this:

      #define QT_SUPPORTS(FEATURE) (QT_NO_##FEATURE == 0)
      

      and configure worked fine with Intel and microsoft v120 compiler.

      Attachments

        For Gerrit Dashboard: QTBUG-39597
        # Subject Branch Project Status CR V

        Activity

          People

            thiago Thiago Macieira
            -qutp- -qutp-
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes