diff options
Diffstat (limited to 'gcc/objc/lang-specs.h')
| -rw-r--r-- | gcc/objc/lang-specs.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/gcc/objc/lang-specs.h b/gcc/objc/lang-specs.h index d6d50e0663a..f9e2c141f20 100644 --- a/gcc/objc/lang-specs.h +++ b/gcc/objc/lang-specs.h @@ -24,20 +24,28 @@ Boston, MA 02111-1307, USA. */ {".m", "@objective-c"}, {"@objective-c", #if USE_CPPLIB + /* cc1obj has an integrated ISO C preprocessor. We should invoke the + external preprocessor if -save-temps or -traditional is given. */ "%{E|M|MM:%(trad_capable_cpp) -lang-objc %{ansi:-std=c89} %(cpp_options)}\ - %{!E:%{!M:%{!MM:cc1obj -lang-objc %(cpp_options) %(cc1_options) %{gen-decls}\ - %{!fsyntax-only:%{!S:-o %{|!pipe:%g.s} |\n\ - as %(asm_options) %{!pipe:%g.s} %A }}}}}" + %{!E:%{!M:%{!MM:\ + %{save-temps:%(trad_capable_cpp) -lang-objc %{ansi:-std=c89}\ + %(cpp_options) %b.mi \n\ + cc1obj -fpreprocessed %b.mi -lang-objc %(cc1_options) %{gen-decls}}\ + %{!save-temps:\ + %{traditional|ftraditional|traditional-cpp:\ + tradcpp0 -lang-objc %{ansi:-std=c89} %(cpp_options) %{!pipe:%g.mi} |\n\ + cc1obj -fpreprocessed %{!pipe:%g.mi} -lang-objc %(cc1_options) %{gen-decls}}\ + %{!traditional:%{!ftraditional:%{!traditional-cpp:\ + cc1obj -lang-objc %{ansi:-std=c89} %(cpp_options) %(cc1_options) %{gen-decls}}}}}\ + %{!fsyntax-only:%(invoke_as)}}}}" #else /* ! USE_CPPLIB */ "%(trad_capable_cpp) -lang-objc %{ansi:-std=c89} %(cpp_options)\ %{!M:%{!MM:%{!E:%{!pipe:%g.mi} |\n\ cc1obj -lang-objc %{!pipe:%g.mi} %(cc1_options) %{gen-decls}\ - %{!fsyntax-only:%{!S:-o %{|!pipe:%g.s} |\n\ - as %(asm_options) %{!pipe:%g.s} %A }}}}}\n" + %{!fsyntax-only:%(invoke_as)}}}}\n" #endif /* ! USE_CPPLIB */ }, {".mi", "@objc-cpp-output"}, {"@objc-cpp-output", "%{!M:%{!MM:%{!E:cc1obj -lang-objc %i %(cc1_options) %{gen-decls}\ - %{!fsyntax-only:%{!S:-o %{|!pipe:%g.s} |\n\ - as %(asm_options) %{!pipe:%g.s} %A }}}}}"}, + %{!fsyntax-only:%(invoke_as)}}}}"}, |

