[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
patch for gfortran
From: |
Tom Tromey |
Subject: |
patch for gfortran |
Date: |
Tue, 28 Jun 2011 12:55:44 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Right now dejagnu supports g77 for compiling Fortran.
This is rather old -- last shipped in GCC 3.4, I believe.
This patch adds F90 support.
I wasn't sure which doc file I should update, so I didn't.
Let me know and I will correct it.
Tom
diff --git a/ChangeLog b/ChangeLog
index 92ea733..3cb7640 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-06-28 Tom Tromey <address@hidden>
+
+ * lib/target.exp (default_target_compile): Handle f90.
+ (default_target_compile): Likewise.
+ * lib/libgloss.exp (find_gfortran): New proc.
+
2011-04-12 Ben Elliston <address@hidden>
* config/vxworks.exp (vxworks_file): Use "file delete", not "exec
diff --git a/lib/libgloss.exp b/lib/libgloss.exp
index e651eb6..77150cb 100644
--- a/lib/libgloss.exp
+++ b/lib/libgloss.exp
@@ -1,5 +1,5 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-# 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
Foundation, Inc.
#
# This file is part of DejaGnu.
#
@@ -702,6 +702,25 @@ proc find_g77 {} {
return $CC
}
+proc find_gfortran {} {
+ global tool_root_dir
+
+ if {![is_remote host]} {
+ set file [lookfor_file $tool_root_dir gfortran]
+ if { $file == "" } {
+ set file [lookfor_file $tool_root_dir gcc/gfortran]
+ }
+ if { $file != "" } {
+ set CC "$file -B[file dirname $file]/"
+ } else {
+ set CC [transform gfortran]
+ }
+ } else {
+ set CC [transform gfortran]
+ }
+ return $CC
+}
+
proc find_gnatmake {} {
global tool_root_dir
diff --git a/lib/target.exp b/lib/target.exp
index c9fde2c..ec9fff2 100644
--- a/lib/target.exp
+++ b/lib/target.exp
@@ -1,5 +1,5 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-# 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
Foundation, Inc.
#
# This file is part of DejaGnu.
#
@@ -367,6 +367,18 @@ proc default_target_compile {source destfile type options}
{
}
}
+ if { $i == "f90" } {
+ set compiler_type "f90"
+ if {[board_info $dest exists f90flags]} {
+ append add_flags " [target_info f90flags]"
+ }
+ if {[board_info $dest exists f90compiler]} {
+ set compiler [target_info f90compiler]
+ } else {
+ set compiler [find_gfortran]
+ }
+ }
+
if {[regexp "^dest=" $i]} {
regsub "^dest=" $i "" tmp
if {[board_info $tmp exists name]} {
@@ -420,6 +432,7 @@ proc default_target_compile {source destfile type options} {
global CC_FOR_TARGET
global CXX_FOR_TARGET
global F77_FOR_TARGET
+ global F90_FOR_TARGET
global GNATMAKE_FOR_TARGET
if {[info exists GNATMAKE_FOR_TARGET]} {
@@ -446,6 +459,12 @@ proc default_target_compile {source destfile type options}
{
}
}
+ if {[info exists F90_FOR_TARGET]} {
+ if { $compiler_type == "f90" } {
+ set compiler $F90_FOR_TARGET
+ }
+ }
+
if { $compiler == "" } {
set compiler [board_info $dest compiler]
if { $compiler == "" } {
- patch for gfortran,
Tom Tromey <=