aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2016-12-31 00:48:34 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2017-01-04 00:41:56 +0530
commit2589009d236442dfbaa7573343329baf5b1c3dd1 (patch)
tree2b973b90d1d44845df2516f927a693047dc7ed5c
parent6e5c87e3803ae49c694d4663616365ab193a45c2 (diff)
downloadmeson-2589009d236442dfbaa7573343329baf5b1c3dd1.zip
meson-2589009d236442dfbaa7573343329baf5b1c3dd1.tar.gz
meson-2589009d236442dfbaa7573343329baf5b1c3dd1.tar.bz2
ifort: Derive from IntelCompiler base class
And fix the list of supported file suffixes, and use .f90 for all fortran tests since ifort, the Intel Fortran compiler ignores files ending with .f95, .f03, and .f08
-rw-r--r--mesonbuild/compilers.py16
-rw-r--r--test cases/fortran/1 basic/meson.build2
-rw-r--r--test cases/fortran/1 basic/simple.f90 (renamed from test cases/fortran/1 basic/simple.f95)0
-rw-r--r--test cases/fortran/2 modules/meson.build2
-rw-r--r--test cases/fortran/2 modules/prog.f90 (renamed from test cases/fortran/2 modules/prog.f95)0
-rw-r--r--test cases/fortran/2 modules/stuff.f90 (renamed from test cases/fortran/2 modules/stuff.f95)0
-rw-r--r--test cases/fortran/5 static/main.f90 (renamed from test cases/fortran/5 static/main.f95)0
-rw-r--r--test cases/fortran/5 static/meson.build4
-rw-r--r--test cases/fortran/5 static/static_hello.f90 (renamed from test cases/fortran/5 static/static_hello.f95)0
-rw-r--r--test cases/fortran/6 dynamic/dynamic.f90 (renamed from test cases/fortran/6 dynamic/dynamic.f95)0
-rw-r--r--test cases/fortran/6 dynamic/main.f90 (renamed from test cases/fortran/6 dynamic/main.f95)0
-rw-r--r--test cases/fortran/6 dynamic/meson.build4
12 files changed, 15 insertions, 13 deletions
diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py
index b36f285..8212d01 100644
--- a/mesonbuild/compilers.py
+++ b/mesonbuild/compilers.py
@@ -33,7 +33,9 @@ lib_suffixes = ('a', 'lib', 'dll', 'dylib', 'so')
lang_suffixes = {
'c': ('c',),
'cpp': ('cpp', 'cc', 'cxx', 'c++', 'hh', 'hpp', 'ipp', 'hxx'),
- 'fortran': ('f', 'f90', 'f95'),
+ # f90, f95, f03, f08 are for free-form fortran ('f90' recommended)
+ # f, for, ftn, fpp are for fixed-form fortran ('f' or 'for' recommended)
+ 'fortran': ('f90', 'f95', 'f03', 'f08', 'f', 'for', 'ftn', 'fpp'),
'd': ('d', 'di'),
'objc': ('m',),
'objcpp': ('mm',),
@@ -2704,12 +2706,15 @@ class SunFortranCompiler(FortranCompiler):
def get_module_outdir_args(self, path):
return ['-moddir=' + path]
-class IntelFortranCompiler(FortranCompiler):
+class IntelFortranCompiler(IntelCompiler, FortranCompiler):
std_warn_args = ['-warn', 'all']
def __init__(self, exelist, version, is_cross, exe_wrapper=None):
- self.file_suffixes = ('f', 'f90')
- super().__init__(exelist, version, is_cross, exe_wrapper=None)
+ self.file_suffixes = ('f90', 'f', 'for', 'ftn', 'fpp')
+ FortranCompiler.__init__(self, exelist, version, is_cross, exe_wrapper)
+ # FIXME: Add support for OS X and Windows in detect_fortran_compiler so
+ # we are sent the type of compiler
+ IntelCompiler.__init__(self, ICC_STANDARD)
self.id = 'intel'
def get_module_outdir_args(self, path):
@@ -2771,9 +2776,6 @@ class NAGFortranCompiler(FortranCompiler):
def get_module_outdir_args(self, path):
return ['-mdir', path]
- def get_always_args(self):
- return []
-
def get_warn_args(self, level):
return NAGFortranCompiler.std_warn_args
diff --git a/test cases/fortran/1 basic/meson.build b/test cases/fortran/1 basic/meson.build
index 9c40951..833a177 100644
--- a/test cases/fortran/1 basic/meson.build
+++ b/test cases/fortran/1 basic/meson.build
@@ -2,6 +2,6 @@ project('simple fortran', 'fortran')
add_global_arguments('-fbounds-check', language : 'fortran')
-e = executable('simple', 'simple.f95',
+e = executable('simple', 'simple.f90',
fortran_args : '-ffree-form')
test('Simple Fortran', e)
diff --git a/test cases/fortran/1 basic/simple.f95 b/test cases/fortran/1 basic/simple.f90
index e0fb1d8..e0fb1d8 100644
--- a/test cases/fortran/1 basic/simple.f95
+++ b/test cases/fortran/1 basic/simple.f90
diff --git a/test cases/fortran/2 modules/meson.build b/test cases/fortran/2 modules/meson.build
index 0087c26..030f255 100644
--- a/test cases/fortran/2 modules/meson.build
+++ b/test cases/fortran/2 modules/meson.build
@@ -1,4 +1,4 @@
project('modules', 'fortran')
-e = executable('modprog', 'stuff.f95', 'prog.f95')
+e = executable('modprog', 'stuff.f90', 'prog.f90')
test('moduletest', e)
diff --git a/test cases/fortran/2 modules/prog.f95 b/test cases/fortran/2 modules/prog.f90
index c3998cc..c3998cc 100644
--- a/test cases/fortran/2 modules/prog.f95
+++ b/test cases/fortran/2 modules/prog.f90
diff --git a/test cases/fortran/2 modules/stuff.f95 b/test cases/fortran/2 modules/stuff.f90
index 4a6399b..4a6399b 100644
--- a/test cases/fortran/2 modules/stuff.f95
+++ b/test cases/fortran/2 modules/stuff.f90
diff --git a/test cases/fortran/5 static/main.f95 b/test cases/fortran/5 static/main.f90
index dc6454c..dc6454c 100644
--- a/test cases/fortran/5 static/main.f95
+++ b/test cases/fortran/5 static/main.f90
diff --git a/test cases/fortran/5 static/meson.build b/test cases/fortran/5 static/meson.build
index d6f922b..bd74a29 100644
--- a/test cases/fortran/5 static/meson.build
+++ b/test cases/fortran/5 static/meson.build
@@ -1,5 +1,5 @@
project('try-static-library', 'fortran')
-static_hello = static_library('static_hello', 'static_hello.f95')
+static_hello = static_library('static_hello', 'static_hello.f90')
-executable('test_exe', 'main.f95', link_with : static_hello)
+executable('test_exe', 'main.f90', link_with : static_hello)
diff --git a/test cases/fortran/5 static/static_hello.f95 b/test cases/fortran/5 static/static_hello.f90
index 63415b0..63415b0 100644
--- a/test cases/fortran/5 static/static_hello.f95
+++ b/test cases/fortran/5 static/static_hello.f90
diff --git a/test cases/fortran/6 dynamic/dynamic.f95 b/test cases/fortran/6 dynamic/dynamic.f90
index e78a406..e78a406 100644
--- a/test cases/fortran/6 dynamic/dynamic.f95
+++ b/test cases/fortran/6 dynamic/dynamic.f90
diff --git a/test cases/fortran/6 dynamic/main.f95 b/test cases/fortran/6 dynamic/main.f90
index cb3a53f..cb3a53f 100644
--- a/test cases/fortran/6 dynamic/main.f95
+++ b/test cases/fortran/6 dynamic/main.f90
diff --git a/test cases/fortran/6 dynamic/meson.build b/test cases/fortran/6 dynamic/meson.build
index 53edaf6..c791dac 100644
--- a/test cases/fortran/6 dynamic/meson.build
+++ b/test cases/fortran/6 dynamic/meson.build
@@ -1,4 +1,4 @@
project('dynamic_fortran', 'fortran')
-dynamic = shared_library('dynamic', 'dynamic.f95')
-executable('test_exe', 'main.f95', link_with : dynamic)
+dynamic = shared_library('dynamic', 'dynamic.f90')
+executable('test_exe', 'main.f90', link_with : dynamic)