Add -fno-sync-libcalls.
* common.opt (fsync-libcalls): New. * doc/invoke.texi: Document it. * optabs.c (init_sync_libfuncs): Honor it. From-SVN: r187017
This commit is contained in:
parent
0f2f338932
commit
e8053cf5b5
4 changed files with 24 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-05-01 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* common.opt (fsync-libcalls): New.
|
||||
* doc/invoke.texi: Document it.
|
||||
* optabs.c (init_sync_libfuncs): Honor it.
|
||||
|
||||
2012-05-01 Kenneth Zadeck <zadeck@naturalbridge.com>
|
||||
Richard Sandiford <r.sandiford@uk.ibm.com>
|
||||
|
||||
|
|
|
@ -1878,6 +1878,10 @@ fstrict-overflow
|
|||
Common Report Var(flag_strict_overflow)
|
||||
Treat signed overflow as undefined
|
||||
|
||||
fsync-libcalls
|
||||
Common Report Var(flag_sync_libcalls) Init(1)
|
||||
Implement __atomic operations via libcalls to legacy __sync functions
|
||||
|
||||
fsyntax-only
|
||||
Common Report Var(flag_syntax_only)
|
||||
Check for syntax errors, then stop
|
||||
|
|
|
@ -990,7 +990,7 @@ See S/390 and zSeries Options.
|
|||
-fno-stack-limit -fsplit-stack @gol
|
||||
-fleading-underscore -ftls-model=@var{model} @gol
|
||||
-ftrapv -fwrapv -fbounds-check @gol
|
||||
-fvisibility -fstrict-volatile-bitfields}
|
||||
-fvisibility -fstrict-volatile-bitfields -fsync-libcalls}
|
||||
@end table
|
||||
|
||||
@menu
|
||||
|
@ -19824,6 +19824,16 @@ that it is unaware of.
|
|||
The default value of this option is determined by the application binary
|
||||
interface for the target processor.
|
||||
|
||||
@item -fsync-libcalls
|
||||
@opindex fsync-libcalls
|
||||
This option controls whether any out-of-line instance of the @code{__sync}
|
||||
family of functions may be used to implement the C++11 @code{__atomic}
|
||||
family of functions.
|
||||
|
||||
The default value of this option is enabled, thus the only useful form
|
||||
of the option is @option{-fno-sync-libcalls}. This option is used in
|
||||
the implementation of the @file{libatomic} runtime library.
|
||||
|
||||
@end table
|
||||
|
||||
@c man end
|
||||
|
|
|
@ -6643,6 +6643,9 @@ init_sync_libfuncs_1 (optab tab, const char *base, int max)
|
|||
void
|
||||
init_sync_libfuncs (int max)
|
||||
{
|
||||
if (!flag_sync_libcalls)
|
||||
return;
|
||||
|
||||
init_sync_libfuncs_1 (sync_compare_and_swap_optab,
|
||||
"__sync_val_compare_and_swap", max);
|
||||
init_sync_libfuncs_1 (sync_lock_test_and_set_optab,
|
||||
|
|
Loading…
Add table
Reference in a new issue