diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-08-28 14:30:22 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-08-28 14:30:22 -0700 |
commit | 0608409526d1a33265fa6ed20797eef45a79f78e (patch) | |
tree | 4540347ff9d157b904c2867aaa3d0ecaf37b38ab /001help.cc | |
parent | 48153630c58b311d15771eefa046f6c68944a4a0 (diff) | |
download | mu-0608409526d1a33265fa6ed20797eef45a79f78e.tar.gz |
3268 - starting to support separate compilation
Right now Mu has zero dependency knowledge. If anything changes in our project the C++ compiler has to redo the entire project. This is unnecessarily slow, and also causes gcc to run out of RAM on puny machines. New vision: carve the tangled mu.cc into multiple files. includes.h types.h globals.cc globals.h one .cc file for each function definition (This is of course in addition to the already auto-generated test_list and function_list.) With this approach changes to functions will only require recompiling the functions that changed. We'd need to be smart to not rewrite files that don't change (modulo #line directives). Any changes to includes/types/globals would still require rebuilding the entire project. That's the (now greatly reduced) price we will continue to pay for outsourcing dependency management to the computer. Plan arrived at after conversation with Stephen Malina.
Diffstat (limited to '001help.cc')
-rw-r--r-- | 001help.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/001help.cc b/001help.cc index d652d54e..351ae27a 100644 --- a/001help.cc +++ b/001help.cc @@ -180,7 +180,7 @@ feenableexcept(FE_OVERFLOW | FE_UNDERFLOW); #ifdef __APPLE__ // Public domain polyfill for feenableexcept on OS X // http://www-personal.umich.edu/~williams/archive/computation/fe-handling-example.c -inline int feenableexcept (unsigned int excepts) { +int feenableexcept (unsigned int excepts) { static fenv_t fenv; unsigned int new_excepts = excepts & FE_ALL_EXCEPT; unsigned int old_excepts; |