| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
MAINT: remove redundant open() modes and io.open() alias
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The `Path` and `COMMON_FIXED_EXTENSIONS` variables were not
defined at all. This code is untested, and SciPy doesn't build
with NumPy `main` before this fix. The issue was introduced
a few days ago in gh-22885.
|
|/
|
|
|
|
|
| |
Updates the free format handling of .f90 and other common extensions (through a minor re-write). Also removes an unused function.
This disallows previously allowed (but highly unlikely to be present) code-paths, namely having fixed form F77 code in a fortran 90 file (with .f90).
Co-authored-by: Sebastian Berg <sebastianb@nvidia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This has been bugging me for a bit. The concurrent.futures Executor
requires checking the result for the error to be raised. That makes
sense, but just means we need to consume the result explicitly here
to ensure we know about compile errors.
Otherwise, compile errors just pass silently (which is very confusing
if the old object files are still around and the tests run based on
the old version).
|
| |
|
|
|
|
|
|
|
| |
Use `concurrent.futures.ThreadPoolExecutor` in distutils
instead of `multiprocessing.pool.ThreadPool`.
Fix #21026
|
|\
| |
| | |
ENH: Add ARM Compiler with ARM Performance Library support
|
| |
| |
| | |
Added ARM compiler.
|
|/ |
|
|
|
|
|
|
| |
this patch is really important since most of the users aren't able to determine
the build error when the toolchain or the built environment missing
executable files of compiler, linker, assembler, etc.
|
|
|
|
|
| |
This is just a technical prototype to measure and discuss the impact and
implication of moving to C++ for kernel code generation.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently, there is a second `compiler_so` that is actually the
main compiler being used, and modifying only the first one is just
futile.
The old try was `-ffp-exception-behavior=strict`, but that seems to
be a fairly new addition (and doesn't even work on MacOS with 10.0)
`-ftrapping-math` seems to be the older, equivalent option.
|
|
|
|
| |
This also affects all users of numpy distutils
|
|
|
|
| |
Threading is guaranteed to be supported in Python 3.7+
|
| |
|
| |
|
|
|
|
|
|
| |
* For external modules, resolve imported members
* Most internal relative modules were ignored or marked noqa: F403
* Convert a few internal absolute imports to relative imports
|
| |
|
| |
|
|\
| |
| | |
MAINT: cleanup use of sys.exc_info
|
| |
| |
| |
| |
| |
| | |
This code originates from python 2.6, before there was an `as` clause in `except`.
This removes all callers of `numpy.distutils.compat.get_exception`.
|
| | |
|
|/
|
|
|
| |
As numpy is Python 3 only, these import statements are now unnecessary
and don't alter runtime behavior.
|
|
|
| |
This flag is only legal for C compilers
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
workaround for our broken `exec_command`.
This was removed in gh-1217, but then added back in gh-1321.
Now that we've fixed exec_command, I believe we can finally take it out for good.
|
|
|
| |
which used to fail for ifort
|
|
|
|
|
|
| |
console
Previously this would show `b'first_line\nsecond_line'`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use list comprehension
* More list comprehension migration
* Revert key copying in dict
* A few more fixes
* More reverts
* Use dict comprehension
* Fix dict comprehension
* Address review comments
* More review comments
* Fix for empty unpacking of zip(*
* Revert zip(* unpacking altogether
* Fix dict copying
* More simplifications
|
|
|
|
|
|
| |
After the recent patch to CCompiler.spawn, the file-paths no longer need manual quoting - that's handled as needed within subprocess.
Fixes #12411
|
|
|
|
|
|
| |
* replaced the usage of exec_command() in
ccompiler distutils module with subprocess
equivalent
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes two problems:
* c compilers do not have a find_executables method.
* get_version return a LooseVersion instance, not string.
Closes #9278.
[ci skip]
|
|
|
|
| |
Bare except is very rarely the right thing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python 3.5 also added build parallelization at the extension level
instead of the file leve numpy uses.
This causes two problems:
- numpy.distutils is not threadsafe with duplicated source files
When source files are duplicated in multiple extensions the output
objects are overwritten which can truncate in a parallel context.
This is fixed by keeping track of the files being worked on and wait
for completion if another thread is already using the object name.
- The parallelization on two nested levels causes oversubscription.
When building multiple extensions with multiple source files the number
of jobs running is multiplied.
This is fixed by adding a semaphore that limits the number of jobs numpy
starts to the defined amount.
closes gh-7139
|
|
|
|
|
|
|
| |
Some projects compile an extension multiple times with different flags.
As it is not intended to get the extension name from the compiler
object, store the last used flags in the dependency file and also check
if they match the flags of the current build.
|
|
|
|
|
| |
Use these dependencies to avoid unnecessary recompilations of unchanged
files.
|
|
|
|
|
|
|
| |
`setuptools` is now using `_msvccompile` instead of `msvccompile9`.
numpy is monkey-patching symmetrically `gen_lib_options` and `spawn` function for all compilators. But `_msvccompile.gen_lib_options` was not monkey-patched while `_msvccompile.spawn` is already monkey-patched throug the super class `ccompiler.spawn`.
This patch only symmetrically patch `_msvccompile` to prevent param file quoting.
|
| |
|
|
|
|
| |
Corrects an AttributeError on windows in some cases caused by #6185
|
| |
|