Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#11

AW: Clean Code - Default benutzen

  Alt 10. Aug 2020, 16:09
Die Namen gescheiter Compiler darfst du uns jetzt aber nicht vorenthalten. Das wäre richtig gemein!
Meine Referenzen sind in aller Regel clang und gcc auf https://godbolt.org/ mit den Einstellungen -m32 -O3 (-m32 wenn man halt 32bit asm haben will) und __attribute((regparm(3))) (damit die Parameter genauso übergeben werden wie in Delphi) über der Routine.
Interessanterweise spuckt bei genau diesem Code

Code:
struct Bla {
    double one, two;
};

__attribute((regparm(3)))
Bla Init() {
    Bla result;
    result.one = 0;
    result.two = 0;
    return result;
}
erst clang ausm trunk dasselbe aus wie gcc. Vorher dämliche einzelne mov Befehle.

P.S. Bevor hier einer mit FPC um die Ecke kommt - ich kenn da nicht alle Schalter, aber der generiert zumindest in der Version die auf Godbolt ist noch schlimmeren Müll.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (10. Aug 2020 um 22:09 Uhr)
  Mit Zitat antworten Zitat