* [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. @ 2015-08-27 23:09 Jonathan Roelofs 2015-09-03 16:16 ` Jonathan Roelofs 0 siblings, 1 reply; 11+ messages in thread From: Jonathan Roelofs @ 2015-08-27 23:09 UTC (permalink / raw) To: gcc-patches [-- Attachment #1: Type: text/plain, Size: 1294 bytes --] The attached patch makes the ubsan tests agnostic to ansi escape codes in their diagnostic output. Tested on an x86_64-linux-gnu target. 2015-08-27 Jonathan Roelofs <jonathan@codesourcery.com> * c-c++-common/ubsan/align-2.c: Don't be picky about ansi escape codes in diagnostics. * c-c++-common/ubsan/align-4.c: Ditto. * c-c++-common/ubsan/align-6.c: Ditto. * c-c++-common/ubsan/align-7.c: Ditto. * c-c++-common/ubsan/align-9.c: Ditto. * c-c++-common/ubsan/float-cast-overflow-2.c: Ditto. * c-c++-common/ubsan/float-cast-overflow-8.c: Ditto. * c-c++-common/ubsan/object-size-1.c: Ditto. * c-c++-common/ubsan/object-size-10.c: Ditto. * c-c++-common/ubsan/object-size-4.c: Ditto. * c-c++-common/ubsan/object-size-5.c: Ditto. * c-c++-common/ubsan/object-size-7.c: Ditto. * c-c++-common/ubsan/object-size-8.c: Ditto. * c-c++-common/ubsan/object-size-9.c: Ditto. * c-c++-common/ubsan/overflow-int128.c: Ditto. * c-c++-common/ubsan/pr63802.c: Ditto. I do not have write access, so I'll need someone to commit this for me if it is approved. Cheers, Jon -- Jon Roelofs jonathan@codesourcery.com CodeSourcery / Mentor Embedded [-- Attachment #2: relax_ubsan_tests.diff --] [-- Type: text/plain, Size: 42471 bytes --] Index: gcc/testsuite/c-c++-common/ubsan/align-2.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/align-2.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/align-2.c (working copy) @@ -46,11 +46,11 @@ return 0; } -/* { dg-output "\.c:(14|15):\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ -/* { dg-output "\.c:16:\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:(13|16):\[0-9]*: \[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ -/* { dg-output "\.c:23:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:(29|30):\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:30:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:31:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:37:\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment" } */ +/* { dg-output "\.c:(14|15):\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ +/* { dg-output "\.c:16:\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:(13|16):\[0-9]*:\[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ +/* { dg-output "\.c:23:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:(29|30):\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:30:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:31:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:37:\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment" } */ Index: gcc/testsuite/c-c++-common/ubsan/align-6.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/align-6.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/align-6.c (working copy) @@ -26,8 +26,8 @@ return 0; } -/* { dg-output "\.c:14:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:15:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:16:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:17:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:18:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:14:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:15:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:16:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:17:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:18:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ Index: gcc/testsuite/c-c++-common/ubsan/pr63802.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/pr63802.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/pr63802.c (working copy) @@ -20,4 +20,4 @@ return 0; } -/* { dg-output "\.c:18:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct test_struct', which requires 64 byte alignment.*" } */ +/* { dg-output "\.c:18:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct test_struct', which requires 64 byte alignment.*" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-7.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-7.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-7.c (working copy) @@ -24,6 +24,6 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-10.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-10.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-10.c (working copy) @@ -21,7 +21,7 @@ /* { dg-output "index 128 out of bounds for type 'char \\\[128\\\]'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -41,7 +41,7 @@ /* { dg-output "\[^\n\r]*index 128 out of bounds for type 'int \\\[128\\\]'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -54,7 +54,7 @@ /* { dg-output "\[^\n\r]*index 128 out of bounds for type 'int \\\[128\\\]'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/align-7.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/align-7.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/align-7.c (working copy) @@ -28,6 +28,6 @@ return 0; } -/* { dg-output "\.c:16:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:16:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ /* { dg-final { scan-tree-dump-times "Optimizing" 4 "sanopt"} } */ /* { dg-final { cleanup-tree-dump "sanopt" } } */ Index: gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-8.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-8.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-8.c (working copy) @@ -100,7 +100,7 @@ /* float */ /* { dg-output "value -129 is outside the range of representable values of type 'signed char'\[^\n\r]*(\n|\r\n|\r)" { target { ilp32 || lp64 } } } */ -/* { dg-output "value \[0-9.e+-]* is outside the range of representable values of type 'signed char'\[^\n\r]*(\n|\r\n|\r)" { target { ! { ilp32 || lp64 } } } } */ +/* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'signed char'\[^\n\r]*(\n|\r\n|\r)" { target { ! { ilp32 || lp64 } } } } */ /* { dg-output "\[^\n\r]*value 128 is outside the range of representable values of type 'signed char'\[^\n\r]*(\n|\r\n|\r)" { target { ilp32 || lp64 } } } */ /* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'signed char'\[^\n\r]*(\n|\r\n|\r)" { target { ! { ilp32 || lp64 } } } } */ /* { dg-output "\[^\n\r]*value (-129|-1) is outside the range of representable values of type 'char'\[^\n\r]*(\n|\r\n|\r)" { target { ilp32 || lp64 } } } */ @@ -198,8 +198,8 @@ /* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'long long int'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'long long int'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*value -1 is outside the range of representable values of type 'long long unsigned int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'long long unsigned int'" } */ -/* { dg-output "(\n|\r\n|\r)\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" { target { int128 } } } */ +/* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'long long unsigned int'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" { target { int128 } } } */ +/* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" { target { int128 } } } */ /* { dg-output "\[^\n\r]*value -1 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" { target { int128 } } } */ /* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type '__int128 unsigned'" { target { int128 } } } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-4.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-4.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-4.c (working copy) @@ -22,10 +22,10 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-8.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-8.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-8.c (working copy) @@ -27,6 +27,6 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/align-4.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/align-4.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/align-4.c (working copy) @@ -4,11 +4,11 @@ #include "align-2.c" -/* { dg-output "\.c:(14|15):\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:16:\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:(13|16):\[0-9]*: \[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:23:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:(29|30):\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:30:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:31:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:37:\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment" } */ +/* { dg-output "\.c:(14|15):\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:16:\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:(13|16):\[0-9]*:\[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:23:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:(29|30):\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:30:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:31:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:37:\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment" } */ Index: gcc/testsuite/c-c++-common/ubsan/overflow-int128.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/overflow-int128.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/overflow-int128.c (working copy) @@ -35,13 +35,13 @@ return 0; } -/* { dg-output "signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\+ 1 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 1 \\+ 0x7fffffffffffffffffffffffffffffff cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\+ 1 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffff9b \\+ 1024 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: -1 \\+ 0x80000000000000000000000000000000 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000000 \\+ -1 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000000 - 1 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000064 \\+ -1024 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\* 2 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ +/* { dg-output "signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\+ 1 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 1 \\+ 0x7fffffffffffffffffffffffffffffff cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\+ 1 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffff9b \\+ 1024 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: -1 \\+ 0x80000000000000000000000000000000 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000000 \\+ -1 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000000 - 1 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000064 \\+ -1024 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\* 2 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*negation of 0x80000000000000000000000000000000 cannot be represented in type '__int128'; cast to an unsigned type to negate this value to itself\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-1.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-1.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-1.c (working copy) @@ -22,19 +22,19 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -54,19 +54,19 @@ } /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -82,11 +82,11 @@ } /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -100,7 +100,7 @@ } /* { dg-output "\[^\n\r]*store to address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-5.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-5.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-5.c (working copy) @@ -21,11 +21,11 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-9.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-9.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-9.c (working copy) @@ -22,7 +22,7 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -37,7 +37,7 @@ /* { dg-output "\[^\n\r]*index 12 out of bounds for type 'char \\\[8\\\]'\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ /* { dg-output "\[^\n\r]*store to address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ @@ -52,7 +52,7 @@ } /* { dg-output "\[^\n\r]*store to address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ @@ -66,7 +66,7 @@ /* { dg-output "\[^\n\r]*index 12 out of bounds for type 'U \\\[10\\\]'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'unsigned int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -79,7 +79,7 @@ } /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'unsigned int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/align-9.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/align-9.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/align-9.c (working copy) @@ -17,5 +17,5 @@ return 0; } -/* { dg-output "\.c:8:\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'const long int', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:8:\[0-9]*: \[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'long int', which requires \[48] byte alignment" } */ +/* { dg-output "\.c:8:\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'const long int', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:8:\[0-9]*:\[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'long int', which requires \[48] byte alignment" } */ Index: gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-2.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-2.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-2.c (working copy) @@ -30,44 +30,44 @@ return 0; } -/* { dg-output "runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value nan is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -?nan is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value inf is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -inf is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -5 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -1.5 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -1 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value nan is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -?nan is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value inf is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -inf is outside the range of representable values of type '__int128 unsigned'" } */ +/* { dg-output "runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value nan is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -?nan is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value inf is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -inf is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -5 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -1.5 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -1 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value nan is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -?nan is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value inf is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -inf is outside the range of representable values of type '__int128 unsigned'" } */ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. 2015-08-27 23:09 [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics Jonathan Roelofs @ 2015-09-03 16:16 ` Jonathan Roelofs 2015-09-03 16:18 ` Jakub Jelinek 0 siblings, 1 reply; 11+ messages in thread From: Jonathan Roelofs @ 2015-09-03 16:16 UTC (permalink / raw) To: gcc-patches, kcc, Mike Stump +kcc, mrs Ping On 8/27/15 4:44 PM, Jonathan Roelofs wrote: > The attached patch makes the ubsan tests agnostic to ansi escape codes > in their diagnostic output. > > Tested on an x86_64-linux-gnu target. > > 2015-08-27 Jonathan Roelofs <jonathan@codesourcery.com> > > * c-c++-common/ubsan/align-2.c: Don't be picky about ansi escape > codes in diagnostics. > * c-c++-common/ubsan/align-4.c: Ditto. > * c-c++-common/ubsan/align-6.c: Ditto. > * c-c++-common/ubsan/align-7.c: Ditto. > * c-c++-common/ubsan/align-9.c: Ditto. > * c-c++-common/ubsan/float-cast-overflow-2.c: Ditto. > * c-c++-common/ubsan/float-cast-overflow-8.c: Ditto. > * c-c++-common/ubsan/object-size-1.c: Ditto. > * c-c++-common/ubsan/object-size-10.c: Ditto. > * c-c++-common/ubsan/object-size-4.c: Ditto. > * c-c++-common/ubsan/object-size-5.c: Ditto. > * c-c++-common/ubsan/object-size-7.c: Ditto. > * c-c++-common/ubsan/object-size-8.c: Ditto. > * c-c++-common/ubsan/object-size-9.c: Ditto. > * c-c++-common/ubsan/overflow-int128.c: Ditto. > * c-c++-common/ubsan/pr63802.c: Ditto. > > I do not have write access, so I'll need someone to commit this for me > if it is approved. > > > Cheers, > > Jon > > -- Jon Roelofs jonathan@codesourcery.com CodeSourcery / Mentor Embedded ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. 2015-09-03 16:16 ` Jonathan Roelofs @ 2015-09-03 16:18 ` Jakub Jelinek 2015-09-03 16:54 ` Jonathan Roelofs 0 siblings, 1 reply; 11+ messages in thread From: Jakub Jelinek @ 2015-09-03 16:18 UTC (permalink / raw) To: Jonathan Roelofs; +Cc: gcc-patches, kcc, Mike Stump On Thu, Sep 03, 2015 at 10:15:02AM -0600, Jonathan Roelofs wrote: > +kcc, mrs > > Ping > > On 8/27/15 4:44 PM, Jonathan Roelofs wrote: > >The attached patch makes the ubsan tests agnostic to ansi escape codes > >in their diagnostic output. It wouldn't hurt if you explained in detail what is the problem you are trying to solve and why something that works for most people doesn't work in your case. > >Tested on an x86_64-linux-gnu target. > > > > 2015-08-27 Jonathan Roelofs <jonathan@codesourcery.com> > > > > * c-c++-common/ubsan/align-2.c: Don't be picky about ansi escape > > codes in diagnostics. > > * c-c++-common/ubsan/align-4.c: Ditto. > > * c-c++-common/ubsan/align-6.c: Ditto. > > * c-c++-common/ubsan/align-7.c: Ditto. > > * c-c++-common/ubsan/align-9.c: Ditto. > > * c-c++-common/ubsan/float-cast-overflow-2.c: Ditto. > > * c-c++-common/ubsan/float-cast-overflow-8.c: Ditto. > > * c-c++-common/ubsan/object-size-1.c: Ditto. > > * c-c++-common/ubsan/object-size-10.c: Ditto. > > * c-c++-common/ubsan/object-size-4.c: Ditto. > > * c-c++-common/ubsan/object-size-5.c: Ditto. > > * c-c++-common/ubsan/object-size-7.c: Ditto. > > * c-c++-common/ubsan/object-size-8.c: Ditto. > > * c-c++-common/ubsan/object-size-9.c: Ditto. > > * c-c++-common/ubsan/overflow-int128.c: Ditto. > > * c-c++-common/ubsan/pr63802.c: Ditto. > > > >I do not have write access, so I'll need someone to commit this for me > >if it is approved. Jakub ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. 2015-09-03 16:18 ` Jakub Jelinek @ 2015-09-03 16:54 ` Jonathan Roelofs 2015-09-03 17:33 ` Jonathan Roelofs ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Jonathan Roelofs @ 2015-09-03 16:54 UTC (permalink / raw) To: Jakub Jelinek; +Cc: gcc-patches, kcc, Mike Stump On 9/3/15 10:17 AM, Jakub Jelinek wrote: > On Thu, Sep 03, 2015 at 10:15:02AM -0600, Jonathan Roelofs wrote: >> +kcc, mrs >> >> Ping >> >> On 8/27/15 4:44 PM, Jonathan Roelofs wrote: >>> The attached patch makes the ubsan tests agnostic to ansi escape codes >>> in their diagnostic output. > > It wouldn't hurt if you explained in detail what is the problem you are > trying to solve and why something that works for most people doesn't work in > your case. Hi Jakub, AFAICT, there are two ways to suppress the emission of color codes from ubsan's diagnostics: 1) Set an environment variable. 2) Make the output stream not a tty. #1 doesn't seem to be possible in DejaGnu without hacks. #2 doesn't work in our environment because DejaGnu attempts to make itself appear to the program under test as if it were a tty. This might be an artifact of the fact that all of our testing is remote testing (though that is just blind speculation on my part: I'm not familiar with how others have their testing set up, nor whether they do remote testing of the sanitizer runtimes). Moral of the story is: these tests fail in our environment, but only because the regexes do not expect the presence of the ansi color codes, and we can't trick the runtime into not emitting them. Cheers, Jon > >>> Tested on an x86_64-linux-gnu target. >>> >>> 2015-08-27 Jonathan Roelofs <jonathan@codesourcery.com> >>> >>> * c-c++-common/ubsan/align-2.c: Don't be picky about ansi escape >>> codes in diagnostics. >>> * c-c++-common/ubsan/align-4.c: Ditto. >>> * c-c++-common/ubsan/align-6.c: Ditto. >>> * c-c++-common/ubsan/align-7.c: Ditto. >>> * c-c++-common/ubsan/align-9.c: Ditto. >>> * c-c++-common/ubsan/float-cast-overflow-2.c: Ditto. >>> * c-c++-common/ubsan/float-cast-overflow-8.c: Ditto. >>> * c-c++-common/ubsan/object-size-1.c: Ditto. >>> * c-c++-common/ubsan/object-size-10.c: Ditto. >>> * c-c++-common/ubsan/object-size-4.c: Ditto. >>> * c-c++-common/ubsan/object-size-5.c: Ditto. >>> * c-c++-common/ubsan/object-size-7.c: Ditto. >>> * c-c++-common/ubsan/object-size-8.c: Ditto. >>> * c-c++-common/ubsan/object-size-9.c: Ditto. >>> * c-c++-common/ubsan/overflow-int128.c: Ditto. >>> * c-c++-common/ubsan/pr63802.c: Ditto. >>> >>> I do not have write access, so I'll need someone to commit this for me >>> if it is approved. > > Jakub > -- Jon Roelofs jonathan@codesourcery.com CodeSourcery / Mentor Embedded ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. 2015-09-03 16:54 ` Jonathan Roelofs @ 2015-09-03 17:33 ` Jonathan Roelofs 2015-09-04 6:26 ` Yury Gribov 2015-09-09 15:20 ` Mike Stump 2 siblings, 0 replies; 11+ messages in thread From: Jonathan Roelofs @ 2015-09-03 17:33 UTC (permalink / raw) To: Jakub Jelinek; +Cc: gcc-patches, kcc, Mike Stump [-- Attachment #1: Type: text/plain, Size: 3657 bytes --] On 9/3/15 10:45 AM, Jonathan Roelofs wrote: > > > On 9/3/15 10:17 AM, Jakub Jelinek wrote: >> On Thu, Sep 03, 2015 at 10:15:02AM -0600, Jonathan Roelofs wrote: >>> +kcc, mrs >>> >>> Ping >>> >>> On 8/27/15 4:44 PM, Jonathan Roelofs wrote: >>>> The attached patch makes the ubsan tests agnostic to ansi escape codes >>>> in their diagnostic output. >> >> It wouldn't hurt if you explained in detail what is the problem you are >> trying to solve and why something that works for most people doesn't >> work in >> your case. > > Hi Jakub, > > AFAICT, there are two ways to suppress the emission of color codes from > ubsan's diagnostics: > > 1) Set an environment variable. > 2) Make the output stream not a tty. > > #1 doesn't seem to be possible in DejaGnu without hacks. > #2 doesn't work in our environment because DejaGnu attempts to make > itself appear to the program under test as if it were a tty. This might > be an artifact of the fact that all of our testing is remote testing > (though that is just blind speculation on my part: I'm not familiar with > how others have their testing set up, nor whether they do remote testing > of the sanitizer runtimes). > > Moral of the story is: these tests fail in our environment, but only > because the regexes do not expect the presence of the ansi color codes, > and we can't trick the runtime into not emitting them. > > > Cheers, > > Jon > >> >>>> Tested on an x86_64-linux-gnu target. >>>> >>>> 2015-08-27 Jonathan Roelofs <jonathan@codesourcery.com> >>>> >>>> * c-c++-common/ubsan/align-2.c: Don't be picky about ansi >>>> escape >>>> codes in diagnostics. >>>> * c-c++-common/ubsan/align-4.c: Ditto. >>>> * c-c++-common/ubsan/align-6.c: Ditto. >>>> * c-c++-common/ubsan/align-7.c: Ditto. >>>> * c-c++-common/ubsan/align-9.c: Ditto. >>>> * c-c++-common/ubsan/float-cast-overflow-2.c: Ditto. >>>> * c-c++-common/ubsan/float-cast-overflow-8.c: Ditto. >>>> * c-c++-common/ubsan/object-size-1.c: Ditto. >>>> * c-c++-common/ubsan/object-size-10.c: Ditto. >>>> * c-c++-common/ubsan/object-size-4.c: Ditto. >>>> * c-c++-common/ubsan/object-size-5.c: Ditto. >>>> * c-c++-common/ubsan/object-size-7.c: Ditto. >>>> * c-c++-common/ubsan/object-size-8.c: Ditto. >>>> * c-c++-common/ubsan/object-size-9.c: Ditto. >>>> * c-c++-common/ubsan/overflow-int128.c: Ditto. >>>> * c-c++-common/ubsan/pr63802.c: Ditto. Oops, forgot the one in `gcc.dg/ubsan/object-size-9.c`. 2015-08-27 Jonathan Roelofs <jonathan@codesourcery.com> * c-c++-common/ubsan/align-2.c: Don't be picky about ansi escape codes in diagnostics. * c-c++-common/ubsan/align-4.c: Ditto. * c-c++-common/ubsan/align-6.c: Ditto. * c-c++-common/ubsan/align-7.c: Ditto. * c-c++-common/ubsan/align-9.c: Ditto. * c-c++-common/ubsan/float-cast-overflow-2.c: Ditto. * c-c++-common/ubsan/float-cast-overflow-8.c: Ditto. * c-c++-common/ubsan/object-size-1.c: Ditto. * c-c++-common/ubsan/object-size-10.c: Ditto. * c-c++-common/ubsan/object-size-4.c: Ditto. * c-c++-common/ubsan/object-size-5.c: Ditto. * c-c++-common/ubsan/object-size-7.c: Ditto. * c-c++-common/ubsan/object-size-8.c: Ditto. * c-c++-common/ubsan/object-size-9.c: Ditto. * c-c++-common/ubsan/overflow-int128.c: Ditto. * c-c++-common/ubsan/pr63802.c: Ditto. * gcc.dg/ubsan/object-size-9.c: Ditto. Jon >>>> >>>> I do not have write access, so I'll need someone to commit this for me >>>> if it is approved. >> >> Jakub >> > -- Jon Roelofs jonathan@codesourcery.com CodeSourcery / Mentor Embedded [-- Attachment #2: relax_ubsan_tests2.diff --] [-- Type: text/plain, Size: 44290 bytes --] Index: gcc/testsuite/gcc.dg/ubsan/object-size-9.c =================================================================== --- gcc/testsuite/gcc.dg/ubsan/object-size-9.c (revision 454039) +++ gcc/testsuite/gcc.dg/ubsan/object-size-9.c (working copy) @@ -19,6 +19,6 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/ChangeLog =================================================================== --- gcc/testsuite/ChangeLog (revision 454039) +++ gcc/testsuite/ChangeLog (working copy) @@ -1,3 +1,24 @@ +2015-08-27 Jonathan Roelofs <jonathan@codesourcery.com> + + * c-c++-common/ubsan/align-2.c: Don't be picky about ansi escape + codes in diagnostics. + * c-c++-common/ubsan/align-4.c: Ditto. + * c-c++-common/ubsan/align-6.c: Ditto. + * c-c++-common/ubsan/align-7.c: Ditto. + * c-c++-common/ubsan/align-9.c: Ditto. + * c-c++-common/ubsan/float-cast-overflow-2.c: Ditto. + * c-c++-common/ubsan/float-cast-overflow-8.c: Ditto. + * c-c++-common/ubsan/object-size-1.c: Ditto. + * c-c++-common/ubsan/object-size-10.c: Ditto. + * c-c++-common/ubsan/object-size-4.c: Ditto. + * c-c++-common/ubsan/object-size-5.c: Ditto. + * c-c++-common/ubsan/object-size-7.c: Ditto. + * c-c++-common/ubsan/object-size-8.c: Ditto. + * c-c++-common/ubsan/object-size-9.c: Ditto. + * c-c++-common/ubsan/overflow-int128.c: Ditto. + * c-c++-common/ubsan/pr63802.c: Ditto. + * gcc.dg/ubsan/object-size-9.c: Ditto. + 2015-07-16 Release Manager * GCC 5.2.0 released. Index: gcc/testsuite/c-c++-common/ubsan/pr63802.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/pr63802.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/pr63802.c (working copy) @@ -20,4 +20,4 @@ return 0; } -/* { dg-output "\.c:18:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct test_struct', which requires 64 byte alignment.*" } */ +/* { dg-output "\.c:18:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct test_struct', which requires 64 byte alignment.*" } */ Index: gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-2.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-2.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-2.c (working copy) @@ -30,44 +30,44 @@ return 0; } -/* { dg-output "runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value nan is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -?nan is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value inf is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -inf is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -5 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -1.5 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -1 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value nan is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -?nan is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value inf is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*runtime error: value -inf is outside the range of representable values of type '__int128 unsigned'" } */ +/* { dg-output "runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 1.70141e\\\+38 is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value nan is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -?nan is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value inf is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -inf is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value 3.40282e\\\+38 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -5 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -1.5 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -1 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value nan is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -?nan is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value inf is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*runtime error: \[^\n\r]*value -inf is outside the range of representable values of type '__int128 unsigned'" } */ Index: gcc/testsuite/c-c++-common/ubsan/align-7.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/align-7.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/align-7.c (working copy) @@ -28,6 +28,6 @@ return 0; } -/* { dg-output "\.c:16:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:16:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ /* { dg-final { scan-tree-dump-times "Optimizing" 4 "sanopt"} } */ /* { dg-final { cleanup-tree-dump "sanopt" } } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-7.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-7.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-7.c (working copy) @@ -24,6 +24,6 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/align-4.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/align-4.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/align-4.c (working copy) @@ -4,11 +4,11 @@ #include "align-2.c" -/* { dg-output "\.c:(14|15):\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:16:\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:(13|16):\[0-9]*: \[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:23:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:(29|30):\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:30:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:31:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\[^\n\r]*\.c:37:\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment" } */ +/* { dg-output "\.c:(14|15):\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:16:\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:(13|16):\[0-9]*:\[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:23:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:(29|30):\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:30:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:31:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\[^\n\r]*\.c:37:\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment" } */ Index: gcc/testsuite/c-c++-common/ubsan/overflow-int128.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/overflow-int128.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/overflow-int128.c (working copy) @@ -35,13 +35,13 @@ return 0; } -/* { dg-output "signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\+ 1 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 1 \\+ 0x7fffffffffffffffffffffffffffffff cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\+ 1 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffff9b \\+ 1024 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: -1 \\+ 0x80000000000000000000000000000000 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000000 \\+ -1 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000000 - 1 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000064 \\+ -1024 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\* 2 cannot be represented in type '__int128'(\n|\r\n|\r)" } */ +/* { dg-output "signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\+ 1 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 1 \\+ 0x7fffffffffffffffffffffffffffffff cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\+ 1 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffff9b \\+ 1024 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: -1 \\+ 0x80000000000000000000000000000000 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000000 \\+ -1 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000000 - 1 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x80000000000000000000000000000064 \\+ -1024 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*signed integer overflow: 0x7fffffffffffffffffffffffffffffff \\* 2 cannot be represented in type '__int128'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*negation of 0x80000000000000000000000000000000 cannot be represented in type '__int128'; cast to an unsigned type to negate this value to itself\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-8.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-8.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-8.c (working copy) @@ -100,7 +100,7 @@ /* float */ /* { dg-output "value -129 is outside the range of representable values of type 'signed char'\[^\n\r]*(\n|\r\n|\r)" { target { ilp32 || lp64 } } } */ -/* { dg-output "value \[0-9.e+-]* is outside the range of representable values of type 'signed char'\[^\n\r]*(\n|\r\n|\r)" { target { ! { ilp32 || lp64 } } } } */ +/* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'signed char'\[^\n\r]*(\n|\r\n|\r)" { target { ! { ilp32 || lp64 } } } } */ /* { dg-output "\[^\n\r]*value 128 is outside the range of representable values of type 'signed char'\[^\n\r]*(\n|\r\n|\r)" { target { ilp32 || lp64 } } } */ /* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'signed char'\[^\n\r]*(\n|\r\n|\r)" { target { ! { ilp32 || lp64 } } } } */ /* { dg-output "\[^\n\r]*value (-129|-1) is outside the range of representable values of type 'char'\[^\n\r]*(\n|\r\n|\r)" { target { ilp32 || lp64 } } } */ @@ -198,8 +198,8 @@ /* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'long long int'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'long long int'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*value -1 is outside the range of representable values of type 'long long unsigned int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'long long unsigned int'" } */ -/* { dg-output "(\n|\r\n|\r)\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" { target { int128 } } } */ +/* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type 'long long unsigned int'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" { target { int128 } } } */ +/* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type '__int128'\[^\n\r]*(\n|\r\n|\r)" { target { int128 } } } */ /* { dg-output "\[^\n\r]*value -1 is outside the range of representable values of type '__int128 unsigned'\[^\n\r]*(\n|\r\n|\r)" { target { int128 } } } */ /* { dg-output "\[^\n\r]*value \[0-9.e+-]* is outside the range of representable values of type '__int128 unsigned'" { target { int128 } } } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-4.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-4.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-4.c (working copy) @@ -22,10 +22,10 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-8.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-8.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-8.c (working copy) @@ -27,6 +27,6 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/align-9.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/align-9.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/align-9.c (working copy) @@ -17,5 +17,5 @@ return 0; } -/* { dg-output "\.c:8:\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'const long int', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:8:\[0-9]*: \[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'long int', which requires \[48] byte alignment" } */ +/* { dg-output "\.c:8:\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'const long int', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:8:\[0-9]*:\[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'long int', which requires \[48] byte alignment" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-10.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-10.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-10.c (working copy) @@ -21,7 +21,7 @@ /* { dg-output "index 128 out of bounds for type 'char \\\[128\\\]'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -41,7 +41,7 @@ /* { dg-output "\[^\n\r]*index 128 out of bounds for type 'int \\\[128\\\]'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -54,7 +54,7 @@ /* { dg-output "\[^\n\r]*index 128 out of bounds for type 'int \\\[128\\\]'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-1.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-1.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-1.c (working copy) @@ -22,19 +22,19 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -54,19 +54,19 @@ } /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -82,11 +82,11 @@ } /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -100,7 +100,7 @@ } /* { dg-output "\[^\n\r]*store to address \[^\n\r]* with insufficient space for an object of type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-5.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-5.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-5.c (working copy) @@ -21,11 +21,11 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/object-size-9.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/object-size-9.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/object-size-9.c (working copy) @@ -22,7 +22,7 @@ } /* { dg-output "load of address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -37,7 +37,7 @@ /* { dg-output "\[^\n\r]*index 12 out of bounds for type 'char \\\[8\\\]'\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ /* { dg-output "\[^\n\r]*store to address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ @@ -52,7 +52,7 @@ } /* { dg-output "\[^\n\r]*store to address \[^\n\r]* with insufficient space for an object of type 'char'\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" { target { c++ } } } */ @@ -66,7 +66,7 @@ /* { dg-output "\[^\n\r]*index 12 out of bounds for type 'U \\\[10\\\]'\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'unsigned int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ @@ -79,7 +79,7 @@ } /* { dg-output "\[^\n\r]*load of address \[^\n\r]* with insufficient space for an object of type 'unsigned int'\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output "\[^\n\r]*note: pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output "\[^\n\r]*note: \[^\n\r\]*pointer points here\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\[^\n\r]*(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*\\^\[^\n\r]*(\n|\r\n|\r)" } */ Index: gcc/testsuite/c-c++-common/ubsan/align-2.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/align-2.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/align-2.c (working copy) @@ -46,11 +46,11 @@ return 0; } -/* { dg-output "\.c:(14|15):\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ -/* { dg-output "\.c:16:\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:(13|16):\[0-9]*: \[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ -/* { dg-output "\.c:23:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:(29|30):\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:30:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:31:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:37:\[0-9]*: \[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment" } */ +/* { dg-output "\.c:(14|15):\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ +/* { dg-output "\.c:16:\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:(13|16):\[0-9]*:\[^\n\r]*store to misaligned address 0x\[0-9a-fA-F]* for type 'int', which requires 4 byte alignment.*" } */ +/* { dg-output "\.c:23:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:(29|30):\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:30:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:31:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:37:\[0-9]*:\[^\n\r]*load of misaligned address 0x\[0-9a-fA-F]* for type 'long long int', which requires \[48] byte alignment" } */ Index: gcc/testsuite/c-c++-common/ubsan/align-6.c =================================================================== --- gcc/testsuite/c-c++-common/ubsan/align-6.c (revision 454039) +++ gcc/testsuite/c-c++-common/ubsan/align-6.c (working copy) @@ -26,8 +26,8 @@ return 0; } -/* { dg-output "\.c:14:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:15:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:16:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:17:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ -/* { dg-output "\.c:18:\[0-9]*: \[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:14:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:15:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:16:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:17:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ +/* { dg-output "\.c:18:\[0-9]*:\[^\n\r]*member access within misaligned address 0x\[0-9a-fA-F]* for type 'struct S', which requires \[48] byte alignment.*" } */ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. 2015-09-03 16:54 ` Jonathan Roelofs 2015-09-03 17:33 ` Jonathan Roelofs @ 2015-09-04 6:26 ` Yury Gribov 2015-09-08 22:16 ` Jonathan Roelofs 2015-09-09 15:20 ` Mike Stump 2 siblings, 1 reply; 11+ messages in thread From: Yury Gribov @ 2015-09-04 6:26 UTC (permalink / raw) To: Jonathan Roelofs, Jakub Jelinek Cc: gcc-patches, kcc, Mike Stump, Maxim Ostapenko On 09/03/2015 07:45 PM, Jonathan Roelofs wrote: > > > On 9/3/15 10:17 AM, Jakub Jelinek wrote: >> On Thu, Sep 03, 2015 at 10:15:02AM -0600, Jonathan Roelofs wrote: >>> +kcc, mrs >>> >>> Ping >>> >>> On 8/27/15 4:44 PM, Jonathan Roelofs wrote: >>>> The attached patch makes the ubsan tests agnostic to ansi escape codes >>>> in their diagnostic output. >> >> It wouldn't hurt if you explained in detail what is the problem you are >> trying to solve and why something that works for most people doesn't >> work in >> your case. > > Hi Jakub, > > AFAICT, there are two ways to suppress the emission of color codes from > ubsan's diagnostics: > > 1) Set an environment variable. > 2) Make the output stream not a tty. > > #1 doesn't seem to be possible in DejaGnu without hacks. AFAIR it can't be done for remote targets due to DejaGnu design limitations. > #2 doesn't work in our environment because DejaGnu attempts to make > itself appear to the program under test as if it were a tty. This might > be an artifact of the fact that all of our testing is remote testing > (though that is just blind speculation on my part: AFAIK that's indeed the case. Added Max. -Y ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. 2015-09-04 6:26 ` Yury Gribov @ 2015-09-08 22:16 ` Jonathan Roelofs 2015-09-09 9:10 ` Maxim Ostapenko 0 siblings, 1 reply; 11+ messages in thread From: Jonathan Roelofs @ 2015-09-08 22:16 UTC (permalink / raw) To: Yury Gribov, Jakub Jelinek; +Cc: gcc-patches, kcc, Mike Stump, Maxim Ostapenko On 9/4/15 12:20 AM, Yury Gribov wrote: > On 09/03/2015 07:45 PM, Jonathan Roelofs wrote: >> >> >> On 9/3/15 10:17 AM, Jakub Jelinek wrote: >>> On Thu, Sep 03, 2015 at 10:15:02AM -0600, Jonathan Roelofs wrote: >>>> +kcc, mrs >>>> >>>> Ping >>>> >>>> On 8/27/15 4:44 PM, Jonathan Roelofs wrote: >>>>> The attached patch makes the ubsan tests agnostic to ansi escape codes >>>>> in their diagnostic output. >>> >>> It wouldn't hurt if you explained in detail what is the problem you are >>> trying to solve and why something that works for most people doesn't >>> work in >>> your case. >> >> Hi Jakub, >> >> AFAICT, there are two ways to suppress the emission of color codes from >> ubsan's diagnostics: >> >> 1) Set an environment variable. >> 2) Make the output stream not a tty. >> >> #1 doesn't seem to be possible in DejaGnu without hacks. > > AFAIR it can't be done for remote targets due to DejaGnu design > limitations. > >> #2 doesn't work in our environment because DejaGnu attempts to make >> itself appear to the program under test as if it were a tty. This might >> be an artifact of the fact that all of our testing is remote testing >> (though that is just blind speculation on my part: > > AFAIK that's indeed the case. > > Added Max. I've created another patch to address the same issue in the tsan tests, here: [1]. Cheers, Jon 1: https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00556.html -- Jon Roelofs jonathan@codesourcery.com CodeSourcery / Mentor Embedded ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. 2015-09-08 22:16 ` Jonathan Roelofs @ 2015-09-09 9:10 ` Maxim Ostapenko 0 siblings, 0 replies; 11+ messages in thread From: Maxim Ostapenko @ 2015-09-09 9:10 UTC (permalink / raw) To: Jonathan Roelofs; +Cc: Yury Gribov, Jakub Jelinek, gcc-patches, kcc, Mike Stump On 09/09/15 01:15, Jonathan Roelofs wrote: > > > On 9/4/15 12:20 AM, Yury Gribov wrote: >> On 09/03/2015 07:45 PM, Jonathan Roelofs wrote: >>> >>> >>> On 9/3/15 10:17 AM, Jakub Jelinek wrote: >>>> On Thu, Sep 03, 2015 at 10:15:02AM -0600, Jonathan Roelofs wrote: >>>>> +kcc, mrs >>>>> >>>>> Ping >>>>> >>>>> On 8/27/15 4:44 PM, Jonathan Roelofs wrote: >>>>>> The attached patch makes the ubsan tests agnostic to ansi escape >>>>>> codes >>>>>> in their diagnostic output. >>>> >>>> It wouldn't hurt if you explained in detail what is the problem you >>>> are >>>> trying to solve and why something that works for most people doesn't >>>> work in >>>> your case. >>> >>> Hi Jakub, >>> >>> AFAICT, there are two ways to suppress the emission of color codes from >>> ubsan's diagnostics: >>> >>> 1) Set an environment variable. >>> 2) Make the output stream not a tty. >>> >>> #1 doesn't seem to be possible in DejaGnu without hacks. >> >> AFAIR it can't be done for remote targets due to DejaGnu design >> limitations. >> >>> #2 doesn't work in our environment because DejaGnu attempts to make >>> itself appear to the program under test as if it were a tty. This might >>> be an artifact of the fact that all of our testing is remote testing >>> (though that is just blind speculation on my part: >> >> AFAIK that's indeed the case. >> >> Added Max. > > I've created another patch to address the same issue in the tsan > tests, here: [1]. > > > Cheers, > > Jon > > 1: https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00556.html > Jon, I've tried to apply your patch on top of trunk to test on my remote arm board and got some conflicts: gcc/testsuite/c-c++-common/ubsan/align-7.c.rej gcc/testsuite/c-c++-common/ubsan/pr63802.c.rej gcc/testsuite/c-c++-common/ubsan/overflow-int128.c.rej gcc/testsuite/c-c++-common/ubsan/align-6.c.rej The last UBSan tests adjustments were performed by Marek in r222878, perhaps your GCC doesn't include these changes? -Maxim ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. 2015-09-03 16:54 ` Jonathan Roelofs 2015-09-03 17:33 ` Jonathan Roelofs 2015-09-04 6:26 ` Yury Gribov @ 2015-09-09 15:20 ` Mike Stump 2015-09-09 15:28 ` Andrew Pinski 2 siblings, 1 reply; 11+ messages in thread From: Mike Stump @ 2015-09-09 15:20 UTC (permalink / raw) To: Jonathan Roelofs; +Cc: Jakub Jelinek, GCC Patches, Kostya Serebryany On Sep 3, 2015, at 9:45 AM, Jonathan Roelofs <jonathan@codesourcery.com> wrote: > Moral of the story is: these tests fail in our environment, but only because the regexes do not expect the presence of the ansi color codes, and we can't trick the runtime into not emitting them. When the user says, I don’t want color; is color emitted? If so, that’s a bug, and needs to be fixed. If the user can, then, dejagnu can. When it says, don’t use color, that should be respected; just as if the user had said it. Anyway, a | decolor more a la prune should be able to remove color, even if there were no other way. I’m not a fan of the changes as is. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. 2015-09-09 15:20 ` Mike Stump @ 2015-09-09 15:28 ` Andrew Pinski 2015-09-09 21:23 ` Jonathan Roelofs 0 siblings, 1 reply; 11+ messages in thread From: Andrew Pinski @ 2015-09-09 15:28 UTC (permalink / raw) To: Mike Stump Cc: Jonathan Roelofs, Jakub Jelinek, GCC Patches, Kostya Serebryany On Wed, Sep 9, 2015 at 11:11 PM, Mike Stump <mikestump@comcast.net> wrote: > On Sep 3, 2015, at 9:45 AM, Jonathan Roelofs <jonathan@codesourcery.com> wrote: >> Moral of the story is: these tests fail in our environment, but only because the regexes do not expect the presence of the ansi color codes, and we can't trick the runtime into not emitting them. > > When the user says, I don’t want color; is color emitted? If so, that’s a bug, and needs to be fixed. If the user can, then, dejagnu can. When it says, don’t use color, that should be respected; just as if the user had said it. Anyway, a | decolor more a la prune should be able to remove color, even if there were no other way. The issue is dejagnu cannot (at least in the current implementation of the remotes), cannot set an env that stays alive before invoking the program (though maybe it could use the env program to do the invoking). > > I’m not a fan of the changes as is. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics. 2015-09-09 15:28 ` Andrew Pinski @ 2015-09-09 21:23 ` Jonathan Roelofs 0 siblings, 0 replies; 11+ messages in thread From: Jonathan Roelofs @ 2015-09-09 21:23 UTC (permalink / raw) To: Andrew Pinski, Mike Stump; +Cc: Jakub Jelinek, GCC Patches, Kostya Serebryany On 9/9/15 9:20 AM, Andrew Pinski wrote: > On Wed, Sep 9, 2015 at 11:11 PM, Mike Stump <mikestump@comcast.net> > wrote: >> On Sep 3, 2015, at 9:45 AM, Jonathan Roelofs >> <jonathan@codesourcery.com> wrote: >>> Moral of the story is: these tests fail in our environment, but >>> only because the regexes do not expect the presence of the ansi >>> color codes, and we can't trick the runtime into not emitting >>> them. >> >> When the user says, I donât want color; is color emitted? If so, There's two ways to prevent emission of these color codes: 1) Set an env var 2) Make the output stream not a tty Both of these pathways work. >> thatâs a bug, and needs to be fixed. If the user can, then, >> dejagnu can. When it says, donât use color, that should be The issue is that I've got a remote target, and there are two limitations of DejaGnu that prevent me from triggering either (1) or (2): a) As Andrew says, DejaGnu can't set env vars for remote programs under test. b) DejaGnu makes itself appear to the remote program under test as if it were a tty. >> respected; just as if the user had said it. Anyway, a | decolor >> more a la prune should be able to remove color, even if there were >> no other way. Are you suggesting that I use `dg-prune-output` to filter out these color codes? I tried several variations on spellings of: /* { dg-prune-output "\033\[[0-9\;]+[mK]" } */ but couldn't get any of them to work. (I'm not certain I got the escaping correct, nor what it should be). Jon > > The issue is dejagnu cannot (at least in the current implementation > of the remotes), cannot set an env that stays alive before invoking > the program (though maybe it could use the env program to do the > invoking). > >> >> Iâm not a fan of the changes as is. -- Jon Roelofs jonathan@codesourcery.com CodeSourcery / Mentor Embedded ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2015-09-09 21:14 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-08-27 23:09 [PATCH] Make ubsan tests less picky about ansi escape codes in diagnostics Jonathan Roelofs 2015-09-03 16:16 ` Jonathan Roelofs 2015-09-03 16:18 ` Jakub Jelinek 2015-09-03 16:54 ` Jonathan Roelofs 2015-09-03 17:33 ` Jonathan Roelofs 2015-09-04 6:26 ` Yury Gribov 2015-09-08 22:16 ` Jonathan Roelofs 2015-09-09 9:10 ` Maxim Ostapenko 2015-09-09 15:20 ` Mike Stump 2015-09-09 15:28 ` Andrew Pinski 2015-09-09 21:23 ` Jonathan Roelofs
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).