diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp index 61c05a3950f236..579195f9bae6b3 100644 --- a/clang/lib/Driver/ToolChains/Darwin.cpp +++ b/clang/lib/Driver/ToolChains/Darwin.cpp @@ -3316,6 +3316,10 @@ void Darwin::addClangTargetOptions( if (!RequiresSubdirectorySearch) CC1Args.push_back("-fno-modulemap-allow-subdirectory-search"); } + + if (!DriverArgs.hasArgNoClaim(options::OPT_fdefine_target_os_macros, + options::OPT_fno_define_target_os_macros)) + CC1Args.push_back("-fdefine-target-os-macros"); } void Darwin::addClangCC1ASTargetOptions( diff --git a/clang/test/Driver/fdefine-target-os-macros.c b/clang/test/Driver/fdefine-target-os-macros.c index bbe5c95d3f4291..d448e3a839f9b1 100644 --- a/clang/test/Driver/fdefine-target-os-macros.c +++ b/clang/test/Driver/fdefine-target-os-macros.c @@ -1,5 +1,5 @@ // RUN: %clang -### --target=arm64-apple-darwin %s 2>&1 | FileCheck %s --check-prefix=DARWIN-DEFAULT -// DARWIN-DEFAULT-NOT: "-fdefine-target-os-macros" +// DARWIN-DEFAULT: "-fdefine-target-os-macros" // RUN: %clang -### --target=arm-none-linux-gnu %s 2>&1 | FileCheck %s --check-prefix=NON-DARWIN-DEFAULT // RUN: %clang -### --target=x86_64-pc-win32 %s 2>&1 | FileCheck %s --check-prefix=NON-DARWIN-DEFAULT