Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-1433

PySide fails to build with recent versions of MSVC 2019 ( 19.28.29334 )

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • None
    • 5.15.1
    • Shiboken
    • None
    • Windows
    • 499596609679fb490b29ddedf4be0664534583a3 (pyside/pyside-setup/dev) 5abf8ea6d34bb1d36f884d525a962449bbb10ba3 (pyside/pyside-setup/5.15)

    Description

      Apparently related to https://bugs.llvm.org/show_bug.cgi?id=47099 in some way:

      clang_parseTranslationUnit2(0x0, cmd[8]=-fms-compatibility-version=19.26.28806 -fdelayed-template-parsing 
        -Wno-microsoft-enum-value   -D_ALLOW_COMPILER_AND_STL_VERSION_MISMATCH
         -Wno-constant-logical-operand -std=c++17  -IC:/dev/pyside/pyside-setup/sources/shiboken6/tests/libminimal
      
      (minimal) Clang: 1 diagnostic messages:
      (intrin.h)  :56:1: error: expected function body after function declarator
         C:/dev/pyside/pyside-setup/sources/shiboken6/tests/minimalbinding/global.h:32:10: note: in file included from C:/dev/pyside/pyside-setup/sources/shiboken6/tests/minimalbinding/global.h:32:
         C:/dev/pyside/pyside-setup/sources/shiboken6/tests/libminimal\listuser.h:32:10: note: in file included from C:/dev/pyside/pyside-setup/sources/shiboken6/tests/libminimal\listuser.h:32:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\list:11:10: note: in file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\list:11:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\xmemory:13:10: note: in file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\xmemory:13:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\limits:14:10: note: in file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\limits:14:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\intrin0.h:18:10: note: in file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\intrin0.h:18:
      

      where

      /***
      *   intrin0.h - declarations of compiler intrinsics used by the C++ Standard Library.
      ..... *
      ****/
      
      #pragma once
      #define __INTRIN0_H_
      #ifdef __clang__
      // This looks like a circular include but it is not because clang overrides <intrin.h> with their specific version.
      // See further discussion in LLVM-47099.
      18: #include <intrin.h>
      

      and intrin.h:

      #if defined (__cplusplus)
      extern "C" {
      #endif  /* defined (__cplusplus) */
      
      56: __MACHINEARM(int _AddSatInt(int, int))
      __MACHINE(void * _AddressOfReturnAddress(void))
      __MACHINEARM_ARM64(double _CopyDoubleFromInt64(__int64))
      

      Steps to reproduce:

      • Unzip the clangparser example from PYSIDE-323
      • Remove the 2 -isystem/clang lines from main.cpp:213
         clangArgs.push_back("-isystem");
         clangArgs.push_back(CLANG_BUILTIN_INCLUDES_DIR);
        

        Run it against sample code like

        #include <limits>
        
        void foo()
        {
        int x = std::numeric_limits<int>::max();
        }
        

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              kleint Friedemann Kleint
              kleint Friedemann Kleint
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes