diff --git a/Library/ENV/4.3/cc b/Library/ENV/4.3/cc index a7317abf8e..69c1dd764d 100755 --- a/Library/ENV/4.3/cc +++ b/Library/ENV/4.3/cc @@ -101,8 +101,11 @@ class Cmd case arg = whittler.next when '-arch', /^-Xarch_/ whittler.next + when '-m32' + # If ENV.m32 was set, we allow the "-m32" flag, but we don't add anything + args << '-m32' if cccfg? '3' when /^-g\d?/, /^-gstabs\d+/, '-gstabs+', /^-ggdb\d?/, '-gdwarf-2', - /^-march=.+/, /^-mtune=.+/, '-m64', '-m32', + /^-march=.+/, /^-mtune=.+/, '-m64', /^-O[0-9zs]?$/, '-fast', '-pedantic', '-pedantic-errors' when '-fopenmp', '-lgomp' diff --git a/Library/Homebrew/superenv.rb b/Library/Homebrew/superenv.rb index 9225b9608a..0e8c3789ef 100644 --- a/Library/Homebrew/superenv.rb +++ b/Library/Homebrew/superenv.rb @@ -68,6 +68,11 @@ class << ENV append 'HOMEBREW_CCCFG', "u", '' end + # m32 on superenv does not add any flags. It prevents "-m32" from being erased. + def m32 + append 'HOMEBREW_CCCFG', "3", '' + end + private def determine_cc @@ -205,7 +210,7 @@ class << ENV ### NO LONGER NECESSARY OR NO LONGER SUPPORTED def noop(*args); end - %w[m64 m32 gcc_4_0_1 fast O4 O3 O2 Os Og O1 libxml2 minimal_optimization + %w[m64 gcc_4_0_1 fast O4 O3 O2 Os Og O1 libxml2 minimal_optimization no_optimization enable_warnings x11 set_cpu_flags macosxsdk remove_macosxsdk].each{|s| alias_method s, :noop }