1# Copyright (C) 2000-2019 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# Various utilities for scanning tree dump output, used by gcc-dg.exp and 18# g++-dg.exp. 19 20load_lib scandump.exp 21 22# Utility for scanning compiler result, invoked via dg-final. 23# Call pass if pattern is present, otherwise fail. 24# 25# Argument 0 is the regexp to match 26# Argument 1 is the name of the dumped lang pass 27# Argument 2 handles expected failures and the like 28proc scan-lang-dump { args } { 29 30 if { [llength $args] < 2 } { 31 error "scan-lang-dump: too few arguments" 32 return 33 } 34 if { [llength $args] > 3 } { 35 error "scan-lang-dump: too many arguments" 36 return 37 } 38 if { [llength $args] >= 3 } { 39 scan-dump "lang" [lindex $args 0] \ 40 "\[0-9\]\[0-9\]\[0-9\]l.[lindex $args 1]" "" [lindex $args 2] 41 } else { 42 scan-dump "lang" [lindex $args 0] \ 43 "\[0-9\]\[0-9\]\[0-9\]l.[lindex $args 1]" "" 44 } 45} 46