Entspricht -fplan9-Erweiterungen in Clang?

8

Wie bekomme ich das anonyme Struktur / Union-Verhalten aktiviert von -fplan9-extensions in GCC, um in Clang zu arbeiten?

Ich erhalte Fehler bei der Zuweisung von anonymen Mitgliedern, wenn ich bestimmte Initialisierer verwende, und ich bekomme das freie Casting nicht auf den Typ eines anonymen Mitglieds. Beide arbeiten unter GCC mit der oben genannten Erweiterung aktiviert.

%Vor%     
Matt Joiner 15.08.2011, 01:25
quelle

1 Antwort

8

So erhalten Sie die -fplan9-extensions -Funktionalität in Clang:

  • Stellen Sie sicher, dass die Funktionalität die sieben Kriterien für Clang-Erweiterungen erfüllt.
  • Schickt die cfe-dev Mailingliste und fragt, ob die Clang-Community einen Patch akzeptieren würde Implementierung dieser Erweiterung.
  • Machen Sie sich mit den LLVM-Codierungsstandards vertraut.
  • Auschecken und erstellen LLVM und klingeln von SVN.
  • Erstellen Sie einen Patch, der die Funktionalität implementiert, und senden Sie ihn an die cfe-commits Mailingliste.
  • Reagieren Sie auf Kommentare in dieser Mailingliste. Für einen ersten Patch zu Clang sollten Sie erwarten, dass Sie es mehrere Male überarbeiten müssen, bevor es von der Community akzeptiert wird. Sei geduldig und halte durch.
  • Wenn alles gut geht, wird Ihr Patch in Clang eingecheckt.

Ein Teil der -fplan9-extensions -Funktionalität (der struct { Embedded; } -Teil) ist bereits unter dem -fms-extensions -Argument verfügbar, aber angegebene Initialisierer für solche anonymen Mitglieder werden nicht unterstützt. Der andere Teil ist dem GCC% __attribute__((transparent_union)) -Funktionalität ähnlich, die Clang bereits unterstützt.

    
Richard Smith 30.04.2012 00:02
quelle

Tags und Links