Frage zum zukünftigen FPC V3.4? [Gelöst]

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
MmVisual
Beiträge: 1470
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Frage zum zukünftigen FPC V3.4? [Gelöst]

Beitrag von MmVisual »

Hallo FPC Experten,

Ich habe eine Frage wegen Compiler Schaltern für ARM CPU's. Bisher gab es "CPUARM", der ist jedoch nur bei einem ARM mit 32 Bit aktiv und nicht bei einer ARM 64 Bit.
Gibt es im FPC 3.4 eine Möglichkeit zwischen 32 Bit und 64 Bit zu unterscheiden?

Code: Alles auswählen

{$IFNDEF CPUARM}
.......
{$ENDIF} 
Ich habe auch mal CPUARM64 aus probiert, das geht nicht.

Siehe Tabelle G.2:
https://www.freepascal.org/docs-html/prog/progap7.html

Der Tabelle nach sollte es das theoretisch geben, bzw die Tabelle sollte so aussehen, damit es mit den anderen CPU Varianten konsistent wäre:

Code: Alles auswählen

CPUARM 		Free Pascal target is an ARM 32-bit or 64-bit processor. 
CPUARM32 	Free Pascal target is an ARM 32-bit processor. 
CPUARM64 	Free Pascal target is an ARM 64-bit processor. 
Ich denke das im FPC drin zu haben wäre wichtig, da das RaspberryPi OS nun als 64 Bit verfügbar ist und man es sonst nicht feststellen kann ob man eine ARM CPU hat, wenn das OS 64 Bit hat.

Vielen Dank!

VG Markus
Zuletzt geändert von MmVisual am Fr 9. Feb 2024, 07:11, insgesamt 1-mal geändert.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
kupferstecher
Beiträge: 422
Registriert: Do 17. Nov 2016, 11:52

Re: Frage zum zukünftigen FPC V3.4?

Beitrag von kupferstecher »

Ist das vielleicht AARCH64?

{$IFDEF CPUAARCH64}

Benutzeravatar
theo
Beiträge: 10499
Registriert: Mo 11. Sep 2006, 19:01

Re: Frage zum zukünftigen FPC V3.4?

Beitrag von theo »

Hatten wir das nicht neulich schon mal?
viewtopic.php?p=138740#p138740

MmVisual
Beiträge: 1470
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Frage zum zukünftigen FPC V3.4?

Beitrag von MmVisual »

Ja hatten wir neulich schon. Es kam jedoch keine Antwort.

Wenn "CPUAARCH64" geht dann fehlt es nur noch in der Doku oder ich schaue in der falschen Doku.

Von meinem Verständnis her sollte zumindest "CPUARM" auch für 64 Bit gelten nicht nur für 32 Bit.

Dankeschön.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
theo
Beiträge: 10499
Registriert: Mo 11. Sep 2006, 19:01

Re: Frage zum zukünftigen FPC V3.4?

Beitrag von theo »

MmVisual hat geschrieben:
Do 8. Feb 2024, 22:52
Wenn "CPUAARCH64" geht dann fehlt es nur noch in der Doku oder ich schaue in der falschen Doku.
https://wiki.freepascal.org/Platform_defines

MmVisual
Beiträge: 1470
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Frage zum zukünftigen FPC V3.4? [Gelöst]

Beitrag von MmVisual »

Super! Thx.

Jetzt sehe ich auch den Unterschied zwischen "WINDOWS" und "MSWINDOWS".
EleLa - Elektronik Lagerverwaltung - www.elela.de

PascalDragon
Beiträge: 834
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Frage zum zukünftigen FPC V3.4?

Beitrag von PascalDragon »

MmVisual hat geschrieben:
Do 8. Feb 2024, 22:52
Von meinem Verständnis her sollte zumindest "CPUARM" auch für 64 Bit gelten nicht nur für 32 Bit.
Nein, weil einfach schon Code existiert (vor allem Assembly Code), der ARM 32-Bit spezifisch ist und per {$IFDEF CPUARM} geschützt ist. Bei RISC-V ist dies zum Beispiel anders, da sowohl 32-Bit als auch 64-Bit RISC-V zur gleichen Zeit eingeführt wurden, weswegen du da tatsächlich {$IFDEF CPURISCV} für beide Plattformen nutzen kannst.
FPC Compiler Entwickler

Antworten