3.3.3.1. 可用的选项
这个数组在options.c文件中初始化,其初始化值在下表中给出。这是个很长的列表。更详细的描述,可参见【8】,【6】。注意,选项是按名字排序的。
选项
| 描述 | 标识集 |
--help | 显示帮助信息 | CL_COMMON |
--output-pch= | 参见pch_file | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE |
--param <param>=<value> | 设置参数<param> 到value。(参考用于i386系统的target_switches) | CL_COMMON | CL_SEPARATE |
--target-help | 显示与目标相关的命令行选项 | CL_COMMON |
--version | 显示版本信息 | CL_COMMON |
-A<question>=<answer> | 声称<answer>给<question>。在<question>之前放置'-',对<question>屏蔽 <answer> | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE |
-C | 不丢弃注释 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-CC | 在宏展开时,不要丢弃注释 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-D<macro>[=<val>] | 定义<macro>具有<val>作为其值。如果仅有<macro>,<val>认为是1。 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE |
-E | 仅作预处理,不进行编译,汇编或链接 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_UNDOCUMENTED |
-G<number> | 把小于<number> 字节的全局及静态数据置于特殊的段(在某些目标机器上) | CL_COMMON | CL_JOINED | CL_SEPARATE | CL_UINTEGER |
-H | 输出头文件名字如果它们被使用 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-I <dir> | 把<dir>加入主要包含路径后(the end of the main include path.)。 -I- 表示不能在当前目录中查找源文件,编译命令中指定的除外。 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE |
-M | 产生make的依赖关系 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-MD | 产生make的依赖关系并编译 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_SEPARATE |
-MF <file> | 把依赖关系输出到指定文件 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE |
-MG | 把缺失的头文件视为产生的文件(generated files) | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-MM | 类似-M,但忽略系统头文件 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-MMD | 类似-MD,但忽略系统头文件 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_SEPARATE |
-MP | 对所有头文件产生phony目标 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-MQ<target> | 加入一个MAKE引用(MAKE-quoted)的目标 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE |
-MT <target> | 加入一个非引用的目标 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE |
-O | -O<number> 设置优化的级别至<number> | CL_COMMON | CL_JOINED | CL_MISSING_OK |
-Os | 为空间优化甚于速度 | CL_COMMON |
-P | 不要产生#line指示 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-U<macro> | 取消<macro>的定义 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE |
-W | 已过时,应使用-Wextra | CL_COMMON | CL_REJECT_NEGATIVE |
-Wabi | 参见warn_abi | CL_CXX | CL_ObjCXX |
-Waggregate-return | 返回结构体,联合或数组时,给出警告 | CL_COMMON |
-Wall | 使能绝大部分警告消息 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wbad-function-cast | 警告把函数转换为不相符的类型 | CL_C | CL_ObjC |
-Wcast-align | 警告增加对齐量的指针转换 | CL_COMMON |
-Wcast-qual | 警告丢失限定符的转换 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wchar-subscripts | 警告类型为char的下标 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wcomment | 警告可能的嵌套的注释块,还有跨越一个以上物理行的C++注释 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wcomments | -Wcomment的别名 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wconversion | 警告可能混乱的类型转换 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wctor-dtor-privacy | 警告所有的构造函数及析构函数为私有 | CL_CXX | CL_ObjCXX |
-Wdeclaration-after-statement | 警告一个声明跟在语句后 | CL_C | CL_ObjC |
-Wdeprecated | 警告已过时的编译器特性(compiler feature) | CL_CXX | CL_ObjCXX |
-Wdeprecated-declarations | 警告使用__attribute__((deprecated)) declarations | CL_COMMON |
-Wdisabled-optimization | 警告一个优化遍失能 | CL_COMMON |
-Wdiv-by-zero | 警告编译时的整型除0计算 | CL_C | CL_ObjC |
-Weffc++ | 警告违反C++高效风格的规则(Effective C++ style rules) | CL_CXX | CL_ObjCXX |
-Wendif-labels | 警告跟在#elif及#endif后的符号(token) | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Werror | 把所有警告作为错误处理 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_COMMON |
-Werror-implicit-function-declaration | 视函数的隐式声明为错误 | CL_C | CL_ObjC | CL_REJECT_NEGATIVE |
-Wextra | 输出额外(可能不需要的)的警告 | CL_COMMON |
-Wfloat-equal | 警告比较浮点数是否相等 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wformat | 警告printf/scanf/strftime/strfmon的异常格式字符串 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wformat-extra-args | 警告解析到的参数数目超过格式字符串所引用的数目 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wformat-nonliteral | 警告非文字的格式字符串 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wformat-security | 警告格式功能(format functions)可能导致安全问题 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wformat-y2k | 警告strftime格式产生2位数的年份 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wformat-zero-length | CL_C | CL_ObjC | |
-Wformat= | 警告printf/scanf/strftime/strfmon的异常格式字符串 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED |
-Wimplicit | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | |
-Wimplicit-function-declaration | 警告隐式函数声明 | CL_C | CL_ObjC |
-Wimplicit-int | 警告不指定类型的声明 | CL_C | CL_ObjC |
-Wimport | 已过时。该选项不起作用 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Winit-self | 警告给自身初始化的变量 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Winline | 警告不能内联的内联函数 | CL_COMMON |
-Winvalid-offsetof | 警告offset的无效使用 | CL_CXX | CL_ObjCXX |
-Winvalid-pch | 警告PCH文件找到但未被使用 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wlarger-than-<number> | 警告大于<number>字节的对象 | CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER |
-Wlong-long | 在–pedantic下,不要警告long long"的使用 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wmain | 警告可疑的main声明 | CL_C | CL_ObjC |
-Wmissing-braces | 警告初始化数据可能缺少大括号 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wmissing-declarations | 警告全局函数之前没有声明 | CL_C | CL_ObjC |
-Wmissing-format-attribute | 警告函数可能也是格式属性(format attribute)的候选者 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wmissing-noreturn | 警告函数可能也是属性 __attribute__((noreturn))的候选者 | CL_COMMON |
-Wmissing-prototypes | 警告没有原型的全局函数 | CL_C | CL_ObjC |
-Wmultichar | 警告使用多个字符的字符常量 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wnested-externs | 警告extern声明不在文件域 | CL_C | CL_ObjC |
-Wnon-template-friend | 警告在模板中声明非模板化(non-templatized)的友元函数 | CL_CXX | CL_ObjCXX |
-Wnon-virtual-dtor | 警告非虚析构函数(non-virtual destructor) | CL_CXX | CL_ObjCXX |
-Wnonnull | CL_C | CL_ObjC | |
-Wold-style-cast | 警告使用了C风格的转换 | CL_CXX | CL_ObjCXX |
-Wold-style-definition | 警告使用了旧式的参数定义 | CL_C | CL_ObjC |
-Woverloaded-virtual | 警告重载虚函数名 | CL_CXX | CL_ObjCXX |
-Wpacked | 警告packed属性对struct布局没有作用 | CL_COMMON |
-Wpadded | 警告对齐结构成员需要填充 | CL_COMMON |
-Wparentheses | 警告可能缺少括号 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wpmf-conversions | 警告把指针的类型转换为成员函数类型 | CL_CXX | CL_ObjCXX |
-Wpointer-arith | 警告对函数指针进行数学计算 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wprotocol | 警告继承的方法没有实现 | CL_ObjC | CL_ObjCXX |
-Wredundant-decls | 警告同一对象多次声明 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wreorder | 警告编译器重排代码 | CL_CXX | CL_ObjCXX |
-Wreturn-type | 警告函数的返回类型默认为int(C),或者返回类型不一致(C++) | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wsequence-point | 警告可能违反序列点(sequence point)规则 | CL_C | CL_ObjC |
-Wshadow | 警告一个局部变量掩盖(shadow)另一个 | CL_COMMON |
-Wsign-compare | 警告有符号无符号之间的比较 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wsign-promo | 警告重载把有符号提升为无符号 | CL_CXX | CL_ObjCXX |
-Wstrict-aliasing | 警告代码可能违反严格别名规则(strict aliasing rule) | CL_COMMON |
-Wstrict-prototypes | 警告函数声明或定义时未指明参数类型 | CL_C | CL_ObjC |
-Wswitch | 警告枚举的switch块中没有default,并缺少某个case | CL_COMMON |
-Wswitch-default | 警告switch块中没有default | CL_COMMON |
-Wswitch-enum | 警告枚举的switch块中缺少某个case | CL_COMMON |
-Wsynth | 警告综合的行为异于Cfront | CL_CXX | CL_ObjCXX |
-Wsystem-headers | 不压制系统头文件中的警告 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_COMMON |
-Wtraditional | 警告不属于传统C的特性 | CL_C | CL_ObjC |
-Wtrigraphs | 警告可能改变程序含义的三字符词(trigraphs) | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wundef | 警告在#if指示中使用未定义的宏 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wuninitialized | 警告未初始化的自动变量 | CL_COMMON |
-Wunknown-pragmas | 警告不能识别的pragmas | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wunreachable-code | 警告不会被执行的代码 | CL_COMMON |
-Wunused | 使能所有-Wunused-警告 | CL_COMMON |
-Wunused-function | 警告函数未使用 | CL_COMMON |
-Wunused-label | 警告标签(label)未使用 | CL_COMMON |
-Wunused-macros | 警告定义于主文件(main file)的宏未使用 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-Wunused-parameter | 警告函数参数未使用 | CL_COMMON |
-Wunused-value | 警告表达式值未使用 | CL_COMMON |
-Wunused-variable | 警告变量未使用 | CL_COMMON |
-Wwrite-strings | 给予字符串的类型为“char数组” | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-ansi | 等同于-std=c89(对于C)或者-std=c++98(对于C++) | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-aux-info<file> | 导出声明信息至<file> | CL_COMMON | CL_SEPARATE |
-aux-info= | CL_COMMON | CL_JOINED | |
-auxbase | CL_COMMON | CL_SEPARATE | |
-auxbase-strip | CL_COMMON | CL_SEPARATE | |
-d<letters> | 使能从编译器特定的遍(pass)中转储(dump) | CL_C | CL_CXX | CL_ObjC |CL_ObjCXX|CL_COMMON | CL_JOINED |
-dumpbase<file> | 把文件<file>的基本名用于转储 | CL_COMMON | CL_SEPARATE |
-fPIC | 参见flag_pic | CL_COMMON |
-fPIE | 参见flag_pie | CL_COMMON |
-fabi-version= | CL_COMMON|CL_JOINED | CL_UINTEGER | |
-faccess-control | 执行类成员访问控制语义 | CL_CXX | CL_ObjCXX |
-falign-functions | CL_COMMON | |
-falign-functions= | CL_COMMON | CL_JOINED | CL_UINTEGER | CL_REJECT_NEGATIVE | |
-falign-jumps | CL_COMMON | |
-falign-jumps= | CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER | |
-falign-labels | CL_COMMON | |
-falign-labels= | CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER | |
-falign-loops | CL_COMMON | |
-falign-loops= | CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER | |
-fall-virtual | 已过时,不支持 | CL_CXX | CL_ObjCXX |
-falt-external-templates | 已过时,不支持 | CL_CXX | CL_ObjCXX |
-fargument-alias | 指明参数可能互为别名(alias)及为全局对象的别名 | CL_COMMON |
-fargument-noalias | 指明参数可能为全局对象的别名,但不会互为别名(alias) | CL_COMMON |
-fargument-noalias-global | 假定参数不为其他对象的别名 | CL_COMMON |
-fasm | 识别关键字asm | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-fasynchronous-unwind-tables | CL_COMMON | |
-fbounds-check | CL_COMMON | |
-fbranch-count-reg | CL_COMMON | |
-fbranch-probabilities | CL_COMMON | |
-fbranch-target-load-optimize | 在序言/结尾线程(prologue / epilogue threading)前执行跳转目的加载优化(branch target load optimization) | CL_COMMON |
-fbranch-target-load-optimize2 | 在序言/结尾线程(prologue / epilogue threading)后执行跳转目的加载优化(branch target load optimization) | CL_COMMON |
-fbuiltin | 识别内建函数 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-fbuiltin-<function> | 禁止指定的内建函数<function> | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED |
-fcall-saved-<register> | 标记<register>在函数过程中其值保留 | CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE |
-fcall-used-<register> | 标记<register>被函数调用所破坏 | CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE |
-fcaller-saves | 在函数调用前后保存/恢复寄存器 | CL_COMMON |
-fcheck-new | 检查new返回的值 | CL_CXX | CL_ObjCXX |
-fcommon | 不要把未初始化的全局数据放在公共段(common section) | CL_COMMON |
-fcond-mismatch | 允许?操作符的参数为不同类型 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-fconserve-space | 减少目标文件的大小 | CL_CXX | CL_ObjCXX |
-fconst-strings | 使得字符串(string literals)为const char[]而不是char[] | CL_CXX | CL_ObjCXX |
-fcprop-registers | CL_COMMON | |
-fcrossjumping | CL_COMMON | |
-fcse-follow-jumps | CL_COMMON | |
-fcse-skip-blocks | CL_COMMON | |
-fdata-sections | 把数据项放入自己的段 | CL_COMMON |
-fdefault-inline | 默认地内联成员函数 | CL_CXX | CL_ObjCXX |
-fdefer-pop | CL_COMMON | |
-fdelayed-branch | CL_COMMON | |
-fdelete-null-pointer-checks | CL_COMMON | |
-fdiagnostics-show-location=[once|every-line] | 自动换行(line-wrapped)诊断信息头部的源位置信息的输出频率 | CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE |
-fdollars-in-identifiers | 允许$用于标识符(identifier | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-fdump-<type> | 转储编译器各种内部态到一个文件 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_REJECT_NEGATIVE |
-fdump-unnumbered | 压制在调试转储中输出指令号和行号 | CL_COMMON |
-felide-constructors | CL_CXX | CL_ObjCXX | |
-feliminate-dwarf2-dups | 执行DWARF2的重复消除 | CL_COMMON |
-feliminate-unused-debug-symbols | 只为使用的符号产生调试信息 | CL_COMMON |
-feliminate-unused-debug-types | 消除在调试信息中未使用类型 | CL_COMMON |
-fenforce-eh-specs | 产生代码检查异常规范(exception specifications) | CL_CXX | CL_ObjCXX |
-fenum-int-equiv | 已过时,不支持 | CL_CXX | CL_ObjCXX |
-fexceptions | 使能异常处理 | CL_COMMON |
-fexec-charset=<cset> | 将所有字符串及字符常量转换到字符集<cset> | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_REJECT_NEGATIVE |
-fexpensive-optimizations | 执行某些次要,代价昂贵的优化 | CL_COMMON |
-fexternal-templates | 已过时,不支持 | CL_CXX | CL_ObjCXX |
-ffast-math | CL_COMMON | |
-ffinite-math-only | 假定不会产生NaNs或无穷数 | CL_COMMON |
-ffixed-<register> | 标记<register>为编译器不可用 | CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE |
-ffloat-store | 不要把浮点数存入寄存器 | CL_COMMON |
-ffor-scope | CL_CXX | CL_ObjCXX | |
-fforce-addr | 内存地址常量使用前拷入寄存器 | CL_COMMON |
-fforce-mem | 内存操作数使用前拷入寄存器 | CL_COMMON |
-ffreestanding | 不要假定标准C库和main存在 | CL_C | CL_ObjC |
-ffunction-cse | 允许函数地址被保持在寄存器 | CL_COMMON |
-ffunction-sections | 把每个函数放入自己的段 | CL_COMMON |
-fgcse | 执行全局公共子表达式消除 | CL_COMMON |
-fgcse-las | 全局公共子表达式消除遍将消除,跟在存入内存操作后,对同一地址的重复加载(部分及完全重复) | CL_COMMON |
-fgcse-lm | 全局公共子表达式消除力图移动只被向自己存入而作废的加载(loads which are only killed by stores into themselves)。这使得包含一个加载/存入序列的循环可以被变换为加载在循环外,而拷贝/存入在循环内 | CL_COMMON |
-fgcse-sm | 在全局公共子表达式消除遍后,运行一次store motion遍。这个遍试图把存入移出循环。当和-fgcse-lm一起使用,包含一个加载/存入序列的循环可以被变换为,在循环前加载,在循环后存入。 | CL_COMMON |
-fgnu-keywords | 识别GNU定义的关键字 | CL_CXX | CL_ObjCXX |
-fguess-branch-probability | CL_COMMON | |
-fguiding-decls | 已过时,不支持 | CL_CXX | CL_ObjCXX |
-fhandle-exceptions | 重命名为-fexceptions | CL_CXX | CL_ObjCXX |
-fhonor-std | 已过时,不支持 | CL_CXX | CL_ObjCXX |
-fhosted | 假定为普通的C执行环境 | CL_C | CL_ObjC |
-fhuge-objects | 使能大对象支持 | CL_CXX | CL_ObjCXX |
-fident | 处理#ident指示 | CL_COMMON |
-fif-conversion | 将条件跳转转换为等同的非分枝语句(branchless equivalent)。这包括使用条件移动、最小、最大、标识设置及绝对值指令,和标准算术中可行的技巧。使用芯片上可用的条件执行由if-conversion2控制 | CL_COMMON |
-fif-conversion2 | 把条件跳转转换为条件执行 | CL_COMMON |
-fimplement-inlines | 即便函数是内联的,也把它导出(export) | CL_CXX | CL_ObjCXX |
-fimplicit-inline-templates | CL_CXX | CL_ObjCXX | |
-fimplicit-templates | CL_CXX | CL_ObjCXX | |
-finhibit-size-directive | 不要生成.size指示(directive) | CL_COMMON |
-finline | CL_COMMON | |
-finline-functions | CL_COMMON | |
-finline-limit-<number> | 参见表用于i386系统的target_switches:max-inline-insns-single,max-inline-insns-auto,max-inline-insns-rtl | CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER |
-finline-limit=<number> | ||
-finput-charset=<cset> | 指明源文件的默认字符集 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_REJECT_NEGATIVE |
-finstrument-functions | CL_COMMON | |
-fkeep-inline-functions | CL_COMMON | |
-fkeep-static-consts | CL_COMMON | |
-flabels-ok | 已过时,不支持 | CL_CXX | CL_ObjCXX |
-fleading-underscore | 给外部符号加上前导的“_” | CL_COMMON |
-floop-optimize | CL_COMMON | |
-fmath-errno | 在内建的数学函数后,设置errno | CL_COMMON |
-fmem-report | 报告永久内存分配(permanent memory allocation) | CL_COMMON |
-fmerge-all-constants | CL_COMMON | |
-fmerge-constants | ||
-fmessage-length=<number> | 限制诊断信息为<number>个字符每行。0则禁止自动换行 | CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER |
-fmove-all-movables | 强制把所有循环不变量(loop invariant)的计算移出循环 | CL_COMMON |
-fms-extensions | 不警告使用Microsoft扩展 | CL_C | CL_CXX | CL_ObjC | CL_ObjCXX |
-fname-mangling-version- | 已过时,不支持 | CL_CXX | CL_ObjCXX | CL_JOINED |
-fnew-abi | 已过时,不支持 | CL_CXX | CL_ObjCXX |
-fnew-ra | 使用图-着色寄存器分配(graph-coloring register allocation) | CL_COMMON |
-fnon-call-exceptions | CL_COMMON |