Explorar o código

* use callnodeflag to check if the result of a function is used

git-svn-id: trunk@8425 -
peter %!s(int64=18) %!d(string=hai) anos
pai
achega
5f4b89903c
Modificáronse 1 ficheiros con 2 adicións e 3 borrados
  1. 2 3
      compiler/nbas.pas

+ 2 - 3
compiler/nbas.pas

@@ -378,9 +378,8 @@ implementation
          if (not (cs_extsyntax in current_settings.moduleswitches)) and
             assigned(left.resultdef) and
             not((left.nodetype=calln) and
-                { don't complain when funcretrefnode is set, because then the
-                  value is already used. And also not for constructors }
-                (assigned(tcallnode(left).funcretnode) or
+                { don't complain when the value is used. And also not for constructors }
+                ((cnf_return_value_used in tcallnode(left).callnodeflags) or
                  (tcallnode(left).procdefinition.proctypeoption=potype_constructor))) and
             not(is_void(left.resultdef)) then
            CGMessage(parser_e_illegal_expression);