1*1fd5a2e1SPrashanth Swaminathan# Copyright (C) 2003, 2006, 2009, 2010, 2014, 2019 Free Software Foundation, Inc. 2*1fd5a2e1SPrashanth Swaminathan# Copyright (C) 2019 Anthony Green 3*1fd5a2e1SPrashanth Swaminathan 4*1fd5a2e1SPrashanth Swaminathan# This program is free software; you can redistribute it and/or modify 5*1fd5a2e1SPrashanth Swaminathan# it under the terms of the GNU General Public License as published by 6*1fd5a2e1SPrashanth Swaminathan# the Free Software Foundation; either version 3 of the License, or 7*1fd5a2e1SPrashanth Swaminathan# (at your option) any later version. 8*1fd5a2e1SPrashanth Swaminathan# 9*1fd5a2e1SPrashanth Swaminathan# This program is distributed in the hope that it will be useful, 10*1fd5a2e1SPrashanth Swaminathan# but WITHOUT ANY WARRANTY; without even the implied warranty of 11*1fd5a2e1SPrashanth Swaminathan# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12*1fd5a2e1SPrashanth Swaminathan# GNU General Public License for more details. 13*1fd5a2e1SPrashanth Swaminathan# 14*1fd5a2e1SPrashanth Swaminathan# You should have received a copy of the GNU General Public License 15*1fd5a2e1SPrashanth Swaminathan# along with this program; see the file COPYING3. If not see 16*1fd5a2e1SPrashanth Swaminathan# <http://www.gnu.org/licenses/>. 17*1fd5a2e1SPrashanth Swaminathan 18*1fd5a2e1SPrashanth Swaminathandg-init 19*1fd5a2e1SPrashanth Swaminathanlibffi-init 20*1fd5a2e1SPrashanth Swaminathan 21*1fd5a2e1SPrashanth Swaminathanglobal srcdir subdir 22*1fd5a2e1SPrashanth Swaminathan 23*1fd5a2e1SPrashanth Swaminathanif { [string match $compiler_vendor "microsoft"] } { 24*1fd5a2e1SPrashanth Swaminathan # -wd4005 macro redefinition 25*1fd5a2e1SPrashanth Swaminathan # -wd4244 implicit conversion to type of smaller size 26*1fd5a2e1SPrashanth Swaminathan # -wd4305 truncation to smaller type 27*1fd5a2e1SPrashanth Swaminathan # -wd4477 printf %lu of uintptr_t 28*1fd5a2e1SPrashanth Swaminathan # -wd4312 implicit conversion to type of greater size 29*1fd5a2e1SPrashanth Swaminathan # -wd4311 pointer truncation to unsigned long 30*1fd5a2e1SPrashanth Swaminathan # -EHsc C++ Exception Handling (no SEH exceptions) 31*1fd5a2e1SPrashanth Swaminathan set additional_options "-wd4005 -wd4244 -wd4305 -wd4477 -wd4312 -wd4311 -EHsc"; 32*1fd5a2e1SPrashanth Swaminathan} else { 33*1fd5a2e1SPrashanth Swaminathan set additional_options ""; 34*1fd5a2e1SPrashanth Swaminathan} 35*1fd5a2e1SPrashanth Swaminathan 36*1fd5a2e1SPrashanth Swaminathanset tlist [lsort [glob -nocomplain -- $srcdir/$subdir/*.c]] 37*1fd5a2e1SPrashanth Swaminathan 38*1fd5a2e1SPrashanth Swaminathanif { [libffi_feature_test "#if FFI_CLOSURES"] } { 39*1fd5a2e1SPrashanth Swaminathan run-many-tests $tlist "" 40*1fd5a2e1SPrashanth Swaminathan} else { 41*1fd5a2e1SPrashanth Swaminathan foreach test $tlist { 42*1fd5a2e1SPrashanth Swaminathan unsupported "$test" 43*1fd5a2e1SPrashanth Swaminathan } 44*1fd5a2e1SPrashanth Swaminathan} 45*1fd5a2e1SPrashanth Swaminathan 46*1fd5a2e1SPrashanth Swaminathanset tlist [lsort [glob -nocomplain -- $srcdir/$subdir/*.cc]] 47*1fd5a2e1SPrashanth Swaminathan 48*1fd5a2e1SPrashanth Swaminathan# No C++ for or1k 49*1fd5a2e1SPrashanth Swaminathanif { [istarget "or1k-*-*"] } { 50*1fd5a2e1SPrashanth Swaminathan foreach test $tlist { 51*1fd5a2e1SPrashanth Swaminathan unsupported "$test" 52*1fd5a2e1SPrashanth Swaminathan } 53*1fd5a2e1SPrashanth Swaminathan} else { 54*1fd5a2e1SPrashanth Swaminathan if { [libffi_feature_test "#if FFI_CLOSURES"] } { 55*1fd5a2e1SPrashanth Swaminathan run-many-tests $tlist $additional_options 56*1fd5a2e1SPrashanth Swaminathan } else { 57*1fd5a2e1SPrashanth Swaminathan foreach test $tlist { 58*1fd5a2e1SPrashanth Swaminathan unsupported "$test" 59*1fd5a2e1SPrashanth Swaminathan } 60*1fd5a2e1SPrashanth Swaminathan } 61*1fd5a2e1SPrashanth Swaminathan} 62*1fd5a2e1SPrashanth Swaminathan 63*1fd5a2e1SPrashanth Swaminathandg-finish 64*1fd5a2e1SPrashanth Swaminathan 65*1fd5a2e1SPrashanth Swaminathan# Local Variables: 66*1fd5a2e1SPrashanth Swaminathan# tcl-indent-level:4 67*1fd5a2e1SPrashanth Swaminathan# End: 68