diff options
author | Tom de Vries <tdevries@suse.de> | 2020-09-24 10:49:02 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2020-09-25 09:06:12 +0200 |
commit | fa91ca7f506b162d5f0afcffd2d7d562da6aa7fa (patch) | |
tree | 03deac5eed11153302fb4bed584d615681af2a76 | |
parent | a2b7397b501378815d1b6c5beb7cbda21f2e4ad7 (diff) | |
download | gcc-fa91ca7f506b162d5f0afcffd2d7d562da6aa7fa.zip gcc-fa91ca7f506b162d5f0afcffd2d7d562da6aa7fa.tar.gz gcc-fa91ca7f506b162d5f0afcffd2d7d562da6aa7fa.tar.bz2 |
[testsuite] Add effective target ident_directive
On nvptx we run into:
...
FAIL: c-c++-common/ident-1b.c -Wc++-compat scan-assembler GCC:
FAIL: c-c++-common/ident-2b.c -Wc++-compat scan-assembler GCC:
...
Using a scan-assembler directive adds -fno-indent to the compile options.
The test c-c++-common/ident-1b.c adds dg-options "-fident", and intends to
check that the -fident overrides the -fno-indent, by means of the
scan-assembler. But for nvptx, there's no .ident directive, both with -fident
and -fno-ident.
Fix this by adding an effective target ident_directive, and requiring
it in both test-cases.
Tested on nvptx and x86_64.
gcc/testsuite/ChangeLog:
2020-09-24 Tom de Vries <tdevries@suse.de>
* lib/target-supports.exp (check_effective_target_ident_directive): New proc.
* c-c++-common/ident-1b.c: Require effective target ident_directive.
* c-c++-common/ident-2b.c: Same.
-rw-r--r-- | gcc/testsuite/c-c++-common/ident-1b.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/ident-2b.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 9 |
3 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/ident-1b.c b/gcc/testsuite/c-c++-common/ident-1b.c index 6956744..b8b83e6 100644 --- a/gcc/testsuite/c-c++-common/ident-1b.c +++ b/gcc/testsuite/c-c++-common/ident-1b.c @@ -2,6 +2,7 @@ * Make sure scan-assembler turns off .ident unless -fident in testcase */ /* { dg-do compile } */ /* { dg-options "-fident" } */ +/* { dg-require-effective-target ident_directive }*/ int i; /* { dg-final { scan-assembler "GCC: " { xfail { { hppa*-*-hpux* && { ! lp64 } } || { powerpc-ibm-aix* || powerpc*-*-darwin* } } } } } */ diff --git a/gcc/testsuite/c-c++-common/ident-2b.c b/gcc/testsuite/c-c++-common/ident-2b.c index fae6a03..52f0693 100644 --- a/gcc/testsuite/c-c++-common/ident-2b.c +++ b/gcc/testsuite/c-c++-common/ident-2b.c @@ -2,6 +2,7 @@ * Make sure scan-assembler-times turns off .ident unless -fident in testcase */ /* { dg-do compile } */ /* { dg-options "-fident" } */ +/* { dg-require-effective-target ident_directive }*/ int ident; /* { dg-final { scan-assembler "GCC: " { xfail { { hppa*-*-hpux* && { ! lp64 } } || { powerpc-ibm-aix* || powerpc*-*-darwin* } } } } } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 5cbe32f..0a00972 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -10510,3 +10510,12 @@ proc check_symver_available { } { } }] } + +# Return 1 if emitted assembly contains .ident directive. + +proc check_effective_target_ident_directive {} { + return [check_no_messages_and_pattern ident_directive \ + "(?n)^\[\t\]+\\.ident" assembly { + int i; + }] +} |