From c0cebf97355237316d7797ffc226fa001144f581 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Wed, 23 Nov 2011 13:38:32 +0100 Subject: [PATCH] C++ function signature: Avoid hitting a QTC_ASSERT. Change-Id: I0390e51a7d1fc4563eed791c9f8c8ed403398663 Reviewed-by: Leandro Melo --- src/plugins/cppeditor/cppfunctiondecldeflink.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/cppeditor/cppfunctiondecldeflink.cpp b/src/plugins/cppeditor/cppfunctiondecldeflink.cpp index 61c097eaa9a..2ca413e3310 100644 --- a/src/plugins/cppeditor/cppfunctiondecldeflink.cpp +++ b/src/plugins/cppeditor/cppfunctiondecldeflink.cpp @@ -667,10 +667,12 @@ Utils::ChangeSet FunctionDeclDefLink::changes(const Snapshot &snapshot, int targ // make a easy to access list of the target parameter declarations QVarLengthArray targetParameterDecls; - QTC_ASSERT(targetFunctionDeclarator->parameter_declaration_clause, return changes); - for (ParameterDeclarationListAST *it = targetFunctionDeclarator->parameter_declaration_clause->parameter_declaration_list; - it; it = it->next) { - targetParameterDecls.append(it->value); + // there is no parameter declaration clause if the function has no arguments + if (targetFunctionDeclarator->parameter_declaration_clause) { + for (ParameterDeclarationListAST *it = targetFunctionDeclarator->parameter_declaration_clause->parameter_declaration_list; + it; it = it->next) { + targetParameterDecls.append(it->value); + } } // the number of parameters in sourceFunction or targetFunction