diff options
author | rgommers <ralf.gommers@googlemail.com> | 2011-03-09 21:29:09 +0800 |
---|---|---|
committer | rgommers <ralf.gommers@googlemail.com> | 2011-03-09 21:42:05 +0800 |
commit | ce9fea2c202f80ab39fa2b4866efd08ad075b9f2 (patch) | |
tree | 1f5099a8098b1dcc1b871e088b41ea210e93e327 | |
parent | f43223479f917e404e724e6a3df27aa701e6d6bf (diff) | |
download | numpy-ce9fea2c202f80ab39fa2b4866efd08ad075b9f2.tar.gz |
BUG: fix 64-bit Intel Fortran compiler detection. Closes #1448.
-rw-r--r-- | numpy/distutils/fcompiler/intel.py | 8 | ||||
-rw-r--r-- | numpy/distutils/tests/test_fcompiler_intel.py | 34 |
2 files changed, 38 insertions, 4 deletions
diff --git a/numpy/distutils/fcompiler/intel.py b/numpy/distutils/fcompiler/intel.py index d7effb01e..b593a91c7 100644 --- a/numpy/distutils/fcompiler/intel.py +++ b/numpy/distutils/fcompiler/intel.py @@ -136,9 +136,9 @@ class IntelItaniumFCompiler(IntelFCompiler): class IntelEM64TFCompiler(IntelFCompiler): compiler_type = 'intelem' compiler_aliases = () - description = 'Intel Fortran Compiler for EM64T-based apps' + description = 'Intel Fortran Compiler for 64-bit apps' - version_match = intel_version_match('EM64T-based|Intel\\(R\\) 64') + version_match = intel_version_match('EM64T-based|Intel\\(R\\) 64|64|IA-64|64-bit') possible_executables = ['ifort', 'efort', 'efc'] @@ -165,9 +165,9 @@ class IntelVisualFCompiler(BaseIntelFCompiler): compiler_type = 'intelv' description = 'Intel Visual Fortran Compiler for 32-bit apps' version_match = intel_version_match('32-bit|IA-32') - + def update_executables(self): - f = dummy_fortran_file() + f = dummy_fortran_file() self.executables['version_cmd'] = ['<F77>', '/FI', '/c', f + '.f', '/o', f + '.o'] diff --git a/numpy/distutils/tests/test_fcompiler_intel.py b/numpy/distutils/tests/test_fcompiler_intel.py new file mode 100644 index 000000000..ad03daeea --- /dev/null +++ b/numpy/distutils/tests/test_fcompiler_intel.py @@ -0,0 +1,34 @@ +from numpy.testing import * + +import numpy.distutils.fcompiler + +intel_32bit_version_strings = [ + ("Intel(R) Fortran Intel(R) 32-bit Compiler Professional for applications"\ + "running on Intel(R) 32, Version 11.1", '11.1'), +] + +intel_64bit_version_strings = [ + ("Intel(R) Fortran IA-64 Compiler Professional for applications"\ + "running on IA-64, Version 11.0", '11.0'), + ("Intel(R) Fortran Intel(R) 64 Compiler Professional for applications"\ + "running on Intel(R) 64, Version 11.1", '11.1') +] + +class TestIntelFCompilerVersions(TestCase): + def test_32bit_version(self): + fc = numpy.distutils.fcompiler.new_fcompiler(compiler='intel') + for vs, version in intel_32bit_version_strings: + v = fc.version_match(vs) + assert_(v == version) + + +class TestIntelEM64TFCompilerVersions(TestCase): + def test_64bit_version(self): + fc = numpy.distutils.fcompiler.new_fcompiler(compiler='intelem') + for vs, version in intel_64bit_version_strings: + v = fc.version_match(vs) + assert_(v == version) + + +if __name__ == '__main__': + run_module_suite() |