Fix parsing of function declarations that return pointers.

Check that <op>= only evaluates the left-hand-side once.
diff --git a/libacc/acc.cpp b/libacc/acc.cpp
index f70c7a1..676947e 100644
--- a/libacc/acc.cpp
+++ b/libacc/acc.cpp
@@ -4409,15 +4409,11 @@
     Type* acceptDecl2(Type* pType, tokenid_t& declName,
                       bool nameAllowed, bool nameRequired,
                       bool& reportFailure) {
-        int ptrCounter = 0;
         while (accept('*')) {
-            ptrCounter++;
+            pType = createType(TY_POINTER, pType, NULL);
         }
         pType = acceptDecl3(pType, declName, nameAllowed, nameRequired,
                             reportFailure);
-        while (ptrCounter-- > 0) {
-            pType = createType(TY_POINTER, pType, NULL);
-        }
         return pType;
     }