我在Sparc LLVM后端找到了这段代码:
extern "C" void LLVMInitializeSparcTargetInfo() {
RegisterTarget<Triple::sparc, /*HasJIT=*/true> X(TheSparcTarget, "sparc",
"Sparc");
RegisterTarget<Triple::sparcv9, /*HasJIT=*/true> Y(TheSparcV9Target,
"sparcv9", "Sparc V9");
RegisterTarget<Triple::sparcel, /*HasJIT=*/true> Z(TheSparcelTarget,
"sparcel", "Sparc LE");
}
我不明白X
,Y
,Z
宏做了什么,我找不到任何定义或文档。
答案 0 :(得分:5)
是什么让你认为这些是宏?
对我而言,X
,Y
和Z
看起来像是一次性名称,用于实例化注册对象。
您应该寻找RegisterTarget
的文档。