Index: lib/Driver/Tools.cpp =================================================================== --- lib/Driver/Tools.cpp +++ lib/Driver/Tools.cpp @@ -5126,6 +5126,7 @@ break; case types::TY_PP_Asm: CmdArgs.push_back("-S"); + break; case types::TY_Nothing: CmdArgs.push_back("-fsyntax-only"); break; Index: test/Driver/gfortran.f90 =================================================================== --- test/Driver/gfortran.f90 +++ test/Driver/gfortran.f90 @@ -251,3 +251,10 @@ ! ! CHECK-PR22234-NOT: clang: error: invalid output type ! CHECK-PR22234: "-fsyntax-only" +! +! Regression test for the bug introduced with PR22234 fix. +! Make sure -fsyntax-only is not passed to gfortran during normal compilation. +! +! RUN: %clang -no-canonical-prefixes -target i386-linux -### %s -o %t 2>&1 \ +! RUN: | FileCheck %s --check-prefix=CHECK-PR22234-R +! CHECK-PR22234-R-NOT: "-fsyntax-only"