1# Copyright (C) 1997-2018 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 for precompiled header interaction, 18# that uses the `dg.exp' driver. 19 20# Load support procs. 21load_lib gcc-dg.exp 22load_lib dg-pch.exp 23load_lib torture-options.exp 24 25# Initialize `dg'. 26dg-init 27torture-init 28set-torture-options $DG_TORTURE_OPTIONS 29pch-init 30 31set old_dg_do_what_default "${dg-do-what-default}" 32 33# Main loop. 34foreach test [lsort [glob -nocomplain $srcdir/$subdir/*.c]] { 35 global torture_without_loops 36 37 # We don't try to use the loop-optimizing options, since they are highly 38 # unlikely to make any difference to PCH. However, we do want to 39 # add -O0 -g, since users who want PCH usually want debugging and quick 40 # compiles. 41 dg-pch $subdir $test [concat [list {-O0 -g}] $torture_without_loops] ".h" 42} 43 44set test "largefile.c" 45set testh "largefile.hs" 46set f [open $test w] 47puts $f "/* { dg-timeout-factor 4.0 } */" 48set v 0 49for { set v 0 } { $v < 10000 } { incr v } { 50 puts $f "#define MACRO_${v} \"1234567890\" \"$v\"" 51} 52puts $f "#include \"largefile.h\"" 53close $f 54set f [open $testh w] 55close $f 56dg-pch $subdir $test [concat [list {-O0 -g}] $torture_without_loops] ".h" 57file delete $test 58file delete $testh 59 60set dg-do-what-default "$old_dg_do_what_default" 61 62# All done. 63pch-finish 64torture-finish 65dg-finish 66