#   Copyright (C) 2011-2023 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; see the file COPYING3.  If not see
# <http://www.gnu.org/licenses/>.
load_lib gdb-test.exp
load_lib target-supports.exp
dg-init
v3-build_support
global GDB
if ![info exists ::env(GUALITY_GDB_NAME)] {
    if [info exists GDB] {
	set guality_gdb_name "$GDB"
    } else {
	set guality_gdb_name "[transform gdb]"
    }
    setenv GUALITY_GDB_NAME "$guality_gdb_name"
}
if {! [gdb_version_check]} {
    dg-finish
    # Only print unsupported message in one instance.
    if ![gcc_parallel_test_run_p prettyprinters] {
	return
    }
    gcc_parallel_test_enable 0
    unsupported "prettyprinters.exp"
    gcc_parallel_test_enable 1
    return
}
global DEFAULT_CXXFLAGS
global PCH_CXXFLAGS
gdb-dg-runtest [lsort [glob $srcdir/$subdir/*.cc]] \
  "" "$DEFAULT_CXXFLAGS $PCH_CXXFLAGS"
if { [check_effective_target_lto] } {
  append cxxflags " -flto"
  # Work around linker bug https://sourceware.org/PR20882
  regsub {^(.*)-Wl,--gc-sections(.*)$} $cxxldflags {\1\2} cxxldflags
  gdb-dg-runtest [lsort [glob $srcdir/$subdir/*.cc]] \
    "" "$DEFAULT_CXXFLAGS -flto $PCH_CXXFLAGS"
}
if [info exists guality_gdb_name] {
    unsetenv GUALITY_GDB_NAME
}
dg-finish