Commit 1457e853 by Andreas Schwab Committed by Andreas Schwab

global-used-types-1.C: Replace ".*" by "\[^\n\]*".

* g++.dg/debug/dwarf2/global-used-types-1.C: Replace ".*" by
"\[^\n\]*".
* g++.dg/debug/dwarf2/namespace-1.C: Likewise.
* g++.dg/debug/dwarf2/pubnames-1.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-4.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-7.C: Likewise.
* g++.dg/debug/dwarf2/template-params-4.C: Likewise.
* g++.dg/debug/dwarf2/template-params-6.C: Likewise.
* g++.dg/debug/dwarf2/template-params-7.C: Likewise.
* g++.dg/debug/dwarf2/typedef1.C: Likewise.
* gcc.dg/debug/dwarf2/global-used-types.c: Likewise.
* gcc.dg/debug/dwarf2/inline2.c: Likewise.
* gcc.target/i386/pr22152.c: Likewise.
* gcc.target/i386/pr36992-1.c: Likewise.
* gcc.target/i386/pr36992-2.c: Likewise.
* gcc.target/sh/sh4a-memmovua.c: Likewise.

From-SVN: r163868
parent 5d74d8d6
2010-09-04 Andreas Schwab <schwab@linux-m68k.org>
* g++.dg/debug/dwarf2/global-used-types-1.C: Replace ".*" by
"\[^\n\]*".
* g++.dg/debug/dwarf2/namespace-1.C: Likewise.
* g++.dg/debug/dwarf2/pubnames-1.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-4.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-7.C: Likewise.
* g++.dg/debug/dwarf2/template-params-4.C: Likewise.
* g++.dg/debug/dwarf2/template-params-6.C: Likewise.
* g++.dg/debug/dwarf2/template-params-7.C: Likewise.
* g++.dg/debug/dwarf2/typedef1.C: Likewise.
* gcc.dg/debug/dwarf2/global-used-types.c: Likewise.
* gcc.dg/debug/dwarf2/inline2.c: Likewise.
* gcc.target/i386/pr22152.c: Likewise.
* gcc.target/i386/pr36992-1.c: Likewise.
* gcc.target/i386/pr36992-2.c: Likewise.
* gcc.target/sh/sh4a-memmovua.c: Likewise.
2010-09-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2010-09-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR testsuite/43957 PR testsuite/43957
......
// Contributed by Dodji Seketeli <dodji@redhat.com> // Contributed by Dodji Seketeli <dodji@redhat.com>
// { dg-options "-g -dA -fno-merge-debug-strings" } // { dg-options "-g -dA -fno-merge-debug-strings" }
// { dg-do compile } // { dg-do compile }
// { dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_enumeration_type" 1 } } // { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_enumeration_type" 1 } }
// { dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_enumerator" 2 } } // { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_enumerator" 2 } }
// { dg-final { scan-assembler-times "ascii \"a.0\"\[\t \]+.*?DW_AT_name" 1 } } // { dg-final { scan-assembler-times "ascii \"a.0\"\[\t \]+\[^\n\]*DW_AT_name" 1 } }
// { dg-final { scan-assembler-times "ascii \"b.0\"\[\t \]+.*?DW_AT_name" 1 } } // { dg-final { scan-assembler-times "ascii \"b.0\"\[\t \]+\[^\n\]*DW_AT_name" 1 } }
struct foo struct foo
{ {
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
// We want to test that there is a DW_TAG_namespace DIE DW_AT_name is set // We want to test that there is a DW_TAG_namespace DIE DW_AT_name is set
// to "not_emitted". That namespace die has a child DW_TAG_typedef DIE // to "not_emitted". That namespace die has a child DW_TAG_typedef DIE
// which DW_AT_name is the null terminated string "T". // which DW_AT_name is the null terminated string "T".
// { dg-final { scan-assembler-times "DIE +\\(.*?\\) DW_TAG_namespace" 1 } } // { dg-final { scan-assembler-times "DIE +\\(\[^\n\]*\\) DW_TAG_namespace" 1 } }
// { dg-final { scan-assembler-times "\"not_emitted.0\".*?DW_AT_name" 1 } } // { dg-final { scan-assembler-times "\"not_emitted.0\"\[^\n\]*DW_AT_name" 1 } }
// { dg-final { scan-assembler-times "DIE +\\(.*?\\) DW_TAG_typedef" 1 } } // { dg-final { scan-assembler-times "DIE +\\(\[^\n\]*\\) DW_TAG_typedef" 1 } }
// { dg-final { scan-assembler-times "\.ascii \"T.0\"\[\t \]+.*?DW_AT_name" 1 } } // { dg-final { scan-assembler-times "\.ascii \"T.0\"\[\t \]+\[^\n\]*DW_AT_name" 1 } }
struct strukt struct strukt
{ {
......
...@@ -8,13 +8,13 @@ ...@@ -8,13 +8,13 @@
// debug_pubnames section. The assembly code of that label adds an occurence // debug_pubnames section. The assembly code of that label adds an occurence
// of section declaration assembly. So on Darwin, we need to check for two // of section declaration assembly. So on Darwin, we need to check for two
// occurences of the debug_pubnames section declaration. // occurences of the debug_pubnames section declaration.
// { dg-final { scan-assembler-times "\.section\[\t \].*?debug_pubnames" 1 { target { ! *-*-darwin* } } } } // { dg-final { scan-assembler-times "\.section\[\t \]\[^\n\]*debug_pubnames" 1 { target { ! *-*-darwin* } } } }
// { dg-final { scan-assembler-times "\.section\[\t \].*?debug_pubnames" 2 { target { *-*-darwin* } } } } // { dg-final { scan-assembler-times "\.section\[\t \]\[^\n\]*debug_pubnames" 2 { target { *-*-darwin* } } } }
// //
// Then check of the presence of the names we are interested in. // Then check of the presence of the names we are interested in.
// { dg-final { scan-assembler-times "\"main.0\".*external name" 1 } } // { dg-final { scan-assembler-times "\"main.0\"\[^\n\]*external name" 1 } }
// { dg-final { scan-assembler-times "\"ns::ns_x.*external name" 1 } } // { dg-final { scan-assembler-times "\"ns::ns_x\[^\n\]*external name" 1 } }
// { dg-final { scan-assembler-times "\"y::y_x.*external name" 1 } } // { dg-final { scan-assembler-times "\"y::y_x\[^\n\]*external name" 1 } }
namespace ns { int ns_x; } namespace ns { int ns_x; }
class y { public: static int y_x; }; class y { public: static int y_x; };
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
// DW_TAG_GNU_template_parameter_pack DIE, but in practise, there is only one // DW_TAG_GNU_template_parameter_pack DIE, but in practise, there is only one
// DW_TAG_GNU_template_parameter_pack as there is only count<int, char, long> // DW_TAG_GNU_template_parameter_pack as there is only count<int, char, long>
// is emitted. // is emitted.
// { dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_GNU_template_parameter_pack" 1} } // { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_GNU_template_parameter_pack" 1} }
// { dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_template_type_param" 3} } // { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_template_type_param" 3} }
template <typename... Args> struct count; template <typename... Args> struct count;
......
...@@ -6,23 +6,23 @@ ...@@ -6,23 +6,23 @@
// There must be 5 subprograms generated: // There must be 5 subprograms generated:
// printf(const char*), printf<int, char, int>, // printf(const char*), printf<int, char, int>,
// printf<char, int>, printf<int> and foo(). // printf<char, int>, printf<int> and foo().
// { dg-final {scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_subprogram" 5 } } // { dg-final {scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_subprogram" 5 } }
// That makes 6 template type parameters. // That makes 6 template type parameters.
// { dg-final {scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_template_type_param" 6 } } // { dg-final {scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_template_type_param" 6 } }
// { dg-final {scan-assembler-times "\"printf<int, char, int>.0\".*?DW_AT_name" 1 } } // { dg-final {scan-assembler-times "\"printf<int, char, int>.0\"\[^\n\]*DW_AT_name" 1 } }
// { dg-final {scan-assembler-times "\"printf<char, int>.0\".*?DW_AT_name" 1 } } // { dg-final {scan-assembler-times "\"printf<char, int>.0\"\[^\n\]*DW_AT_name" 1 } }
// { dg-final {scan-assembler-times "\"printf<int>.0\".*?DW_AT_name" 1 } } // { dg-final {scan-assembler-times "\"printf<int>.0\"\[^\n\]*DW_AT_name" 1 } }
// { dg-final {scan-assembler-times "\"printf.0\".*?DW_AT_name" 1 } } // { dg-final {scan-assembler-times "\"printf.0\"\[^\n\]*DW_AT_name" 1 } }
// printf<int, char, int> and printf<char, int> have a pack expansion as // printf<int, char, int> and printf<char, int> have a pack expansion as
// function parameters. There should then be 3 // function parameters. There should then be 3
// DW_TAG_GNU_template_parameter_pack and 3 DW_TAG_GNU_formal_parameter_pack DIEs // DW_TAG_GNU_template_parameter_pack and 3 DW_TAG_GNU_formal_parameter_pack DIEs
// { dg-final {scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_GNU_template_parameter_pack" 3 } } // { dg-final {scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_GNU_template_parameter_pack" 3 } }
// { dg-final {scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_GNU_formal_parameter_pack" 3 } } // { dg-final {scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_GNU_formal_parameter_pack" 3 } }
// These 3 function template instantiations has a total of 3 template // These 3 function template instantiations has a total of 3 template
// parameters named T. // parameters named T.
// { dg_final {scan-assembler-times "\.ascii \"T.0\"\[\t \]+.*?DW_AT_name" 3 } } // { dg_final {scan-assembler-times "\.ascii \"T.0\"\[\t \]+\[^\n\]*DW_AT_name" 3 } }
void void
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
// DW_TAG_GNU_template_parameter_pack DIE, but in practise, there is only one // DW_TAG_GNU_template_parameter_pack DIE, but in practise, there is only one
// DW_TAG_GNU_template_parameter_pack as there is only count<int, char, long> // DW_TAG_GNU_template_parameter_pack as there is only count<int, char, long>
// is emitted. // is emitted.
// { dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_GNU_template_parameter_pack" 1} } // { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_GNU_template_parameter_pack" 1} }
// { dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_template_type_param" 3} } // { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_template_type_param" 3} }
template <typename... Args> struct count; template <typename... Args> struct count;
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
// Origin PR debug/30161 // Origin PR debug/30161
// { dg-options "-g -dA -fno-merge-debug-strings" } // { dg-options "-g -dA -fno-merge-debug-strings" }
// { dg-final { scan-assembler-times "DW_TAG_GNU_template_template_param" 2 } } // { dg-final { scan-assembler-times "DW_TAG_GNU_template_template_param" 2 } }
// { dg-final { scan-assembler-times "\"vector.0\".*?DW_AT_GNU_template_name" 1 } } // { dg-final { scan-assembler-times "\"vector.0\"\[^\n\]*DW_AT_GNU_template_name" 1 } }
// { dg-final { scan-assembler-times ".ascii \"U.0\".*?DW_AT_name" 1 } } // { dg-final { scan-assembler-times ".ascii \"U.0\"\[^\n\]*DW_AT_name" 1 } }
template <class T> template <class T>
struct vector_base struct vector_base
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
// The type M<> should have one DW_TAG_GNU_template_parameter_pack DIE, // The type M<> should have one DW_TAG_GNU_template_parameter_pack DIE,
// with no DW_AT_name attribute. We don't test the fact that it has no // with no DW_AT_name attribute. We don't test the fact that it has no
// DW_AT_name though. // DW_AT_name though.
// { dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_GNU_template_parameter_pack" 1 } } // { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_GNU_template_parameter_pack" 1 } }
template <typename...> template <typename...>
......
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
// { dg-options "-g -dA" } // { dg-options "-g -dA" }
// { dg-do compile } // { dg-do compile }
// { dg-final { scan-assembler-times "DW_TAG_structure_type" 2 } } // { dg-final { scan-assembler-times "DW_TAG_structure_type" 2 } }
// { dg-final { scan-assembler-times "DW_AT_name: \"foo<1u>\"|\"foo<1u>..\".*DW_AT_name" 1 } } // { dg-final { scan-assembler-times "DW_AT_name: \"foo<1u>\"|\"foo<1u>..\"\[^\n\]*DW_AT_name" 1 } }
// { dg-final { scan-assembler-times "DW_TAG_enumeration_type" 2 } } // { dg-final { scan-assembler-times "DW_TAG_enumeration_type" 2 } }
// { dg-final { scan-assembler-times "DW_AT_name: \"typedef foo<1u>::type type\"|\"typedef foo<1u>::type type..\".*DW_AT_name" 1 } } // { dg-final { scan-assembler-times "DW_AT_name: \"typedef foo<1u>::type type\"|\"typedef foo<1u>::type type..\"\[^\n\]*DW_AT_name" 1 } }
// { dg-final { scan-assembler-times "DIE (.*) DW_TAG_enumeration_type" 2 } } // { dg-final { scan-assembler-times "DIE \\(\[^\n\]*\\) DW_TAG_enumeration_type" 2 } }
// { dg-final { scan-assembler-times "\"e0..\".*DW_AT_name" 1 } } // { dg-final { scan-assembler-times "\"e0..\"\[^\n\]*DW_AT_name" 1 } }
// { dg-final { scan-assembler-times "\"e1..\".*DW_AT_name" 1 } } // { dg-final { scan-assembler-times "\"e1..\"\[^\n\]*DW_AT_name" 1 } }
template <unsigned int n> template <unsigned int n>
struct foo struct foo
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
Contributed by Dodji Seketeli <dodji@redhat.com> Contributed by Dodji Seketeli <dodji@redhat.com>
{ dg-options "-g -dA -fno-merge-debug-strings" } { dg-options "-g -dA -fno-merge-debug-strings" }
{ dg-do compile } { dg-do compile }
{ dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_enumeration_type" 1 } } { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_enumeration_type" 1 } }
{ dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_enumerator" 2 } } { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_enumerator" 2 } }
{ dg-final { scan-assembler-times "ascii \"a.0\"\[\t \]+.*?DW_AT_name" 1 } } { dg-final { scan-assembler-times "ascii \"a.0\"\[\t \]+\[^\n\]*DW_AT_name" 1 } }
{ dg-final { scan-assembler-times "ascii \"b.0\"\[\t \]+.*?DW_AT_name" 1 } } { dg-final { scan-assembler-times "ascii \"b.0\"\[\t \]+\[^\n\]*DW_AT_name" 1 } }
*/ */
enum { a, b }; enum { a, b };
......
...@@ -21,14 +21,14 @@ ...@@ -21,14 +21,14 @@
- One for each subroutine inlined into main, that's 3. - One for each subroutine inlined into main, that's 3.
- One for earch subroutine inline into the out of line instances - One for earch subroutine inline into the out of line instances
of third, second and first. */ of third, second and first. */
/* { dg-final { scan-assembler-times "\\(DIE \\(.*?\\) DW_TAG_inlined_subroutine" 6 } } */ /* { dg-final { scan-assembler-times "\\(DIE \\(\[^\n\]*\\) DW_TAG_inlined_subroutine" 6 } } */
/* Likewise we should have 6 DW_TAG_lexical_block DIEs: /* Likewise we should have 6 DW_TAG_lexical_block DIEs:
- One for each subroutine inlined into main, so that's 3. - One for each subroutine inlined into main, so that's 3.
- One for each subroutine inlined in the out of line instances - One for each subroutine inlined in the out of line instances
of third, second and first, that's 3. of third, second and first, that's 3.
*/ */
/* { dg-final { scan-assembler-times "\\(DIE \\(.*?\\) DW_TAG_lexical_block" 6 } } */ /* { dg-final { scan-assembler-times "\\(DIE \\(\[^\n\]*\\) DW_TAG_lexical_block" 6 } } */
/* There are 3 DW_AT_inline attributes: one per abstract inline instance. /* There are 3 DW_AT_inline attributes: one per abstract inline instance.
......
...@@ -15,4 +15,4 @@ unsigned_add3 (const __m64 * a, const __m64 * b, unsigned long count) ...@@ -15,4 +15,4 @@ unsigned_add3 (const __m64 * a, const __m64 * b, unsigned long count)
return sum; return sum;
} }
/* { dg-final { scan-assembler-times "movq\[ \\t\]+.*%mm" 1 } } */ /* { dg-final { scan-assembler-times "movq\[ \\t\]+\[^\n\]*%mm" 1 } } */
...@@ -9,4 +9,4 @@ test (__m128i b) ...@@ -9,4 +9,4 @@ test (__m128i b)
return _mm_move_epi64 (b); return _mm_move_epi64 (b);
} }
/* { dg-final { scan-assembler-times "movq\[ \\t\]+.*%xmm" 1 } } */ /* { dg-final { scan-assembler-times "movq\[ \\t\]+\[^\n\]*%xmm" 1 } } */
...@@ -9,4 +9,4 @@ test (__m128i b) ...@@ -9,4 +9,4 @@ test (__m128i b)
return _mm_move_epi64 (b); return _mm_move_epi64 (b);
} }
/* { dg-final { scan-assembler-times "movq\[ \\t\]+.*%xmm" 1 } } */ /* { dg-final { scan-assembler-times "movq\[ \\t\]+\[^\n\]*%xmm" 1 } } */
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
32-bit-aligned addresses. */ 32-bit-aligned addresses. */
/* { dg-do compile { target "sh*-*-*" } } */ /* { dg-do compile { target "sh*-*-*" } } */
/* { dg-options "-O" } */ /* { dg-options "-O" } */
/* { dg-final { scan-assembler-times "\tmovua\\.l\t(.*)+" 2 } } */ /* { dg-final { scan-assembler-times "\tmovua\\.l\t" 2 } } */
#ifdef __SH4A__ #ifdef __SH4A__
#include <string.h> #include <string.h>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment