This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] sim: bfin: skip .c/.S tests if no compiler is available


similar to logic in the cris exp, attempt a simple compile and if it fails
(presumably due to the compiler being broken), skip all the related tests. 
fortunately, most tests (~600 out of ~800) are pure assembly, so people should
still get pretty good coverage.
-mike

2012-03-25  Mike Frysinger  <vapier@gentoo.org>

	* allinsn.exp: If preprocessing usp.S fails, set has_cpp to 0,
	else set it to 1.  If compiling argc.c fails, set has_cc to 0,
	else set it to 1.  When processing each src file, if has_ccp is
	0 and the file ends in .S, skip it; if it has_cc is 0 and the 
	file ends in .c, skip it.

--- sim/testsuite/sim/bfin/allinsn.exp
+++ sim/testsuite/sim/bfin/allinsn.exp
@@ -4,7 +4,35 @@ if [istarget bfin-*-elf] {
     # all machines
     set all_machs "bfin"
 
+    # See if we have a preprocessor available.
+    if { [target_compile $srcdir/$subdir/usp.S compilercheck.x "preprocess" \
+	  [list "incdir=$srcdir/$subdir"]] == "" } {
+	set has_cpp 1
+    } {
+	verbose -log "Can't execute preprocessor"
+	set has_cpp 0
+    }
+
+    # See if we have a compiler available.
+    if { [target_compile $srcdir/$subdir/argc.c compilercheck.x "executable" \
+	  [list "incdir=$srcdir/$subdir" "additional_flags=-msim"]] == "" } {
+	set has_cc 1
+    } {
+	verbose -log "Can't execute C compiler"
+	set has_cc 0
+    }
+
     foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.\[csS\]]] {
+	# If we don't have a compiler available, skip tests :(.
+	if { $has_cpp == 0 && [string match "*.S" $src] } {
+	    untested $src
+	    continue
+	}
+	if { $has_cc == 0 && [string match "*.c" $src] } {
+	    untested $src
+	    continue
+	}
+
 	# If we're only testing specific files and this isn't one of them,
 	# skip it.
 	if ![runtest_file_p $runtests $src] {

Attachment: signature.asc
Description: This is a digitally signed message part.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]