aboutsummaryrefslogtreecommitdiff
path: root/emcc
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-03-05 20:40:36 -0800
committerAlon Zakai <alonzakai@gmail.com>2013-03-05 20:46:47 -0800
commit97407b218c6d816e964f1faa1420db46ea1fec3c (patch)
tree0d8f80bec7b58bb5f021ddf88227799d35314061 /emcc
parent3a2cf7e0b1e66dfdccbb49d0ef38b20d0369a533 (diff)
make -Os like -O2 but also disable inlining
Diffstat (limited to 'emcc')
-rwxr-xr-xemcc17
1 files changed, 9 insertions, 8 deletions
diff --git a/emcc b/emcc
index f644b924..d773dd85 100755
--- a/emcc
+++ b/emcc
@@ -706,19 +706,21 @@ try:
absolute_warning_shown = False
+ settings_changes = []
+
for i in range(len(newargs)):
newargs[i] = newargs[i].strip() # On Windows Vista (and possibly others), excessive spaces in the command line leak into the items in this array, so trim e.g. 'foo.cpp ' -> 'foo.cpp'
if newargs[i].startswith('-O'):
# Let -O default to -O2, which is what gcc does.
requested_level = newargs[i][2:] or '2'
if requested_level == 's':
- print >> sys.stderr, 'emcc: warning: -Os is ignored (use -O0, -O1, -O2)'
- else:
- try:
- opt_level = int(requested_level)
- assert 0 <= opt_level <= 3
- except:
- raise Exception('Invalid optimization level: ' + newargs[i])
+ requested_level = 2
+ settings_changes.append('INLINING_LIMIT=50')
+ try:
+ opt_level = int(requested_level)
+ assert 0 <= opt_level <= 3
+ except:
+ raise Exception('Invalid optimization level: ' + newargs[i])
newargs[i] = ''
elif newargs[i].startswith('--llvm-opts'):
check_bad_eq(newargs[i])
@@ -842,7 +844,6 @@ try:
if closure:
assert os.path.exists(shared.CLOSURE_COMPILER), 'emcc: fatal: Closure compiler (%s) does not exist' % shared.CLOSURE_COMPILER
- settings_changes = []
for i in range(len(newargs)):
if newargs[i] == '-s':
if is_minus_s_for_emcc(newargs, i):