From 15e7a617a1098885541dba049335163a33a3bee6 Mon Sep 17 00:00:00 2001 From: Janis Johnson Date: Mon, 1 Mar 2010 23:29:18 +0000 Subject: sourcebuild.texi (Test directives): Clarify options to dg-skip-if. * doc/sourcebuild.texi (Test directives): Clarify options to dg-skip-if. Co-Authored-By: Daniel Jacobowitz From-SVN: r157154 --- gcc/doc/sourcebuild.texi | 54 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 8 deletions(-) (limited to 'gcc/doc') diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 4cbc36f..2c52fac 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -1021,14 +1021,52 @@ the test @end itemize @item @{ dg-skip-if @var{comment} @{ @var{selector} @} @{ @var{include-opts} @} @{ @var{exclude-opts} @} @} -Skip the test if the test system is included in @var{selector} and if -each of the options in @var{include-opts} is in the set of options with -which the test would be compiled and if none of the options in -@var{exclude-opts} is in the set of options with which the test would be -compiled. - -Use @samp{"*"} for an empty @var{include-opts} list and @samp{""} for -an empty @var{exclude-opts} list. +Arguments @var{include-opts} and @var{exclude-opts} are lists in which +each element is a string of zero or more GCC options. +Skip the test if all of the following conditions are met: +@itemize @bullet +@item the test system is included in @var{selector} + +@item for at least one of the option strings in @var{include-opts}, +every option from that string is in the set of options with which +the test would be compiled; use @samp{"*"} for an @var{include-opts} list +that matches any options + +@item for each of the option strings in @var{exclude-opts}, at least one +option from that string is not in the set of options with which the test +would be compiled; use @samp{""} for an empty @var{exclude-opts} list +@end itemize + +For example, to skip a test if option @code{-Os} is present: + +@smallexample +/* @{ dg-skip-if "" @{ *-*-* @} @{ "-Os" @} @{ "" @} @} */ +@end smallexample + +To skip a test if both options @code{-O2} and @code{-g} are present: + +@smallexample +/* @{ dg-skip-if "" @{ *-*-* @} @{ "-O2 -g" @} @{ "" @} @} */ +@end smallexample + +To skip a test if either @code{-O2} or @code{-O3} is present: + +@smallexample +/* @{ dg-skip-if "" @{ *-*-* @} @{ "-O2" "-O3" @} @{ "" @} @} */ +@end smallexample + +To skip a test unless option @code{-OS} is present: + +@smallexample +/* @{ dg-skip-if "" @{ *-*-* @} @{ "*" @} @{ "-Os" @} @} */ +@end smallexample + +To skip a test if either @code{-O2} or @code{-O3} is used with @code{-g} +but not if @code{-fpic} is also present: + +@smallexample +/* @{ dg-skip-if "" @{ *-*-* @} @{ "-O2 -g" "-O3 -g" @} @{ "-fpic" @} @} */ +@end smallexample @item @{ dg-xfail-if @var{comment} @{ @var{selector} @} @{ @var{include-opts} @} @{ @var{exclude-opts} @} @} Expect the test to fail if the conditions (which are the same as for -- cgit v1.1