这个数组在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 |
参见warn_format_zero_length |
CL_C | CL_ObjC |
-Wformat= |
警告printf/scanf/strftime/strfmon的异常格式字符串 |
CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED |
-Wimplicit |
参见warn_implicit |
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 |
参见warn_nonnull |
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= |
参见aux_info_file_name |
CL_COMMON | CL_JOINED |
-auxbase |
参见aux_base_name |
CL_COMMON | CL_SEPARATE |
-auxbase-strip |
参见aux_base_name |
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= |
参见flag_abi_version |
CL_COMMON|CL_JOINED | CL_UINTEGER |
-faccess-control |
执行类成员访问控制语义 |
CL_CXX | CL_ObjCXX |
-falign-functions |
参见align_functions |
CL_COMMON |
-falign-functions= |
参见align_functions |
CL_COMMON | CL_JOINED | CL_UINTEGER | CL_REJECT_NEGATIVE |
-falign-jumps |
参见align_jumps |
CL_COMMON |
-falign-jumps= |
参见align_jumps |
CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER |
-falign-labels |
参见align_labels |
CL_COMMON |
-falign-labels= |
参见align_labels |
CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER |
-falign-loops |
参见align_loops |
CL_COMMON |
-falign-loops= |
参见align_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 |
参见flag_unwind_tables |
CL_COMMON |
-fbounds-check |
参见flag_bounds_check |
CL_COMMON |
-fbranch-count-reg |
参见flag_branch_on_count_reg |
CL_COMMON |
-fbranch-probabilities |
参见flag_branch_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 |
参见flag_cprop_registers |
CL_COMMON |
-fcrossjumping |
参见flag_crossjumping |
CL_COMMON |
-fcse-follow-jumps |
参见flag_cse_follow_jumps |
CL_COMMON |
-fcse-skip-blocks |
参见flag_cse_skip_blocks |
CL_COMMON |
-fdata-sections |
把数据项放入自己的段 |
CL_COMMON |
-fdefault-inline |
默认地内联成员函数 |
CL_CXX | CL_ObjCXX |
-fdefer-pop |
参见flag_defer_pop |
CL_COMMON |
-fdelayed-branch |
参见flag_delayed_branch |
CL_COMMON |
-fdelete-null-pointer-checks |
参见flag_delete_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 |
参见flag_elide_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 |
参见set_fast_math_flags |
CL_COMMON |
-ffinite-math-only |
假定不会产生NaNs或无穷数 |
CL_COMMON |
-ffixed-<register> |
标记<register>为编译器不可用 |
CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE |
-ffloat-store |
不要把浮点数存入寄存器 |
CL_COMMON |
-ffor-scope |
参见flag_new_for_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 |
参见flag_guess_branch_prob |
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 |
参见flag_implicit_inline_templates |
CL_CXX | CL_ObjCXX |
-fimplicit-templates |
参见flag_implicit_templates |
CL_CXX | CL_ObjCXX |
-finhibit-size-directive |
不要生成.size指示(directive) |
CL_COMMON |
-finline |
参见flag_no_inline |
CL_COMMON |
-finline-functions |
参见flag_inline_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 |
参见flag_instrument_function_entry_exit |
CL_COMMON |
-fkeep-inline-functions |
参见flag_keep_inline_functions |
CL_COMMON |
-fkeep-static-consts |
参见flag_keep_static_consts |
CL_COMMON |
-flabels-ok |
已过时,不支持 |
CL_CXX | CL_ObjCXX |
-fleading-underscore |
给外部符号加上前导的“_” |
CL_COMMON |
-floop-optimize |
参见flag_loop_optimize |
CL_COMMON |
-fmath-errno |
在内建的数学函数后,设置errno |
CL_COMMON |
-fmem-report |
报告永久内存分配(permanent memory allocation) |
CL_COMMON |
-fmerge-all-constants |
参见flag_merge_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 |
参见flag_non_call_exceptions |
CL_COMMON |