https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122954
--- Comment #3 from David Binderman <dcb314 at hotmail dot com> --- (In reply to Jose E. Marchesi from comment #2) > - I am keeping the code that triggers the knownConditionTrueFalse in the > mode equivalence code, Righto. I don't know the a68 code, I just report problems. > - I am keeping the code that triggers the performance problem, because the > ctx argument is conceptually intended to be copied in a stack fashion. As long as you don't mind 150+ places in the code where your customers will be paying a run time cost to maintain the conceptual intention and you don't mind ignoring C++ standard practice, then that's fine. I forgot to mention these 11 other problems: trunk/gcc/algol68/a68-parser-bottom-up.cc:778:8: style: The scope of the variable 'a' can be reduced. [variableScope] trunk/gcc/algol68/a68-parser-bottom-up.cc:806:8: style: The scope of the variable 'a' can be reduced. [variableScope] trunk/gcc/algol68/a68-imports.cc:312:9: style: The scope of the variable 'exports' can be reduced. [variableScope] trunk/gcc/algol68/a68-diagnostics.cc:215:7: style: The scope of the variable 'n' can be reduced. [variableScope] trunk/gcc/algol68/a68-parser-bottom-up.cc:1749:13: style: The scope of the variable 'op2' can be reduced. [variableScope] trunk/gcc/algol68/a68-parser-bottom-up.cc:1731:16: style: The scope of the variable 'op' can be reduced. [variableScope] trunk/gcc/algol68/a68-low-units.cc:682:11: style: The scope of the variable 'orig_sliced_multiple_mode' can be reduced. [variableScope] trunk/gcc/algol68/a68-low.cc:1247:11: style: The scope of the variable 'prelude_enquiry' can be reduced. [variableScope] trunk/gcc/algol68/a68-parser.cc:1021:17: style: The scope of the variable 's' can be reduced. [variableScope] trunk/gcc/algol68/a68-parser-extract.cc:555:9: style: The scope of the variable 'siga' can be reduced. [variableScope] trunk/gcc/algol68/a68-low-clauses.cc:519:12: style: The scope of the variable 'spec_unit' can be reduced. [variableScope] I don't think any of the above will result in any customer visible change of behaviour, it might just make the code a bit simpler. There were also 67 cases of this kind of thing: trunk/gcc/algol68/a68-postulates.cc:80:50: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] which might help tighten up some internal interfaces. Again, the customer probably won't notice. Thanks for your fast reply.
