[Development] Feature Freeze Exception: QStringView

Thiago Macieira thiago.macieira at intel.com
Fri Feb 3 09:29:22 CET 2017


On sexta-feira, 3 de fevereiro de 2017 08:49:24 PST Marc Mutz wrote:
> When the QString overload is replaced by a QStringView one, these calls
> become errors. I don't mean to say that's a good thing going forward into
> Qt 6, but I do say that having this option (and nothing more is being
> discussed atm) will be very helpful in porting existing users of QL1S and C
> string literals to QStringView:

Your tests do not take QString improvements in Qt 6 into account.

extern void setLabelQStringCRef(const QString &);
void callSetLabelQStringLiteral() {
	setLabelQStringCRef(QStringLiteral("&OK")); 
}

_Z26callSetLabelQStringLiteralv:
        pushq   %rbx
        subq    $32, %rsp
        movq    _ZN10QArrayData18shared_static_dataE at GOTPCREL(%rip), %rax
        movq    %rsp, %rdi
        movl    $3, 16(%rsp)
        movq    %rax, (%rsp)
        leaq    .LC0(%rip), %rax
        movq    %rax, 8(%rsp)
        call    _Z19setLabelQStringCRefRK7QString at PLT
        movq    (%rsp), %rax
        testl   $512, (%rax)
        je      .L12		# always fails
.L1:
        addq    $32, %rsp
        popq    %rbx
        ret
[followed by exception handling code irrelevant for us]

Don't get me wrong: I like QStringView improvements. But we're going to 
improve QString too.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list