diff --git a/clang/lib/Driver/ToolChains/Flang.cpp b/clang/lib/Driver/ToolChains/Flang.cpp index a842bc25f29de..0c86f5269cddd 100644 --- a/clang/lib/Driver/ToolChains/Flang.cpp +++ b/clang/lib/Driver/ToolChains/Flang.cpp @@ -140,12 +140,11 @@ void Flang::addCodegenOptions(const ArgList &Args, !stackArrays->getOption().matches(options::OPT_fno_stack_arrays)) CmdArgs.push_back("-fstack-arrays"); - if (Args.hasArg(options::OPT_flang_experimental_hlfir)) - CmdArgs.push_back("-flang-experimental-hlfir"); - if (Args.hasArg(options::OPT_flang_experimental_polymorphism)) - CmdArgs.push_back("-flang-experimental-polymorphism"); if (shouldLoopVersion(Args)) CmdArgs.push_back("-fversion-loops-for-stride"); + + Args.AddAllArgs(CmdArgs, {options::OPT_flang_experimental_hlfir, + options::OPT_flang_experimental_polymorphism}); } void Flang::addPicOptions(const ArgList &Args, ArgStringList &CmdArgs) const { diff --git a/flang/test/Driver/frontend-forwarding.f90 b/flang/test/Driver/frontend-forwarding.f90 index e953c957d2d00..1395c7a8cbb7b 100644 --- a/flang/test/Driver/frontend-forwarding.f90 +++ b/flang/test/Driver/frontend-forwarding.f90 @@ -17,6 +17,7 @@ ! RUN: -fpass-plugin=Bye%pluginext \ ! RUN: -fversion-loops-for-stride \ ! RUN: -flang-experimental-polymorphism \ +! RUN: -flang-experimental-hlfir \ ! RUN: -mllvm -print-before-all \ ! RUN: -save-temps=obj \ ! RUN: -P \ @@ -36,7 +37,8 @@ ! CHECK: "-freciprocal-math" ! CHECK: "-fconvert=little-endian" ! CHECK: "-fpass-plugin=Bye -! CHECK: "-flang-experimental-polymorphism" ! CHECK: "-fversion-loops-for-stride" +! CHECK: "-flang-experimental-polymorphism" +! CHECK: "-flang-experimental-hlfir" ! CHECK: "-mllvm" "-print-before-all" ! CHECK: "-save-temps=obj"