Next: Named Address Spaces, Previous: PCH Target, Up: Target Macros
定义该钩子来覆盖用于guard变量的整数类型。 这些被用于实现静态对象的一次构建。缺省为long_long_integer_type_node。
该钩子确定如何使用guard变量。如果第一个字节应该被使用, 则应该返回
false
(缺省)。返回值为true
表明应该使用最低有效位。
该钩子返回cookie的大小,其中cookie为当分配一个数组其元素具有type类型, 所使用的cookie。假设已经知道需要一个cookie。 缺省为
max(sizeof (size_t), alignof(type))
, 在2.7节IA64/Generic C++ ABI中定义。
该钩子应该返回
true
,如果元素大小应该被存放在数组cookie中。 缺省为返回false
。
如果后端定义了该钩子,则允许覆盖对导出类type的决定。 import_export将包含1,如果类将被导出,−1如果其将被导入,否则为0. 该函数应该返回修改后的值,并执行其它需要的操作来支持后端的操作系统。
该钩子应该返回
true
,如果构造者和析构者返回创建/销毁对象的地址。 缺省为返回false
。
该钩子返回真,如果类的关键方法(即,如果方法在当前转换单元中定义, 其使得虚拟表被输出)可以为内联函数。对于标准的Itanium C++ ABI, 关键方法可以为内联函数,只要函数不在类定义中声明为内联的。 其它ABI的变体中,内联函数不能为关键方法。缺省为返回
true
。
decl为虚拟表,类型信息对象,或其它类似的隐含类数据对象, 其将在该转换单元中作为外部链接被输出。ELF的可视性不会被显示的指定。 如果target需要指定可视性, 可以使用该钩子来设置
DECL_VISIBILITY
和DECL_VISIBILITY_SPECIFIED
。
该钩子返回真(缺省情况)如果虚拟表和其它类似的隐式类数据对象总是为COMDAT, 如果它们具有外部连接。如果该钩子返回假, 则只在一个转换单元中被输出的虚拟表的类的类数据将不是COMDAT。
该钩子返回真(缺省情况), 如果在C++运行时定义的基本类型的RTTI信息应该总是为COMDAT,否则为假。
该钩子返回真, 如果
__aeabi_atexit
(如被ARM EABI定义)应该用于注册静态析构者, 当-fuse-cxa-atexit为有效时。缺省是返回假,使用__cxa_atexit
。