1# Copyright (C) 2013-2020 Free Software Foundation, Inc.
2#
3# This file is part of GCC.
4#
5# GCC is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 3, or (at your option)
8# any later version.
9#
10# GCC is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with GCC; see the file COPYING3.  If not see
17# <http://www.gnu.org/licenses/>.
18
19# GCC testsuite that uses the `dg.exp' driver.
20
21# Load support procs.
22load_lib gfortran-dg.exp
23load_lib target-supports.exp
24
25# If a testcase doesn't have special options, use these.
26global DEFAULT_FFLAGS
27if ![info exists DEFAULT_FFLAGS] then {
28    set DEFAULT_FFLAGS " -pedantic-errors"
29}
30
31# Initialize `dg'.
32dg-init
33
34# Flags for finding the IEEE modules
35if [info exists TOOL_OPTIONS] {
36   set specpath [get_multilibs ${TOOL_OPTIONS}]
37} else {
38   set specpath [get_multilibs]
39}
40set options "-fintrinsic-modules-path $specpath/libgfortran/"
41
42# Bail out if IEEE tests are not supported at all
43if ![check_effective_target_fortran_ieee $options ] {
44 return
45}
46
47# Add target-independent options to require IEEE compatibility
48set options "$DEFAULT_FFLAGS $options -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans"
49
50# Add target-specific options to require IEEE compatibility
51set target_options [add_options_for_ieee ""]
52set options "$options $target_options"
53
54# Main loop.
55gfortran-dg-runtest [lsort \
56      [find $srcdir/$subdir *.\[fF\]{,90,95,03,08} ] ] "" $options
57
58# All done.
59dg-finish
60