Print this page
Implement -fstrict-calling-conventions
Stock GCC is overly willing to violate the ABI when calling local functions,
such that it passes arguments in registers on i386.  This hampers debugging
with anything other than a fully-aware DWARF debugger, and is generally not
something we desire.
Implement a flag which disables this behaviour, enabled by default.  The flag is
global, though only effective on i386, to more easily allow its globalization
later which, given the odds, is likely to be necessary.


1091 fstack-protector
1092 Common Report Var(flag_stack_protect, 1)
1093 Use propolice as a stack protection method
1094 
1095 fstack-protector-all
1096 Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
1097 Use a stack protection method for every function
1098 
1099 fstrength-reduce
1100 Common
1101 Does nothing.  Preserved for backward compatibility.
1102 
1103 ; Nonzero if we should do (language-dependent) alias analysis.
1104 ; Typically, this analysis will assume that expressions of certain
1105 ; types do not alias expressions of certain other types.  Only used
1106 ; if alias analysis (in general) is enabled.
1107 fstrict-aliasing
1108 Common Report Var(flag_strict_aliasing) Optimization
1109 Assume strict aliasing rules apply
1110 




1111 fstrict-overflow
1112 Common Report Var(flag_strict_overflow)
1113 Treat signed overflow as undefined
1114 
1115 fsyntax-only
1116 Common Report Var(flag_syntax_only)
1117 Check for syntax errors, then stop
1118 
1119 ftest-coverage
1120 Common Report Var(flag_test_coverage)
1121 Create data files needed by \"gcov\"
1122 
1123 fthread-jumps
1124 Common Report Var(flag_thread_jumps) Optimization
1125 Perform jump threading optimizations
1126 
1127 ftime-report
1128 Common Report Var(time_report)
1129 Report the time taken by each compiler pass
1130 




1091 fstack-protector
1092 Common Report Var(flag_stack_protect, 1)
1093 Use propolice as a stack protection method
1094 
1095 fstack-protector-all
1096 Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
1097 Use a stack protection method for every function
1098 
1099 fstrength-reduce
1100 Common
1101 Does nothing.  Preserved for backward compatibility.
1102 
1103 ; Nonzero if we should do (language-dependent) alias analysis.
1104 ; Typically, this analysis will assume that expressions of certain
1105 ; types do not alias expressions of certain other types.  Only used
1106 ; if alias analysis (in general) is enabled.
1107 fstrict-aliasing
1108 Common Report Var(flag_strict_aliasing) Optimization
1109 Assume strict aliasing rules apply
1110 
1111 fstrict-calling-conventions
1112 Common Report Var(flag_strict_calling_conventions) Init(1)
1113 Use strict ABI calling conventions even for static functions
1114 
1115 fstrict-overflow
1116 Common Report Var(flag_strict_overflow)
1117 Treat signed overflow as undefined
1118 
1119 fsyntax-only
1120 Common Report Var(flag_syntax_only)
1121 Check for syntax errors, then stop
1122 
1123 ftest-coverage
1124 Common Report Var(flag_test_coverage)
1125 Create data files needed by \"gcov\"
1126 
1127 fthread-jumps
1128 Common Report Var(flag_thread_jumps) Optimization
1129 Perform jump threading optimizations
1130 
1131 ftime-report
1132 Common Report Var(time_report)
1133 Report the time taken by each compiler pass
1134