# Copyright 2002-2021 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Tests for member static data
# 2002-05-13  Benjamin Kosnik  <bkoz@redhat.com>
# 2002-08-22  David Carlton <carlton@math.stanford.edu>

# This file is part of the gdb testsuite

if { [skip_cplus_tests] } { continue }

#
# test running programs
#

standard_testfile .cc m-static1.cc

if [get_compiler_info] {
    return -1
}

set flags [list debug c++]
if { [test_compiler_info gcc-*] && [gcc_major_version] >= 10 } {
    # Work around PR gcc/101452.
    lappend flags additional_flags=-fno-eliminate-unused-debug-types
}

if {[prepare_for_testing "failed to prepare" $testfile \
	 [list $srcfile $srcfile2] $flags]} {
    return -1
}

if ![runto_main] then {
    perror "couldn't run to breakpoint"
    continue
}

get_debug_format
set non_dwarf [expr ! [test_debug_format "DWARF 2"]]

# First, run to after we've constructed all the objects:

gdb_breakpoint [gdb_get_line_number "constructs-done"]
gdb_continue_to_breakpoint "end of constructors"


# One.

# simple object, static const bool
gdb_test "print test1.test" "\\$\[0-9\]* = true" "simple object, static const bool"

# simple object, static const int
gdb_test "print test1.key1" "\\$\[0-9\]* = 5" "simple object, static const int"

# simple object, static long
gdb_test "print test1.key2" "\\$\[0-9\]* = 77" "simple object, static long"

# simple object, static enum
gdb_test "print test1.value" "\\$\[0-9\]* = oriental" "simple object, static enum"

if { [is_aarch32_target] } {
    gdb_test "print test5.single_constructor" \
	{ = {single_constructor \*\(single_constructor \* const\)} 0x[0-9a-f]+ <single_constructor::single_constructor\(\)>} \
	"simple object instance, print constructor"
    gdb_test "ptype test5.single_constructor" \
	{type = class single_constructor {\r\n  public:\r\n    single_constructor\(void\);\r\n    ~single_constructor\(\);\r\n} \*\(single_constructor \* const\)} \
	"simple object instance, ptype constructor"
    gdb_test "ptype single_constructor::single_constructor" \
	{type = class single_constructor {\r\n  public:\r\n    single_constructor\(void\);\r\n    ~single_constructor\(\);\r\n} \*\(single_constructor \* const\)} \
	"simple object class, ptype constructor"

    gdb_test "print test1.~gnu_obj_1" \
	{ = {void \*\(gnu_obj_1 \* const, int\)} 0x[0-9a-f]+ <gnu_obj_1::~gnu_obj_1\(\)>} \
	"simple object instance, print destructor"
    gdb_test "ptype test1.~gnu_obj_1" \
	{type = void \*\(gnu_obj_1 \* const, int\)} \
	"simple object instance, ptype destructor"

    gdb_test "print test1.'~gnu_obj_1'" \
	{ = {void \*\(gnu_obj_1 \*( const)?, int\)} 0x[0-9a-f]+ <gnu_obj_1::~gnu_obj_1\(\)>} \
	"simple object instance, print quoted destructor"

    gdb_test "ptype gnu_obj_1::'~gnu_obj_1'" \
	{type = void \*\(gnu_obj_1 \* const\)} \
	"simple object class, ptype quoted destructor"
} else {
    gdb_test "print test5.single_constructor" \
	{ = {void \(single_constructor \* const\)} 0x[0-9a-f]+ <single_constructor::single_constructor\(\)>} \
	"simple object instance, print constructor"
    gdb_test "ptype test5.single_constructor" \
	{type = void \(single_constructor \* const\)} \
	"simple object instance, ptype constructor"
    gdb_test "ptype single_constructor::single_constructor" \
	{type = void \(single_constructor \* const\)} \
	"simple object class, ptype constructor"

    gdb_test "print test1.~gnu_obj_1" \
	{ = {void \(gnu_obj_1 \* const, int\)} 0x[0-9a-f]+ <gnu_obj_1::~gnu_obj_1\(\)>} \
	"simple object instance, print destructor"
    gdb_test "ptype test1.~gnu_obj_1" \
	{type = void \(gnu_obj_1 \* const, int\)} \
	"simple object instance, ptype destructor"

    gdb_test "print test1.'~gnu_obj_1'" \
	{ = {void \(gnu_obj_1 \*( const)?, int\)} 0x[0-9a-f]+ <gnu_obj_1::~gnu_obj_1\(\)>} \
	"simple object instance, print quoted destructor"

    gdb_test "ptype gnu_obj_1::'~gnu_obj_1'" \
	{type = void \(gnu_obj_1 \* const\)} \
	"simple object class, ptype quoted destructor"
}

