diff options
-rw-r--r-- | include/clang/Driver/CC1Options.td | 2 | ||||
-rw-r--r-- | include/clang/Driver/Options.td | 2 | ||||
-rw-r--r-- | lib/Driver/Tools.cpp | 3 | ||||
-rw-r--r-- | test/Driver/flags.c | 2 |
4 files changed, 7 insertions, 2 deletions
diff --git a/include/clang/Driver/CC1Options.td b/include/clang/Driver/CC1Options.td index 90933f7ce1..8288c00687 100644 --- a/include/clang/Driver/CC1Options.td +++ b/include/clang/Driver/CC1Options.td @@ -146,8 +146,6 @@ def dwarf_debug_flags : Separate<"-dwarf-debug-flags">, HelpText<"The string to embed in the Dwarf debug flags record.">; def fforbid_guard_variables : Flag<"-fforbid-guard-variables">, HelpText<"Emit an error if a C++ static local initializer would need a guard variable">; -def no_implicit_float : Flag<"-no-implicit-float">, - HelpText<"Don't generate implicit floating point instructions (x86-only)">; def fdump_vtable_layouts : Flag<"-fdump-vtable-layouts">, HelpText<"Dump the layouts of all vtables that will be emitted in a translation unit">; def femit_coverage_notes : Flag<"-femit-coverage-notes">, diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index 62b8d3aa6c..5b50485062 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -800,6 +800,8 @@ def mrtd : Flag<"-mrtd">, Group<m_Group>, Flags<[CC1Option]>, def msmall_data_threshold_EQ : Joined <"-msmall-data-threshold=">, Group<m_Group>; def msoft_float : Flag<"-msoft-float">, Group<m_Group>, Flags<[CC1Option]>, HelpText<"Use software floating point">; +def no_implicit_float : Flag<"-no-implicit-float">, Flags<[CC1Option]>, + HelpText<"Don't generate implicit floating point instructions">; def msse2 : Flag<"-msse2">, Group<m_x86_Features_Group>; def msse3 : Flag<"-msse3">, Group<m_x86_Features_Group>; def msse4a : Flag<"-msse4a">, Group<m_x86_Features_Group>; diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index fcfee50859..8845f903be 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -755,6 +755,9 @@ void Clang::AddARMTargetArgs(const ArgList &Args, if (A->getOption().matches(options::OPT_mno_global_merge)) CmdArgs.push_back("-mno-global-merge"); } + + if (Args.hasArg(options::OPT_no_implicit_float)) + CmdArgs.push_back("-no-implicit-float"); } // Get default architecture. diff --git a/test/Driver/flags.c b/test/Driver/flags.c index 7a885b699b..fdb3e20ca4 100644 --- a/test/Driver/flags.c +++ b/test/Driver/flags.c @@ -7,3 +7,5 @@ // RUN: %clang -target i386-apple-darwin9 -### -S -mno-soft-float %s -msoft-float 2> %t.log // RUN: grep '"-no-implicit-float"' %t.log +// RUN: %clang -target armv7-apple-darwin10 -### -S -no-implicit-float %s 2> %t.log +// RUN: grep '"-no-implicit-float"' %t.log | count 1 |