AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit FPC Define

Ein Thema von TurboMagic · begonnen am 29. Okt 2023 · letzter Beitrag vom 29. Okt 2023
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#1

Problem mit FPC Define

  Alt 29. Okt 2023, 10:07
Hallo,

es geht mal wieder um DEC.
Freundlicherweise hat mir jemand mittels Pull Request verbesserten FPC Support spendiert
(wer mag darf das testen sobald es im Entwicklungszweig ist, was aber gerade ein Problem ist...).
Dazu hat er auch in der Include Datei die diverse Einsterllungen Regelt Erweiterungen vorgenommen,
die jetzt aber dazu führen, dass es in Delphi nicht mehr compiliert .

Ich verstehe nur nicht warum, denn seine Erweiterungen sind in einem {$IFDEF FPC} Block.
Warum kümmert sich der Delphi 11.3 Compiler überhaupt um den Inhalt dieses Blocks?
Will der plötzlich behaupten, er sei FPC kompatibel?

Im Anhang die Include Datei (iin .txt umbenannt, da .inc hier scheinbar nicht erlaubt).
Evtl. kann ja mal jemand einen Blick drauf werfen.
Um es nachzustellen sollte es reichen den Entwicklungszweig runterzuladen und die iclude
Datei in den Source Unterordner zu kopieren. Dann das Projekt aus dem Install Ordner mal ausführen,
die IDE neu starten und die Projektgruppe unter Source öffnen. Dort das DEC60 Projekt versuchen zu
compilieren.

=> wie bekomme ich das gefixt?

Grüße
TurboMagic
Angehängte Dateien
Dateityp: txt DECOptions.txt (9,1 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: Problem mit FPC Define

  Alt 29. Okt 2023, 11:36
Wenn man schon legacyifend nutzt, dann muss das auch überall getan werden, einige stellen innerhalb des fehlerhaften Teils taten dies nicht (scheinbar kann FPC da auch inzwischen mit nem endif umgehen). Außerdem scheint es den Delphi Compiler hier ein bisschen aus den Socken zu hauen, dass man direkt FPC_FULLVERSION checkt, ein zusätzliches declared behebt das.

Ob das jetzt unter FPC kompiliert? Kein Plan, war nicht meine Aufgabe

Delphi-Quellcode:
//------------------------------------------------------------------------------
// FPC v2.x support (Experimental)
//------------------------------------------------------------------------------

{$IFDEF FPC}
  {$UNDEF DELPHIORBCB}

  // fpc supports assembler
  //{$DEFINE PUREPASCAL}

  {$DEFINE NATIVEINT_UNDEFINED}


  {$IF declared(FPC_FULLVERSION) and (FPC_FULLVERSION >= 30300)}
       {$DEFINE HAVE_LAMBDAS}
  {$IFEND}

  // use compatibility mode
  {$MODE DELPHI}
  {$IFDEF HAVE_LAMBDAS}
          {$modeswitch functionreferences}
          {$modeswitch anonymousfunctions}
  {$ENDIF}

  {$DEFINE HAVE_ASSIGN_ARRAY}

  // defines for Mac OS X
  {$IFDEF DARWIN}
    {$DEFINE MACOS}
    {$DEFINE ALIGN_STACK}
  {$ENDIF}

  // define delphi-style CPU-width
  {$ifdef CPU64}
    {$define CPU64BITS}
  {$else} {$if defined(CPU32) }
    {$define CPU32BITS}
  {$ifend}{$endif}

  {$ASMMODE intel}

{$ELSE}
       // assume delphi have "reference to" feature
       {$define HAVE_LAMBDAS}
{$ENDIF FPC}
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#3

AW: Problem mit FPC Define

  Alt 29. Okt 2023, 11:40
Hallo,

danke für diese Arbeiten. Schaue ich mir heute Nachmittag an.
Du hast getan, was du konntest. Um FPC Kompatibilität sollen sich andere kümmern.

Frage: ist das, was den Delphi Compiler aus den Socken hat einen Report Wert, sprich,
dass es mal geändert wird?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#4

AW: Problem mit FPC Define

  Alt 29. Okt 2023, 15:32
Hallo,

so, ich hab das jetzt alles gerade gezogen.
Bin jetzt nicht der IFEND usw. Eperte, habe aber rausgefunden dass sich das jetzt fast überall wo
der andere was beigetragen hat durchgezogen hat. Hab' es überall wieder auf ENDIF umgebaut wo es
den Compiler gestört hat. Es compiliert und läuft jetzt wieder unter Delphi.

=> so gerne ich es FPC kompoatibel halten will so wenig weiß ich von FPC und so wenig Zeit
hab' ich auch noch dafür. Es wäre echt toll, wenn jemand der FPC besser kennt sich die Sache mal
anschauen könnte und einen Vorschlag macht wie es so gerade zu ziehen ist, dass es beide Compiler
zufrieden stellt.

Grüße
TurboMagic

@Stevie: du stehst jetzt auch in der Notices.txt drin, zumindest mal im Development Zweig
Damit kann ich dir danke sagen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: Problem mit FPC Define

  Alt 29. Okt 2023, 17:01
"Normal" war es eigentlich mal ganz "einfach" gedacht

{$IFDEF} hatte das {$ENDIF}
drum bekam {$IF} das {$IFEND}, damit mußte auch keine inaktive Verschachtelung aufgelöst werden.

{$IFDEF ConditionalExpression} ging ging einfach blind bis zum nächsten {$ENDIF} und die womöglich unbekannten {$IFEND} wurde ignoriert.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: Problem mit FPC Define

  Alt 29. Okt 2023, 22:16
Eigentlich sind ja Pull Requests dafür da, dass man das erstmal durchtestet, bevor man sie merged und damit was kaputt macht.
Und dann hätte man die Verantwortlichkeit auch einfach an den PR Author delegieren können, bis es funktioniert.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz