Re: [Development] ABI of deprecated supportsThreadedFontRendering()
On Thu, 10 Oct 2013, Olivier Goffart wrote: Removing inline is not enough. One need to put back the definition in the .cpp file. Please fill a bug report. (or a patch :-)) https://codereview.qt-project.org/#change,67867 Confirmed with nm on Linux. Harri. ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development
[Development] ABI of deprecated supportsThreadedFontRendering()
Hi! I just learnt about what looks like an ABI regression in Qt 5.2: The function QFontDatabase::supportsThreadedFontRendering() got deprecated in 5.2 with commit b0b786a2f05e9451a65519ab8904f55c35f51b7d: -static bool supportsThreadedFontRendering(); +#if QT_DEPRECATED_SINCE(5, 2) +QT_DEPRECATED static inline bool supportsThreadedFontRendering() { return true; } +#endif At the same time it got inlined. At least with MinGW this made the symbol go away. While e.g. MSVC still exports it. Now I don't know the exact strategy pursured by QT_DEPRECATED but I assume that the function's symbol should not disappear from the 5.2 ABI? If so, I wonder whether removing the inline will already do the job. Harri. ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development
Re: [Development] ABI of deprecated supportsThreadedFontRendering()
On Thursday 10 October 2013 15:04:40 Harri Porten wrote: Hi! I just learnt about what looks like an ABI regression in Qt 5.2: The function QFontDatabase::supportsThreadedFontRendering() got deprecated in 5.2 with commit b0b786a2f05e9451a65519ab8904f55c35f51b7d: -static bool supportsThreadedFontRendering(); +#if QT_DEPRECATED_SINCE(5, 2) +QT_DEPRECATED static inline bool supportsThreadedFontRendering() { return true; } +#endif At the same time it got inlined. At least with MinGW this made the symbol go away. While e.g. MSVC still exports it. Now I don't know the exact strategy pursured by QT_DEPRECATED but I assume that the function's symbol should not disappear from the 5.2 ABI? If so, I wonder whether removing the inline will already do the job. Hi, Thanks for spotting this issue. That patch indeed removed a symbol. Removing inline is not enough. One need to put back the definition in the .cpp file. Please fill a bug report. (or a patch :-)) -- Olivier Woboq - Qt services and support - http://woboq.com - http://code.woboq.org ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development