[Firm] Probleme mit cparser

Christoph Mallon mallon at cs.uni-saarland.de
Mon Feb 2 11:13:22 CET 2015


Am 02.02.15 10:02, schrieb Moritz Kroll:
> Hier die Ergebnisse:
>  - Geupdated von 1.8.0 auf 1.9.5 -> "bad pack header"
>  - pp.ipd.kit.edu für libfirm -> "bad pack header"

Nochmal langsam zum Mitschreiben:
cparser klonen geht, libfirm nicht?

> Jetzt hatte ich aber das Problem (5.), dass MSVC doppelte Typedefs auch
> im C-Modus zu erlauben scheint. Ich hab daher noch einen Patch dazu
> angehängt.

Ab C11 ist das auch in C erlaubt.
Sollten wir also so oder so einbauen.

> Bisher hatte ich immer einige Problem-Keywords per #define wegdefiniert.
> Jetzt hab ich __declspec mal scharf geschaltet und ein Problem (6.) mit
> 
>     typedef struct __declspec(align(8)) _XSAVE_AREA_HEADER
> 
> Ich habe dazu einen Testfall und einen Patch angehängt.

__declspec wird bislang nur sehr halbherzig unterstützt, hauptsächlich
weil es keiner brauchte.
Das etwas aufbohren ist nicht falsch.

> Sehr schön, jetzt brauch ich keine Spezialdefines mehr und muss nur noch
> (per Python-Skript) alle ekligen "[source_annotation_attribute( ... )]"

Was für Zeug?

> Attribute und alle __asm Blöcke rauswerfen. Damit bin ich vollkommen
> zufrieden :D

So MSVC-asm?
Das ist richtig eklig, da die Semantik von dem Zeug so richtig kaputt ist.
Vielleicht können wir einen Hack einbauen, damit er das Zeug zumindest
wegknuspert und in der Codeerzeugung ein abort() fallen lässt. ^^
Zum Generieren von API-Zeugs reicht das allemal.

Gruß
	Christoph



More information about the Firm mailing list