Hallo, In asm-Code (Unter anderem in den Quellen des GCC) findet man nicht selten folgendes Code-Fragment: --snip-- #define CONCAT1(a, b) CONCAT2(a, b) #define CONCAT2(a, b) a ## b #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) #define REG(x) CONCAT1 (__REGISTER_PREFIX__, x) SYM(foo) REG(bar) --snip-- __USER_LABEL_PREFIX__ und __REGISTER_PREFIX__ sind von gcc interne definierte #defines. Frage: Wie schreibt man SYM(x) und REG(x) ansi-konform, so dass sie auch gültig sind, wenn #define __REGISTER_PREFIX__ % gilt. Hintergrund: Auf manchen m68k-gcc's gilt __REGISTER_PREFIX__=%. In Abhängigkeit von den verwendeten Flags und der verwendeten Sprache (*.c oder *.S) führte das bis gcc < 3.3 zu Warnungen, mit gcc >= 3.3 gibt es jedoch Errors. Interessanterweise verwendet GCC derartigen Code in m68k-ASM ;) Ralf