From 0145a3dea966df75afbf5c85c824d37795ad645c Mon Sep 17 00:00:00 2001
From: Roberto Raggi <qtc-committer@nokia.com>
Date: Fri, 12 Dec 2008 10:40:25 +0100
Subject: [PATCH] Look at the signed/unsigned specifiers when checking function
 return types.

---
 src/plugins/cpptools/cppcodecompletion.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index a0fbe82a542..addf5301f79 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -966,8 +966,10 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item)
             if (Function *function = symbol->type()->asFunction()) {
                 // If the member is a function, automatically place the opening parenthesis,
                 // except when it might take template parameters.
-                if (!function->returnType().isValid()
-                    && (function->identity() && !function->identity()->isDestructorNameId())) {
+                const bool hasReturnType = function->returnType().isValid()  ||
+                                           function->returnType().isSigned() ||
+                                           function->returnType().isUnsigned();
+                if (! hasReturnType && (function->identity() && !function->identity()->isDestructorNameId())) {
                     // Don't insert any magic, since the user might have just wanted to select the class
 
                 } else if (function->templateParameterCount() != 0) {
-- 
GitLab