js' blog

Kaputte Software
Created: 01.05.2009 22:46 UTC

Heute mal wieder aus der Reihe „Kaputte Software“: GCC unter OS X.

Mir fällt grade garnicht ein, was ich dazu noch sagen soll. GCC gefällt der Typ von super plötzlich nicht mehr, wenn es innerhalb eines @try-Blocks ist. Laut Google hatte wohl jemand das selbe Problem in Verbindung mit @synchronize, aber eine Lösung gabs da auch nicht. Der andere Treffer ist ein japanisches Blog und außer den beiden Treffern gibt es keine bei der Suche nach der Warnung, welche wegen -Werror zu einem Fehler wird. Also mußte ein dreckiger Workaround (siehe Commit) her… *seufz*

Man findet doch echt am laufenden Band etwas, wenn man an sowas wie libobjfw arbeitet und mal hinter die Fassade der ganzen Sachen schaut. Erschreckend, wie viele Compiler- und Runtime-Bugs man dann findet. Grade mit @try gibt es da einige in GCC (siehe z.B. den Workaround für einen Bug in GCC 4.0.1, evtl. aber nur mit Apple GCC). Oder so Sachen wie der Check in configure, ob @""-Literals eine unberechtigte Warnung machen, daß _OBJC_INSTANCE_0 definiert aber nicht benutzt würde (es ist eine von GCC selber definierte, intern genutzte Variable, die natürlich sehr wohl benutzt wird, nur eben nicht in dem Source-File, sondern in dem Code, den GCC generiert).