about summary refs log tree commit diff stats
path: root/001help.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2016-08-28 14:30:22 -0700
committerKartik K. Agaram <vc@akkartik.com>2016-08-28 14:30:22 -0700
commit0608409526d1a33265fa6ed20797eef45a79f78e (patch)
tree4540347ff9d157b904c2867aaa3d0ecaf37b38ab /001help.cc
parent48153630c58b311d15771eefa046f6c68944a4a0 (diff)
downloadmu-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.cc2
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;