aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2007-08-07 23:44:59 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2007-08-07 23:44:59 +0000
commit8d5a7d1f8e00bf65bce222eb81a3f9efef74a36c (patch)
tree5dedb48ab335a56b7d0176746501250ce787dd2b /gcc/doc
parentd4fd3465b63ef4d5e4c7d0d894dc6d69e7f54103 (diff)
downloadgcc-8d5a7d1f8e00bf65bce222eb81a3f9efef74a36c.zip
gcc-8d5a7d1f8e00bf65bce222eb81a3f9efef74a36c.tar.gz
gcc-8d5a7d1f8e00bf65bce222eb81a3f9efef74a36c.tar.bz2
common.opt (finstrument-functions-exclude-function-list): New option.
./: * common.opt (finstrument-functions-exclude-function-list): New option. (finstrument-functions-exclude-file-list): New option. * opts.c (char_p): Define and DEF_VEC. (flag_instrument_functions_exclude_functions): New static variable. (flag_instrument_functions_exclude_files): New static variable. (add_instrument_functions_exclude_list): New static function. (flag_instrument_functions_exclude_p): New function. (common_handle_option): Handle new options. * flags.h (flag_instrument_functions_exclude_p): Declare. * gimplify.c (gimplify_function_tree): Call flag_instrument_functions_exclude_p. * doc/invoke.texi (Option Summary): Mention new options. (Code Gen Options): Document new options. testsuite/: * gcc.dg/instrument-1.c: New test. * gcc.dg/instrument-2.c: New test. * gcc.dg/instrument-3.c: New test. From-SVN: r127284
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/invoke.texi33
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 233dad3..57b7e73 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -810,6 +810,8 @@ See S/390 and zSeries Options.
-fnon-call-exceptions -funwind-tables @gol
-fasynchronous-unwind-tables @gol
-finhibit-size-directive -finstrument-functions @gol
+-finstrument-functions-exclude-function-list=@var{sym},@var{sym},@dots{} @gol
+-finstrument-functions-exclude-file-list=@var{file},@var{file},@dots{} @gol
-fno-common -fno-ident @gol
-fpcc-struct-return -fpic -fPIC -fpie -fPIE @gol
-fno-jump-tables @gol
@@ -14681,6 +14683,37 @@ interrupt routines, and any functions from which the profiling functions
cannot safely be called (perhaps signal handlers, if the profiling
routines generate output or allocate memory).
+@item -finstrument-functions-exclude-file-list=@var{file},@var{file},@dots{}
+@opindex finstrument-functions-exclude-file-list
+
+Set the list of functions that are excluded from instrumentation (see
+the description of @code{-finstrument-functions}). If the file that
+contains a function definition matches with one of @var{file}, then
+that function is not instrumented. The match is done on substrings:
+if the @var{file} parameter is a substring of the file name, it is
+considered to be a match.
+
+For example,
+@code{-finstrument-functions-exclude-file-list=/bits/stl,include/sys}
+will exclude any inline function defined in files whose pathnames
+contain @code{/bits/stl} or @code{include/sys}.
+
+If, for some reason, you want to include letter @code{','} in one of
+@var{sym}, write @code{'\,'}. For example,
+@code{-finstrument-functions-exclude-file-list='\,\,tmp'}
+(note the single quote surrounding the option).
+
+@item -finstrument-functions-exclude-function-list=@var{sym},@var{sym},@dots{}
+@opindex finstrument-functions-exclude-function-list
+
+This is similar to @code{-finstrument-functions-exclude-file-list},
+but this option sets the list of function names to be excluded from
+instrumentation. The function name to be matched is its user-visible
+name, such as @code{vector<int> blah(const vector<int> &)}, not the
+internal mangled name (e.g., @code{_Z4blahRSt6vectorIiSaIiEE}). The
+match is done on substrings: if the @var{sym} parameter is a substring
+of the function name, it is considered to be a match.
+
@item -fstack-check
@opindex fstack-check
Generate code to verify that you do not go beyond the boundary of the