Two simple type objects are equal if and only if they have @|string=| names
and matching qualifiers.
- \def\x#1{\desclabel{const}{#1}}
- \x{c-type-bool} \x{c-type-char} \x{c-type-wchar-t} \x{c-type-signed-char}
- \x{c-type-unsigned-char} \x{c-type-short} \x{c-type-unsigned-short}
- \x{c-type-int} \x{c-type-unsigned} \x{c-type-long} \x{c-type-unsigned-long}
- \x{c-type-long-long} \x{c-type-unsigned-long-long} \x{c-type-size-t}
- \x{c-type-ptrdiff-t} \x{c-type-float} \x{c-type-double}
- \x{c-type-long-double} \x{c-type-float-imaginary}
- \x{c-type-double-imaginary} \x{c-type-long-double-imaginary}
- \x{c-type-float-complex} \x{c-type-double-complex}
- \x{c-type-long-double-complex} \x{c-type-va-list} \x{c-type-void}
+ \def\x#1{\desclabel{const}{c-type-#1}}
+ \x{bool} \x{char} \x{wchar-t} \x{signed-char} \x{unsigned-char} \x{short}
+ \x{unsigned-short} \x{int} \x{unsigned} \x{long} \x{unsigned-long}
+ \x{long-long} \x{unsigned-long-long} \x{size-t} \x{ptrdiff-t} \x{float}
+ \x{double} \x{long-double} \x{float-imaginary} \x{double-imaginary}
+ \x{long-double-imaginary} \x{float-complex} \x{double-complex}
+ \x{long-double-complex} \x{va-list} \x{void}
A number of symbolic type specifiers for builtin types are predefined as
shown in \xref{tab:codegen.c-types.simple}. These are all defined as if by
@|define-simple-c-type|, so can be used to construct qualified types.