[Development] Basing Qt Creator Coding Style on C++ Core Guidelines?

Alexander Nassian nassian at bitshift-dynamics.de
Sat Nov 19 10:34:36 CET 2016


Will there be now 10 BC discussions every year? At least it feels like. Why can't it be decided and then accepted by everyone as is? In my personal opinion I don't care much about BC but I'm happy that it blocks STL usage because its brutally unnatural and I stumbled so often over different behaviors of it on different platforms and compilers that I have a real hate on the STL.

Beste Grüße / Best regards,
Alexander Nassian

> Am 19.11.2016 um 10:22 schrieb Иван Комиссаров <abbapoh at gmail.com>:
> 
> Maybe we should start another thread about BC?
> I'm not convinced that MacOS is the only system when mixing libc++/stdlib makes sence. On linux you can do the same. If we will use stl, the Qt version installed from packages can't be used for development, you should use libc++/stdlib Qt version from Qt site. Not a problem, really.
> The problem is the incompatibility between compiler versions. I had a plugin build with gcc 4.7 and i spent 2 hours to find the reason why it crashed with library build with gcc 4.8 (i didn't know that compiler updated on build host). The problem was that std::unordered_map was BiC.
> So, Qt have to support each gcc (actually, stdlib/libc++ version) major version.
> And you will have reinstall Qt (almost) each time you update the compiler package.
> Correct me if i'm wrong.
> 
> 2016-11-19 10:04 GMT+03:00 Marc Mutz <marc.mutz at kdab.com>:
>> On Friday 18 November 2016 22:12:44 Thiago Macieira wrote:
>> > Em sexta-feira, 18 de novembro de 2016, às 20:37:26 PST, Marc Mutz escreveu:
>> > > There's no reason for Qt to extend its BC guarantees to other libraries.
>> > > STL, GSL, Boost, std::exception, you name it. They are outside of Qt's
>> > > realm and therefore do not fall under the Qt BC rules.
>> >
>> > Which is the reason we can't accept them in our ABI. The rules are
>> > incompatible.
>> 
>> If you extend this argument to its logical conclusion, Qt should be BC between
>> debug and releases on MSVC. Many libraries manage. Gpgme, e.g. Why doesn't Qt?
>> 
>> You see, that argument is completely empty. The STL is forbidden because
>> people are uncomfortable with it, not because it causes BiC. The debug/release
>> stuff on MSVC is allowed to be BiC because people have come to accept it as
>> reality. Neither one is any more right or wrong inherently, than the other.
>> 
>> Thanks,
>> Marc
>> 
>> --
>> Marc Mutz <marc.mutz at kdab.com> | Senior Software Engineer
>> KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
>> Tel: +49-30-521325470
>> KDAB - The Qt, C++ and OpenGL Experts
>> _______________________________________________
>> Development mailing list
>> Development at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/development
> 
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20161119/ac29dfa6/attachment.html>


More information about the Development mailing list