Re: [Development] "error: ran out of registers during register allocation" when building qlibrary.cpp on macOS 11.6 with Clang 13

2022-02-02 Thread Mitch Curtis
I just realised I never sent my reply to this; it was still a draft… well, at 
least I can add more info now. :)

> -Original Message-
> From: Development  On Behalf Of
> Thiago Macieira
> Sent: Monday, 22 November 2021 6:07 PM
> To: development@qt-project.org
> Subject: Re: [Development] "error: ran out of registers during register
> allocation" when building qlibrary.cpp on macOS 11.6 with Clang 13
>
> On Monday, 22 November 2021 05:47:04 PST Mitch Curtis wrote:
> > error: ran out of registers during register allocation
>
> Unless it's complaining about inline assembly, I don't see how this could be
> our fault. I don't see any inline assembly in qlibrary.cpp or in headers it
> includes, so my guess is it's a compiler bug.
>
> Register allocation failures are more common in debug builds.

Using a RelWithDebInfo build does indeed work around it.

I had some success building clang myself and then building Qt with that, but 
shortly after I started getting the following error (or others like it) when 
building Qt Quick apps, so I gave up and tried the release build workaround.

11:31:51: Running steps for project quick-cmake...
11:31:51: Starting: "/usr/local/Cellar/cmake/3.21.1/bin/cmake" --build 
/Users/mitch/dev/temp/quick-cmake-qt_dev_self_built_clang_debug_non_fw-Debug 
--target all
[1/1 3.5/sec] Linking CXX executable quick-cmake
FAILED: quick-cmake
: && /Users/mitch/dev/llvm-project/build/bin/clang-14 -fsanitize=address 
-fno-omit-frame-pointer -fno-optimize-sibling-calls -g -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk
 -Wl,-search_paths_first -Wl,-headerpad_max_install_names  
CMakeFiles/quick-cmake.dir/quick-cmake_autogen/mocs_compilation.cpp.o 
CMakeFiles/quick-cmake.dir/main.cpp.o 
CMakeFiles/quick-cmake.dir/quick-cmake_autogen/EWIEGA46WW/qrc_qml.cpp.o -o 
quick-cmake  
-Wl,-rpath,/Users/mitch/dev/qt-dev-self-built-clang-debug-non-fw/qtbase/lib  
/Users/mitch/dev/qt-dev-self-built-clang-debug-non-fw/qtbase/lib/libQt6Quick_debug.6.3.0.dylib
  
/Users/mitch/dev/qt-dev-self-built-clang-debug-non-fw/qtbase/lib/libQt6QmlModels_debug.6.3.0.dylib
  
/Users/mitch/dev/qt-dev-self-built-clang-debug-non-fw/qtbase/lib/libQt6Qml_debug.6.3.0.dylib
  
/Users/mitch/dev/qt-dev-self-built-clang-debug-non-fw/qtbase/lib/libQt6Network_debug.6.3.0.dylib
  
/Users/mitch/dev/qt-dev-self-built-clang-debug-non-fw/qtbase/lib/libQt6OpenGL_debug.6.3.0.dylib
  
/Users/mitch/dev/qt-dev-self-built-clang-debug-non-fw/qtbase/lib/libQt6Gui_debug.6.3.0.dylib
  -framework  OpenGL  -framework  AGL  -framework AppKit  -framework ImageIO  
-framework Metal  
/Users/mitch/dev/qt-dev-self-built-clang-debug-non-fw/qtbase/lib/libQt6Core_debug.6.3.0.dylib
  -framework DiskArbitration  -framework IOKit && :
Undefined symbols for architecture x86_64:
"std::terminate()", referenced from:
  ___clang_call_terminate in qrc_qml.cpp.o
"operator delete(void*)", referenced from:
  
std::__1::enable_if<((QtPrivate::FunctionPointer::ArgumentCount) == 
(-(1))) && (!(std::is_convertible_v)), 
QMetaObject::Connection>::type QObject::connect(QtPrivate::FunctionPointer::Object const*, void (QQmlApplicationEngine::*)(QObject*, QUrl 
const&), QObject const*, main::$_0, Qt::ConnectionType) in main.cpp.o
  QtPrivate::QFunctorSlotObject, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, 
bool*) in main.cpp.o
"operator new(unsigned long)", referenced from:
  
std::__1::enable_if<((QtPrivate::FunctionPointer::ArgumentCount) == 
(-(1))) && (!(std::is_convertible_v)), 
QMetaObject::Connection>::type QObject::connect(QtPrivate::FunctionPointer::Object const*, void (QQmlApplicationEngine::*)(QObject*, QUrl 
const&), QObject const*, main::$_0, Qt::ConnectionType) in main.cpp.o
"___cxa_begin_catch", referenced from:
  ___clang_call_terminate in qrc_qml.cpp.o
"___gxx_personality_v0", referenced from:
  _main in main.cpp.o
  
std::__1::enable_if<((QtPrivate::FunctionPointer::ArgumentCount) == 
(-(1))) && (!(std::is_convertible_v)), 
QMetaObject::Connection>::type QObject::connect(QtPrivate::FunctionPointer::Object const*, void (QQmlApplicationEngine::*)(QObject*, QUrl 
const&), QObject const*, main::$_0, Qt::ConnectionType) in main.cpp.o
  QtPrivate::QFunctorSlotObject, void>::QFunctorSlotObject(main::$_0) in main.cpp.o
  Dwarf Exception Unwind Info (__eh_frame) in main.cpp.o
  (anonymous namespace)::initializer::~initializer() in qrc_qml.cpp.o
  Dwarf Exception Unwind Info (__eh_frame) in qrc_qml.cpp.o
ld: symbol(s) not found for architecture x86_64
clang-14: error: linker command failed with exit code 1 (use -v to see 
invocation)
ninja: build stopped: subcommand failed.
11:31:51: The process "/usr/local/Cellar/cmake/3.21.1/bin/cmake" exited 
with code 1.
Error while building/deploying project quick-cmake (kit: 
qt-dev-self-built-clang-debug-non-fw)
When executing step 

Re: [Development] HEADS-UP: call for Qt 6.3 API review

2022-02-02 Thread Jani Heikkinen
Hi all,

QML API review documents uploaded now, thanks to Max: 
https://codereview.qt-project.org/q/topic:%22api-change-review-6.3%22+(status:open%20OR%20status:merged)

br,
Jani


From: Development  on behalf of Marc Mutz 

Sent: Tuesday, February 1, 2022 4:47 PM
To: development@qt-project.org
Subject: Re: [Development] HEADS-UP: call for Qt 6.3 API review

Hi,

There were still several modules unreviewed, and quite some with issues
found (there are a few more now) which appear unfixed (link in the
review to the fix, please).

Since the hit rate was so high, I also went through the already-appoved
ones, and bingo, found the addition of a virtual function, approved now
for the second time (first when merged, now in review).

Please restrain from giving a +2 on the API reviews if you have not read
and understood
https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B#The_Do.27s_and_Don.27ts
first.

I sure hope we didn't miss something like that in 6.2's review (and if
we did, we now know how our users value the BC guarantee :)

Thanks,
Marc

From: Development  on behalf of Jani 
Heikkinen 
Sent: Thursday, January 20, 2022 12:13 PM
To: development@qt-project.org 
Subject: [Development] HEADS-UP: call for Qt 6.3 API review

Hi all,

It is time to do a API review for Qt 6.3 now. Diffs are here: 
https://codereview.qt-project.org/q/topic:%226.3+API+Review%22
Please do the review asap; we need to compete it as soon as possible.

Follow-up task in Jira: https://bugreports.qt.io/browse/QTBUG-99883

br,
Jani
___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development
___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development