Hi!

On 2020-06-23T13:21:05+0200, I wrote:
> On 2020-05-22T17:03:01-0400, Jason Merrill via Gcc-patches 
> <gcc-patches@gcc.gnu.org> wrote:
>> [...]
>>
>> This issue suggests that we should be running the ubsan tests in multiple
>> standard modes like the rest of the G++ testsuite, so I've made that change
>> as well.
>
>> --- a/gcc/testsuite/g++.dg/ubsan/ubsan.exp
>> +++ b/gcc/testsuite/g++.dg/ubsan/ubsan.exp
>> @@ -26,7 +26,7 @@ ubsan_init
>>
>>  # Main loop.
>>  if [check_effective_target_fsanitize_undefined] {
>> -  gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.C 
>> $srcdir/c-c++-common/ubsan/*.c]] "" ""
>> +  g++-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.C 
>> $srcdir/c-c++-common/ubsan/*.c]] "" ""
>>  }
>
> Hmm, but that means that testing is now no longer running the
> "optimization options torture testing":
>
>     Running [...]/source-gcc/gcc/testsuite/g++.dg/ubsan/ubsan.exp ...
>     -PASS: c-c++-common/ubsan/align-1.c   -O0  (test for excess errors)
>     -PASS: c-c++-common/ubsan/align-1.c   -O0  execution test
>     -PASS: c-c++-common/ubsan/align-1.c   -O1  (test for excess errors)
>     -PASS: c-c++-common/ubsan/align-1.c   -O1  execution test
>     -PASS: c-c++-common/ubsan/align-1.c   -O2  (test for excess errors)
>     -PASS: c-c++-common/ubsan/align-1.c   -O2  execution test
>     -PASS: c-c++-common/ubsan/align-1.c   -O2 -flto -fno-use-linker-plugin 
> -flto-partition=none  (test for excess errors)
>     -PASS: c-c++-common/ubsan/align-1.c   -O2 -flto -fno-use-linker-plugin 
> -flto-partition=none  execution test
>     -PASS: c-c++-common/ubsan/align-1.c   -O2 -flto -fuse-linker-plugin 
> -fno-fat-lto-objects  (test for excess errors)
>     -PASS: c-c++-common/ubsan/align-1.c   -O2 -flto -fuse-linker-plugin 
> -fno-fat-lto-objects  execution test
>     -PASS: c-c++-common/ubsan/align-1.c   -O3 -g  (test for excess errors)
>     -PASS: c-c++-common/ubsan/align-1.c   -O3 -g  execution test
>     -PASS: c-c++-common/ubsan/align-1.c   -Os  (test for excess errors)
>     -PASS: c-c++-common/ubsan/align-1.c   -Os  execution test
>     +PASS: c-c++-common/ubsan/align-1.c  -std=gnu++14 (test for excess errors)
>     +PASS: c-c++-common/ubsan/align-1.c  -std=gnu++14 execution test
>     +PASS: c-c++-common/ubsan/align-1.c  -std=gnu++17 (test for excess errors)
>     +PASS: c-c++-common/ubsan/align-1.c  -std=gnu++17 execution test
>     +PASS: c-c++-common/ubsan/align-1.c  -std=gnu++2a (test for excess errors)
>     +PASS: c-c++-common/ubsan/align-1.c  -std=gnu++2a execution test
>     +PASS: c-c++-common/ubsan/align-1.c  -std=gnu++98 (test for excess errors)
>     +PASS: c-c++-common/ubsan/align-1.c  -std=gnu++98 execution test
>
> Etc.
>
> Not sure if that was intentional?  I suppose this removed way more
> testsuite coverage compared to what different C++ '-std=[...]' add?

Any comments/ideas here?

Note that 'g++.dg/asan/asan.exp', 'g++.dg/tsan/tsan.exp' also use
'gcc-dg-runtest' ("optimization options" variation), not 'g++-dg-runtest'
("C++ '-std=[...]'" variation).


Grüße
 Thomas


>> The testcase changes are all to accommodate that.
>
>>  /* { dg-options "-fsanitize=bounds -Wno-array-bounds" } */
>> +/* { dg-options "-fsanitize=bounds -Wno-array-bounds -Wno-volatile" { 
>> target c++ } } */
>
> Simpler would've been (untested):
>
>     +/* { dg-additional-options "-Wno-volatile" { target c++ } } */
>
> Etc.
>
> ;-)
>
>
> Grüße
>  Thomas
-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander 
Walter

Reply via email to