# Two.

# derived template object, base static const bool
gdb_test "print test2.test" "\\$\[0-9\]* = true" "derived template object, base static const bool"

# derived template object, base static const int
gdb_test "print test2.key1" "\\$\[0-9\]* = 5" "derived template object, base static const int"

# derived template object, base static long
gdb_test "print test2.key2" "\\$\[0-9\]* = 77" "derived template object, base static long"

# derived template object, base static enum
gdb_test "print test2.value" "\\$\[0-9\].* = oriental" "derived template object, base static enum"

# derived template object, static enum
gdb_test "print test2.value_derived" "\\$\[0-9\].* = etruscan" "derived template object, static enum"

# Three.

# template object, static derived template data member's base static const bool
gdb_test "print test3.data.test" "\\$\[0-9\].* = true" "template object, static const bool"

# template object, static derived template data member's base static const int
gdb_test "print test3.data.key1" "\\$\[0-9\].* = 5" "template object, static const int"

# template object, static derived template data member's base static long
gdb_test "print test3.data.key2" "\\$\[0-9\].* = 77" "template object, static long"

# template object, static derived template data member's base static enum
gdb_test "print test3.data.value" "\\$\[0-9\].* = oriental" "template object, static enum"

#  template object, static derived template data member's static enum
gdb_test "print test3.data.value_derived" "\\$\[0-9\].* = etruscan" "template object, static derived enum"

# 2002-08-16
# Four.

# static const int initialized in another file.
gdb_test "print test4.elsewhere" "\\$\[0-9\].* = 221" "static const int initialized elsewhere"

# static const int that nobody initializes.  From PR gdb/635.
if {[test_compiler_info {gcc-[0-3]-*}]
    || [test_compiler_info {gcc-4-[0-4]-*}]} {
    # There was an extra CU-level DW_TAG_variable as DW_AT_declaration
    # with DW_AT_name = nowhere
    # and DW_AT_MIPS_linkage_name = _ZN9gnu_obj_47nowhereE .
    setup_xfail *-*-*
}
gdb_test "print test4.nowhere" "<optimized out>" "static const int initialized nowhere (print field)"
gdb_test "ptype test4.nowhere" "type = const int"
gdb_test "print test4.nowhere.nowhere" "Attempt to extract a component of a value that is not a structure."

# Same, but print the whole struct.
gdb_test "print test4" "static nowhere = <optimized out>.*" "static const int initialized nowhere (whole struct)"

# static const initialized in the class definition, PR gdb/11702.
if { $non_dwarf } { setup_xfail *-*-* }
gdb_test "print test4.everywhere" "\\$\[0-9\].* = 317" "static const int initialized in class definition"
if { $non_dwarf } { setup_xfail *-*-* }
gdb_test "print test4.somewhere" "\\$\[0-9\].* = 3.14\[0-9\]*" "static const float initialized in class definition"

# Also make sure static const members can be found via "info var".
if { $non_dwarf } { setup_xfail *-*-* }
gdb_test "info variable everywhere" "File .*/m-static\[.\]h.*const int gnu_obj_4::everywhere;"

# Perhaps at some point test4 should also include a test for a static
# const int that was initialized in the header file.  But I'm not sure
# that GDB's current behavior in such situations is either consistent
# across platforms or optimal, so I'm not including one now.

# Step into test1.method and examine the method-scoped static.
# This is a regression test for PR 9708.
gdb_test "step" "gnu_obj_1::method.*"
gdb_test "print svar" " = true"

gdb_exit
return 0
