| 125 | |
| 126 | |
| 127 | class IntelVisualFCompiler(BaseIntelFCompiler): |
| 128 | compiler_type = 'intelv' |
| 129 | description = 'Intel Visual Fortran Compiler for 32-bit apps' |
| 130 | version_match = intel_version_match('32-bit|IA-32') |
| 131 | |
| 132 | def update_executables(self): |
| 133 | f = dummy_fortran_file() |
| 134 | self.executables['version_cmd'] = ['<F77>', '/FI', '/c', |
| 135 | f + '.f', '/o', f + '.o'] |
| 136 | |
| 137 | ar_exe = 'lib.exe' |
| 138 | possible_executables = ['ifort', 'ifl'] |
| 139 | |
| 140 | executables = { |
| 141 | 'version_cmd' : None, |
| 142 | 'compiler_f77' : [None], |
| 143 | 'compiler_fix' : [None], |
| 144 | 'compiler_f90' : [None], |
| 145 | 'linker_so' : [None], |
| 146 | 'archiver' : [ar_exe, "/verbose", "/OUT:"], |
| 147 | 'ranlib' : None |
| 148 | } |
| 149 | |
| 150 | compile_switch = '/c ' |
| 151 | object_switch = '/Fo' # No space after /Fo! |
| 152 | library_switch = '/OUT:' # No space after /OUT:! |
| 153 | module_dir_switch = '/module:' # No space after /module: |
| 154 | module_include_switch = '/I' |
| 155 | |
| 156 | def get_flags(self): |
| 157 | opt = ['/nologo', '/MD', '/nbs', '/names:lowercase', |
| 158 | '/assume:underscore', '/fpp'] |
| 159 | return opt |
| 160 | |
| 161 | def get_flags_free(self): |
| 162 | return [] |
| 163 | |
| 164 | def get_flags_debug(self): |
| 165 | return ['/4Yb', '/d2'] |
| 166 | |
| 167 | def get_flags_opt(self): |
| 168 | return ['/O1', '/assume:minus0'] # Scipy test failures with /O2 |
| 169 | |
| 170 | def get_flags_arch(self): |
| 171 | return ["/arch:IA32", "/QaxSSE3"] |
| 172 | |
| 173 | def runtime_library_dir_option(self, dir): |
| 174 | raise NotImplementedError |
| 175 | |
| 176 | |
| 177 | class IntelItaniumVisualFCompiler(IntelVisualFCompiler): |
nothing calls this directly
no test coverage detected