Using and Porting GNU CC - Dollar Signs

Node: Dollar Signs Next: Character Escapes Prev: Function Prototypes Up: C Extensions

Dollar Signs in Identifier Names

In GNU C, you may use dollar signs in identifier names. This is because many traditional C implementations allow such identifiers.

On some machines, dollar signs are allowed in identifiers if you specify `-traditional'. On a few systems they are allowed by default, even if you do not use `-traditional'. But they are never allowed if you specify `-ansi'.

There are certain ANSI C programs (obscure, to be sure) that would compile incorrectly if dollar signs were permitted in identifiers. For example:

	#define foo(a) #a
	#define lose(b) foo (b)
	#define test$
	lose (test)


Next: Character Escapes Up: C Extensions