{".m", "@objective-c", 0},
{"@objective-c",
"%{M|MM:%(trad_capable_cpp) -lang-objc -D__OBJC__ %{ansi:-std=c89} %(cpp_options)}\
%{E|S:%{@:%e-E and -S are not allowed with multiple -arch flags}}\
%{E:\
%{traditional-cpp|no-cpp-precomp:\
%(trad_capable_cpp) -lang-objc -D__OBJC__ %{ansi:-std=c89} %(cpp_options)}\
%{!traditional-cpp:%{!no-cpp-precomp:\
%(cpp_precomp) -lang-objc -D__OBJC__ %{ansi:-std=c89} %(cpp_precomp_options) %y0}}}\
%{!E:%{!M:%{!MM:\
%{save-temps|no-integrated-cpp:\
%{no-cpp-precomp|traditional-cpp|fload=*|fdump=*:\
%(trad_capable_cpp) -lang-objc -D__OBJC__ %{ansi:-std=c89} %(cpp_options) %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %{gen-decls}}\
%{cpp-precomp|!no-cpp-precomp:%{!traditional-cpp:%{!fdump=*:%{!fload=*:%{!precomp:\
%(cpp_precomp) -lang-objc -D__OBJC__ %{ansi:-std=c89} %(cpp_precomp_options) %y0 %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
cc1obj -cpp-precomp %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %{gen-decls}}}}}}}\
%{precomp:\
%(cpp_precomp) -lang-objc -D__OBJC__ %{ansi:-std=c89}\
%(cpp_precomp_options) %y0\
%{precomp:%{@:-o %f%u.p}%{!@:%W{o}%W{!o*:-o %b-gcc3.p}}} }\
%{!save-temps:%{!no-integrated-cpp:\
%{traditional|ftraditional|traditional-cpp:%{!cpp-precomp:\
tradcpp0 -lang-objc -D__OBJC__ %{ansi:-std=c89} %(cpp_options) %{!pipe:%g.mi} |\n\
cc1obj -fpreprocessed %{!pipe:%g.mi} %(cc1_options) %{gen-decls}}}\
%{!fdump=*:%{!fload=*:%{!no-cpp-precomp|cpp-precomp:%{!precomp:%{!traditional-cpp:\
%(cpp_precomp) -lang-objc -D__OBJC__ %{ansi:-std=c89}\
%(cpp_precomp_options) %y0 %{!pipe:%g.mi} |\n\
cc1obj -cpp-precomp %{!pipe:%g.mi} %(cc1_options) %{gen-decls}}}}}}\
%{precomp:\
%(cpp_precomp) -lang-objc -D__OBJC__ %{ansi:-std=c89}\
%(cpp_precomp_options) %y0\
%{precomp:%{@:-o %f%u.p}%{!@:%W{o}%W{!o*:-o %b-gcc3.p}}} }\
%{!traditional:%{!ftraditional:%{!traditional-cpp:\
%{fload=*|fdump=*|no-cpp-precomp:%{!precomp:\
cc1obj -lang-objc -D__OBJC__ %{ansi:-std=c89} %(cpp_unique_options) %(cc1_options) %{gen-decls}}}}}}}}\
%{!fsyntax-only:%{!precomp:%(invoke_as)}}}}}", 0},
{".mi", "@objc-cpp-output", 0},
{"@objc-cpp-output",
"%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{gen-decls}\
%{!fsyntax-only:%{!precomp:%(invoke_as)}}}}}", 0},