[Development] Proposal for Qt 5.10 platforms and configurations changes

Thiago Macieira thiago.macieira at intel.com
Sun Apr 30 01:20:06 CEST 2017

On Saturday, 29 April 2017 19:14:54 -03 Mat Sutcliffe wrote:
> It also controls whether Q_DECL_CONSTEXPR expands to constexpr or nothing.
> But I don't think that should alter whether or not a function is inline,
> because functions declared with Q_DECL_CONSTEXPR should already be inline
> anyway.

All constexpr functions are by definition inline. The question is whether MSVC 
2017 mangles them especially because of that fact.

With the simple attached testcase, I compiled with MSVC 2017. The resulting 
symbols were:

?normal_inline at Foo@@QEAAHXZ                     ; Foo::normal_inline    
?constexpr_inline at Foo@@QEAAHXZ                  ; Foo::constexpr_inline 

The mangling QEAAHXZ expands to:
	Q		public
	E		__far64 / __ptr64
	A		no cv-qualification
	A		__cdecl
	H		return type: int
	X		parameter list: void
	Z		throw list: ... [unused, all functions end in Z]

Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.cpp
Type: text/x-c++src
Size: 143 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/development/attachments/20170429/b06132f1/attachment.cpp>

More information about the Development mailing list