1# Copyright (C) 2008-2015 Free Software Foundation, Inc. 2 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with GCC; see the file COPYING3. If not see 15# <http://www.gnu.org/licenses/>. 16 17# GCC testsuite that uses the `gcc-dg.exp' driver, looping over 18# optimization options. 19 20# Exit immediately if this isn't a AVR target. 21if { ![istarget avr-*-*] } then { 22 return 23} 24 25# Load support procs. 26load_lib gcc-dg.exp 27 28# If a testcase doesn't have special options, use these. 29global DEFAULT_CFLAGS 30if ![info exists DEFAULT_CFLAGS] then { 31 set DEFAULT_CFLAGS " -ansi -pedantic-errors" 32} 33 34# Initialize `dg'. 35dg-init 36 37 set AVR_TORTURE_OPTIONS [list \ 38 { -O0 } \ 39 { -O1 } \ 40 { -O2 } \ 41 { -Os -flto } \ 42 { -O2 -mcall-prologues } \ 43 { -O2 -fdata-sections } \ 44 { -O2 -fmerge-all-constants } \ 45 { -Os -fomit-frame-pointer } \ 46 { -Os -fomit-frame-pointer -finline-functions } \ 47 { -O3 -g } \ 48 { -Os -mcall-prologues} ] 49 50 51#Initialize use of torture lists. 52torture-init 53 54set-torture-options $AVR_TORTURE_OPTIONS 55 56 57# Main loop. 58gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{\[cS\],cpp}]] "" $DEFAULT_CFLAGS 59 60# Finalize use of torture lists. 61torture-finish 62 63# All done. 64dg-finish 65