***************
// PR debug/44668
// { dg-do compile }
! // { dg-options "-g -dA" }
struct C
{
// PR debug/44668
// { dg-do compile }
! // { dg-options "-gdwarf-2 -dA" }
struct C
{
***************
// PR c++/53756
// { dg-do compile { target c++14 } }
! // { dg-options "-g -dA -fno-debug-types-section" }
// We're looking for something like
// .uleb128 0x3 # (DIE (0x33) DW_TAG_subprogram)
// PR c++/53756
// { dg-do compile { target c++14 } }
! // { dg-options "-gdwarf-2 -dA -fno-debug-types-section" }
// We're looking for something like
// .uleb128 0x3 # (DIE (0x33) DW_TAG_subprogram)
***************
// Compiler should not generate too many lexical blocks for this function.
// { dg-do compile { target { i?86-*-* x86_64-*-* } } }
! // { dg-options "-O0 -fno-exceptions -g -dA" }
union UElement {
void* pointer;
// Compiler should not generate too many lexical blocks for this function.
// { dg-do compile { target { i?86-*-* x86_64-*-* } } }
! // { dg-options "-O0 -fno-exceptions -gdwarf-2 -dA" }
union UElement {
void* pointer;
***************
// origin PR debug/49047
! // { dg-options "-g -dA -fno-merge-debug-strings" }
// { dg-do compile }
struct K
// origin PR debug/49047
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings" }
// { dg-do compile }
struct K
***************
// FE generated debug info, without losing generality, only x86
// assembly is scanned in this test.
// { dg-do compile { target { i?86-*-* x86_64-*-* } } }
! // { dg-options "-O2 -fno-exceptions -g -dA" }
struct t {
t ();
// FE generated debug info, without losing generality, only x86
// assembly is scanned in this test.
// { dg-do compile { target { i?86-*-* x86_64-*-* } } }
! // { dg-options "-O2 -fno-exceptions -gdwarf-2 -dA" }
struct t {
t ();
***************
// { dg-do compile { target c++11 } }
! // { dg-options "-g -dA -gno-strict-dwarf" }
// { dg-final { scan-assembler-times "DIE\[^\n\r\]*DW_TAG_enumeration_type" 3 } }
// { dg-final { scan-assembler-times " DW_AT_enum_class" 2 } }
// { dg-do compile { target c++11 } }
! // { dg-options "-gdwarf-2 -dA -gno-strict-dwarf" }
// { dg-final { scan-assembler-times "DIE\[^\n\r\]*DW_TAG_enumeration_type" 3 } }
// { dg-final { scan-assembler-times " DW_AT_enum_class" 2 } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR c++
// { dg-do compile }
! // { dg-options "-O -g -dA -gno-strict-dwarf -fno-debug-types-section" }
// { dg-final { scan-assembler-times "DW_AT_explicit" 2 } }
struct Foo
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR c++
// { dg-do compile }
! // { dg-options "-O -gdwarf-2 -dA -gno-strict-dwarf -fno-debug-types-section" }
// { dg-final { scan-assembler-times "DW_AT_explicit" 2 } }
struct Foo
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
! // { dg-options "-g -dA -fno-merge-debug-strings -fno-debug-types-section" }
// { dg-do compile }
// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_enumeration_type" 1 } }
// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_enumerator" 2 } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings -fno-debug-types-section" }
// { dg-do compile }
// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_enumeration_type" 1 } }
// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_enumerator" 2 } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR debug/38390
// { dg-do compile }
! // { dg-options "-g -dA -gno-strict-dwarf" }
// { dg-final { scan-assembler "DW_TAG_imported_module" } }
namespace A
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR debug/38390
// { dg-do compile }
! // { dg-options "-gdwarf-2 -dA -gno-strict-dwarf" }
// { dg-final { scan-assembler "DW_TAG_imported_module" } }
namespace A
***************
// PR debug/39379
// { dg-do compile }
! // { dg-options "-g -dA -gno-strict-dwarf" }
// { dg-final { scan-assembler "DW_TAG_imported_module" } }
namespace A
// PR debug/39379
// { dg-do compile }
! // { dg-options "-gdwarf-2 -dA -gno-strict-dwarf" }
// { dg-final { scan-assembler "DW_TAG_imported_module" } }
namespace A
***************
// PR debug/39379
// { dg-do compile }
! // { dg-options "-g -dA -gno-strict-dwarf" }
// { dg-final { scan-assembler "DW_TAG_imported_module" } }
namespace A
// PR debug/39379
// { dg-do compile }
! // { dg-options "-gdwarf-2 -dA -gno-strict-dwarf" }
// { dg-final { scan-assembler "DW_TAG_imported_module" } }
namespace A
***************
// Origin: PR debug/49130
! // { dg-options "-g -dA -fno-merge-debug-strings -fno-debug-types-section" }
typedef long unsigned int size_t;
static const size_t foo = 2048;
// Origin: PR debug/49130
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings -fno-debug-types-section" }
typedef long unsigned int size_t;
static const size_t foo = 2048;
***************
// PR c++/43912
// { dg-do compile { target c++11 } }
! // { dg-options "-g -dA -fno-merge-debug-strings -gno-strict-dwarf" }
// Check for the local alias variables that point to the members of the closure.
// { dg-final { scan-assembler-times "DW_TAG_variable\[^.\]*\.ascii \"j.0\"" 4 } }
// PR c++/43912
// { dg-do compile { target c++11 } }
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings -gno-strict-dwarf" }
// Check for the local alias variables that point to the members of the closure.
// { dg-final { scan-assembler-times "DW_TAG_variable\[^.\]*\.ascii \"j.0\"" 4 } }
***************
// { dg-do compile }
! // { dg-options "-O -std=c++98 -g -dA" }
// DW_LANG_C_plus_plus = 0x0004
// { dg-final { scan-assembler "0x4.*DW_AT_language" } } */
// { dg-do compile }
! // { dg-options "-O -std=c++98 -gdwarf-2 -dA" }
// DW_LANG_C_plus_plus = 0x0004
// { dg-final { scan-assembler "0x4.*DW_AT_language" } } */
***************
// { dg-do compile }
! // { dg-options "-g -O0 -dA" }
struct C { // { dg-function-on-line {_ZN1CC[12]Ev} }
int i;
// { dg-do compile }
! // { dg-options "-gdwarf-2 -O0 -dA" }
struct C { // { dg-function-on-line {_ZN1CC[12]Ev} }
int i;
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR27574
// { dg-do compile }
! // { dg-options "-O0 -g" }
// { dg-final { scan-assembler "problem" } }
void f (int *)
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR27574
// { dg-do compile }
! // { dg-options "-O0 -gdwarf-2" }
// { dg-final { scan-assembler "problem" } }
void f (int *)
***************
// Test that the A* pointer_type is also within the debug info for f.
// Currently GCC emits it immediately before A, which is simple to test for.
! // { dg-options "-g -dA" }
void f()
{
// Test that the A* pointer_type is also within the debug info for f.
// Currently GCC emits it immediately before A, which is simple to test for.
! // { dg-options "-gdwarf-2 -dA" }
void f()
{
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/41170
! // { dg-options "-g -dA -fno-merge-debug-strings -gno-strict-dwarf" }
//
// 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
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/41170
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings -gno-strict-dwarf" }
//
// 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
***************
// Test that we define A inside the namespace rather than declaring it
// there and then defining it at CU scope.
! // { dg-options "-g -dA -fno-debug-types-section" }
// { dg-final { scan-assembler-not "DW_AT_declaration" } }
namespace N {
// Test that we define A inside the namespace rather than declaring it
// there and then defining it at CU scope.
! // { dg-options "-gdwarf-2 -dA -fno-debug-types-section" }
// { dg-final { scan-assembler-not "DW_AT_declaration" } }
namespace N {
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/40109
// { dg-do compile }
! // { dg-options "-g -dA -O0" }
namespace A
{
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/40109
// { dg-do compile }
! // { dg-options "-gdwarf-2 -dA -O0" }
namespace A
{
***************
/*
Origin: PR debug/45024
! { dg-options "-g -dA -fno-merge-debug-strings -fno-debug-types-section" }
{ dg-do compile }
*/
/*
Origin: PR debug/45024
! { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings -fno-debug-types-section" }
{ dg-do compile }
*/
***************
// { dg-do compile }
! // { dg-options "-g2 -dA" }
// Verify that line number info is output for the non-virtual
// thunks for C::~C().
// { dg-do compile }
! // { dg-options "-gdwarf-2 -g2 -dA" }
// Verify that line number info is output for the non-virtual
// thunks for C::~C().
***************
// Origin: PR 44641
// { dg-do compile }
! // { dg-options "-g -O0 -dA" }
template <class A> struct MisplacedDbg;
template<class T> struct MisplacedDbg<T*>;
// Origin: PR 44641
// { dg-do compile }
! // { dg-options "-gdwarf-2 -O0 -dA" }
template <class A> struct MisplacedDbg;
template<class T> struct MisplacedDbg<T*>;
***************
// Origin: PR 46527
// { dg-do compile }
! // { dg-options "-g -O0 -dA" }
template <typename T> struct Struct {
double defined_later();
// Origin: PR 46527
// { dg-do compile }
! // { dg-options "-gdwarf-2 -O0 -dA" }
template <typename T> struct Struct {
double defined_later();
***************
// PR debug/54508
// { dg-do compile }
! // { dg-options "-g2 -dA -fno-merge-debug-strings" }
// { dg-final { scan-assembler "\"cbase\\\\0\"\[ \t\]+\[#;/!|@\]+ +DW_AT_name" } }
// { dg-final { scan-assembler "\"OPCODE\\\\0\"\[ \t\]+\[#;/!|@\]+ +DW_AT_name" } }
// PR debug/54508
// { dg-do compile }
! // { dg-options "-gdwarf-2 -g2 -dA -fno-merge-debug-strings" }
// { dg-final { scan-assembler "\"cbase\\\\0\"\[ \t\]+\[#;/!|@\]+ +DW_AT_name" } }
// { dg-final { scan-assembler "\"OPCODE\\\\0\"\[ \t\]+\[#;/!|@\]+ +DW_AT_name" } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/39706
// { dg-do compile { target *-*-darwin* } }
! // { dg-options "-g -dA -fno-merge-debug-strings" }
//
// There should be one debug_pubnames section generated.
// { dg-final { scan-assembler-times "\.section\[\t \]\[^\n\]*debug_pubnames" 1 } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/39706
// { dg-do compile { target *-*-darwin* } }
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings" }
//
// There should be one debug_pubnames section generated.
// { dg-final { scan-assembler-times "\.section\[\t \]\[^\n\]*debug_pubnames" 1 } }
***************
// Origin: PR debug/43325
! // { dg-options "-g -dA" }
// { dg-do compile }
// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE \[^\n\r\]*DW_TAG_lexical_block\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_low_pc\[\n\r\]{1,2}\[^\n\r\]*DW_AT_high_pc\[\n\r\]{1,2}\[^\n\r\]*\\(DIE \[^\n\r\]*DW_TAG_variable\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_name" 2 } }
// Origin: PR debug/43325
! // { dg-options "-gdwarf-2 -dA" }
// { dg-do compile }
// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE \[^\n\r\]*DW_TAG_lexical_block\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_low_pc\[\n\r\]{1,2}\[^\n\r\]*DW_AT_high_pc\[\n\r\]{1,2}\[^\n\r\]*\\(DIE \[^\n\r\]*DW_TAG_variable\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_name" 2 } }
***************
// Origin: PR debug/45088
// { dg-do compile }
! // { dg-options "-g -dA -fno-debug-types-section" }
// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_pointer_type\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_byte_size\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type" 4 } }
struct A
// Origin: PR debug/45088
// { dg-do compile }
! // { dg-options "-gdwarf-2 -dA -fno-debug-types-section" }
// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_pointer_type\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_byte_size\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type" 4 } }
struct A
***************
// Origin: PR debug/45088
// { dg-do compile }
! // { dg-options "-g -dA -fno-debug-types-section" }
// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_pointer_type\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_byte_size\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type" 4 } }
template<class T>
// Origin: PR debug/45088
// { dg-do compile }
! // { dg-options "-gdwarf-2 -dA -fno-debug-types-section" }
// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_pointer_type\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_byte_size\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type" 4 } }
template<class T>
***************
// { dg-do compile }
! // { dg-options "-g -dA -fno-merge-debug-strings -fno-debug-types-section" }
struct A
{
// { dg-do compile }
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings -fno-debug-types-section" }
struct A
{
***************
// PR debug/39372
// { dg-do compile }
! // { dg-options "-O0 -g -dA" }
// { dg-final { scan-assembler "DW_OP_addr\[^\n\r\]*\[\n\r\]*\[^\n\r\]*staticvar1" } }
// { dg-final { scan-assembler "DW_OP_addr\[^\n\r\]*\[\n\r\]*\[^\n\r\]*staticvar2" } }
// PR debug/39372
// { dg-do compile }
! // { dg-options "-O0 -gdwarf-2 -dA" }
// { dg-final { scan-assembler "DW_OP_addr\[^\n\r\]*\[\n\r\]*\[^\n\r\]*staticvar1" } }
// { dg-final { scan-assembler "DW_OP_addr\[^\n\r\]*\[\n\r\]*\[^\n\r\]*staticvar2" } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// origin PR debug/30161
! // { dg-options "-g -dA" }
// { dg-do compile }
// { dg-final { scan-assembler "DW_TAG_template_type_param" } }
// { dg-final { scan-assembler "U.*DW_AT_name" } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
// origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA" }
// { dg-do compile }
// { dg-final { scan-assembler "DW_TAG_template_type_param" } }
// { dg-final { scan-assembler "U.*DW_AT_name" } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// origin PR debug/30161
! // { dg-options "-g -dA" }
// { dg-do compile }
// { dg-final { scan-assembler "DW_TAG_template_value_param" } }
// { dg-final { scan-assembler "i.*DW_AT_name" } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
// origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA" }
// { dg-do compile }
// { dg-final { scan-assembler "DW_TAG_template_value_param" } }
// { dg-final { scan-assembler "i.*DW_AT_name" } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-g -dA -gno-strict-dwarf -fno-merge-debug-strings" }
// { dg-final { scan-assembler "DW_TAG_template_value_param" } }
// { dg-final { scan-assembler "f.*DW_AT_name" } }
// { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*_Z4blehv\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA -gno-strict-dwarf -fno-merge-debug-strings" }
// { dg-final { scan-assembler "DW_TAG_template_value_param" } }
// { dg-final { scan-assembler "f.*DW_AT_name" } }
// { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*_Z4blehv\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
// { dg-do compile { target c++11 } }
! // { dg-options "-g -dA" }
//
// In theory the compiler instantiates count<int, char, long>,
// count<char, long> and count<long>. In practice, only
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
// { dg-do compile { target c++11 } }
! // { dg-options "-gdwarf-2 -dA" }
//
// In theory the compiler instantiates count<int, char, long>,
// count<char, long> and count<long>. In practice, only
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-g -dA" }
// { dg-final { scan-assembler "DW_TAG_template_type_param" } }
// { dg-final { scan-assembler "T.*DW_AT_name" } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA" }
// { dg-final { scan-assembler "DW_TAG_template_type_param" } }
// { dg-final { scan-assembler "T.*DW_AT_name" } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { 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 "\"vector.0\".*?DW_AT_GNU_template_name" 1 } }
// { dg-final { scan-assembler-times ".ascii \"U.0\".*?DW_AT_name" 1 } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings" }
// { 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 ".ascii \"U.0\".*?DW_AT_name" 1 } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-g -dA -fno-merge-debug-strings" }
// { dg-do compile { target c++11 } }
// There must be 5 subprograms generated:
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings" }
// { dg-do compile { target c++11 } }
// There must be 5 subprograms generated:
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// origin PR debug/30161
! // { dg-options "-g -dA" }
// { dg-do compile }
// { dg-final { scan-assembler "DW_TAG_template_type_param" } }
// { dg-final { scan-assembler "U.*DW_AT_name" } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
// origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA" }
// { dg-do compile }
// { dg-final { scan-assembler "DW_TAG_template_type_param" } }
// { dg-final { scan-assembler "U.*DW_AT_name" } }
***************
// Origin PR c++/47291
! // { dg-options "-g -dA" }
// { dg-do compile }
struct S;
// Origin PR c++/47291
! // { dg-options "-gdwarf-2 -dA" }
// { dg-do compile }
struct S;
***************
// PR c++/54410
! // { dg-options "-g -dA" }
// { dg-final { scan-assembler-times "DIE \\(\[^\n\]*\\) DW_TAG_template_type_param" 1 } }
namespace N {
// PR c++/54410
! // { dg-options "-gdwarf-2 -dA" }
// { dg-final { scan-assembler-times "DIE \\(\[^\n\]*\\) DW_TAG_template_type_param" 1 } }
namespace N {
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// origin PR debug/30161
! // { dg-options "-g -dA" }
// { dg-do compile }
// { dg-final { scan-assembler "DW_TAG_template_value_param" } }
// { dg-final { scan-assembler "i.*DW_AT_name" } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
// origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA" }
// { dg-do compile }
// { dg-final { scan-assembler "DW_TAG_template_value_param" } }
// { dg-final { scan-assembler "i.*DW_AT_name" } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-g -dA -gno-strict-dwarf -fno-merge-debug-strings" }
// { dg-final { scan-assembler "DW_TAG_template_value_param" } }
// { dg-final { scan-assembler "f.*DW_AT_name" } }
// { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*_Z4blehv\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA -gno-strict-dwarf -fno-merge-debug-strings" }
// { dg-final { scan-assembler "DW_TAG_template_value_param" } }
// { dg-final { scan-assembler "f.*DW_AT_name" } }
// { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*_Z4blehv\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
// { dg-do compile { target c++11 } }
! // { dg-options "-g -dA" }
//
// In theory the compiler instantiates count<int, char, long>,
// count<char, long> and count<long>. In practice, only
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
// { dg-do compile { target c++11 } }
! // { dg-options "-gdwarf-2 -dA" }
//
// In theory the compiler instantiates count<int, char, long>,
// count<char, long> and count<long>. In practice, only
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-g -dA" }
// { dg-final { scan-assembler "DW_TAG_template_type_param" } }
// { dg-final { scan-assembler "T.*DW_AT_name" } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA" }
// { dg-final { scan-assembler "DW_TAG_template_type_param" } }
// { dg-final { scan-assembler "T.*DW_AT_name" } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { 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 "\"vector.0\"\[^\n\]*DW_AT_GNU_template_name" 1 } }
// { dg-final { scan-assembler-times ".ascii \"U.0\"\[^\n\]*DW_AT_name" 1 } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings" }
// { dg-final { scan-assembler-times "DW_TAG_GNU_template_template_param" 2 } }
// { dg-final { scan-assembler-times "\"vector.0\"\[^\n\]*DW_AT_GNU_template_name" 1 } }
// { dg-final { scan-assembler-times ".ascii \"U.0\"\[^\n\]*DW_AT_name" 1 } }
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
// { dg-do compile { target c++11 } }
! // { dg-options "-g -dA -fno-merge-debug-strings" }
// 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
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin PR debug/30161
// { dg-do compile { target c++11 } }
! // { dg-options "-gdwarf-2 -dA -fno-merge-debug-strings" }
// 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
***************
// Origin PR debug/46955
! // { dg-options "-g -dA" }
// { dg-do compile }
struct S { int f; };
// Origin PR debug/46955
! // { dg-options "-gdwarf-2 -dA" }
// { dg-do compile }
struct S { int f; };
***************
// Origin PR debug/PR46973
! // { dg-options "-g -dA" }
// { dg-do compile }
struct S
// Origin PR debug/PR46973
! // { dg-options "-gdwarf-2 -dA" }
// { dg-do compile }
struct S
***************
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR c++/40705
! // { dg-options "-g -dA -fno-debug-types-section" }
// { dg-do compile }
// { dg-final { scan-assembler-times "DW_TAG_structure_type" 2 } }
// { dg-final { scan-assembler-times "DW_AT_name: \"foo<1u>\"|\"foo<1u>..\"\[^\n\]*DW_AT_name" 1 } }
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR c++/40705
! // { dg-options "-gdwarf-2 -dA -fno-debug-types-section" }
// { dg-do compile }
// { dg-final { scan-assembler-times "DW_TAG_structure_type" 2 } }
// { dg-final { scan-assembler-times "DW_AT_name: \"foo<1u>\"|\"foo<1u>..\"\[^\n\]*DW_AT_name" 1 } }
***************
// Origin: PR debug/43628
! // { dg-options "-g -dA -fno-debug-types-section" }
// { dg-do compile }
// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_formal_parameter\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type\[\n\r\]{1,2}" 1 } }
// Origin: PR debug/43628
! // { dg-options "-gdwarf-2 -dA -fno-debug-types-section" }
// { dg-do compile }
// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_formal_parameter\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type\[\n\r\]{1,2}" 1 } }
***************
// Origin: PR debug/44188
! // { dg-options "-g -dA" }
// { dg-do compile }
// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_typedef\\)" 1 } }
// Origin: PR debug/44188
! // { dg-options "-gdwarf-2 -dA" }
// { dg-do compile }
// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_typedef\\)" 1 } }
***************
// Origin: PR debug/45171
! // { dg-options "-g -dA -fno-eliminate-unused-debug-types -fno-debug-types-section" }
// { dg-do compile }
// There should be 2 real instances of byte_size -- one for the
// Origin: PR debug/45171
! // { dg-options "-gdwarf-2 -dA -fno-eliminate-unused-debug-types -fno-debug-types-section" }
// { dg-do compile }
// There should be 2 real instances of byte_size -- one for the
***************
// Origin: PR debug/46101
! // { dg-options "-g -feliminate-dwarf2-dups" }
// { dg-do compile }
typedef struct
// Origin: PR debug/46101
! // { dg-options "-gdwarf-2 -feliminate-dwarf2-dups" }
// { dg-do compile }
typedef struct
***************
// Origin PR debug/
! // { dg-options "-g -dA" }
class C {
public:
// Origin PR debug/
! // { dg-options "-gdwarf-2 -dA" }
class C {
public: