常量
LLVM 中具有多种基本类型的常量。
简单常量
布尔类型常量
字符串 'true'
和 'false'
都是合法的 i1
类型的常量。
整形常量
标准的整形,例如 '4'
是整形类型的常量。负数可能会使用整形类型。
浮点数类型常量
浮点数常量使用标准的十进制标记(如 123.421
),科学计数法(如 1.23421e+2
),或者更精确的十六进制标记法。汇编器要求精确的浮点型十进制值。例如,汇编器能接收 1.25 却拒绝 1.3,因为 1.3 在二进制上是重复的。浮点型常量必须拥有浮点类型。
Null 指针常量
标识符 'null'
会被编译器识别为空指针常量且必须为指针类型。
Token 常量
标识符 'none'
会被编译器识别为空 token 常量且必须为 token 类型。
有一个违反直觉的对于常量的标记法是对于浮点类型的十六进制形式。