From fc86116dfd8559764b2cd21fcfdb7c5d2d739aa3 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 2 Apr 2014 23:12:52 -0700 Subject: Don't append garbage to the function parameter slots If the argument is neither a temporary nor a constant, slot isn't initialized. So don't try to add it. qqmltypecompiler.cpp:2548:36: error: variable 'slot' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized] qqmltypecompiler.cpp:2553:36: note: uninitialized use occurs here _functionParameters.append(slot); ^~~~ Change-Id: I5a538bfa0ef1fbbd00e23dfd6e15c404359c7c46 Reviewed-by: Simon Hausmann Reviewed-by: Lars Knoll --- src/qml/compiler/qqmltypecompiler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/qml/compiler/qqmltypecompiler.cpp b/src/qml/compiler/qqmltypecompiler.cpp index 087f8df8a5..b5ddf3bc59 100644 --- a/src/qml/compiler/qqmltypecompiler.cpp +++ b/src/qml/compiler/qqmltypecompiler.cpp @@ -2653,12 +2653,13 @@ void QQmlJavaScriptBindingExpressionSimplificationPass::visitFunctionCall(const return; } slot = param->index; + _functionParameters.append(slot); } else if (QV4::IR::Const *param = args->expr->asConst()) { slot = --_synthesizedConsts; Q_ASSERT(!_temps.contains(slot)); _temps[slot] = param; + _functionParameters.append(slot); } - _functionParameters.append(slot); args = args->next; } -- cgit v1.2.3