Forum: Object-Pascal / Delphi-Language
Delphi
by SMO,
28. Okt 2005
Nein. Und das ist kein grober Unfug. Der Compiler erkennt, dass "ergy" im Folgenden gar nicht mehr benutzt wird und auch dass das per inlining eingefügte y nichts tut, was auf den Rest des Programms Auswirkungen haben könnte. Also kann man sowohl den Aufruf von y als auch ergy hier ersatzlos streichen.
Inkonsequent ja, aber auf andere Weise als du vielleicht meinst. Wenn man x mit inlining...
Forum: Object-Pascal / Delphi-Language
Delphi
by SMO,
28. Okt 2005
Nein. Jetzt zum dritten Mal: :wall:
Ein "var" Parameter erzwingt eine Speichervariable. Da ist dann nichts mehr drin mit Registeroptimierung und so. Wenn man also solche Tests macht, dann bitte den einzelnen Testfällen (hier der Prozedur und der Funktion) jeweils ihre eigenen lokalen Variablen geben.
var
i: Integer;
begin
x(i);
i := y;
end.
So kann es ja nichts mit der Optimierung...