Author: Aaron Ballman Date: 2022-04-30T13:37:55-04:00 New Revision: 786954db06ab253dbd62d059036e06f6bbd9223c
URL: https://github.com/llvm/llvm-project/commit/786954db06ab253dbd62d059036e06f6bbd9223c DIFF: https://github.com/llvm/llvm-project/commit/786954db06ab253dbd62d059036e06f6bbd9223c.diff LOG: Accept -fno-knr-functions as a driver flag as well Due to a think-o, it was only being accepted as a -cc1 flag. This adds the proper forwarding from the driver to the frontend and adds test coverage for the option. Added: Modified: clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/no-knr-functions.c Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index c5f38762a5d61..388a29261a720 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -5311,6 +5311,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (Freestanding) CmdArgs.push_back("-ffreestanding"); + Args.AddLastArg(CmdArgs, options::OPT_fno_knr_functions); + // This is a coarse approximation of what llvm-gcc actually does, both // -fasynchronous-unwind-tables and -fnon-call-exceptions interact in more // complicated ways. diff --git a/clang/test/Driver/no-knr-functions.c b/clang/test/Driver/no-knr-functions.c index 99f397d38d626..5ebcc8916be67 100644 --- a/clang/test/Driver/no-knr-functions.c +++ b/clang/test/Driver/no-knr-functions.c @@ -7,5 +7,9 @@ // RUN: not %clang -fknr-functions -x c %s 2>&1 | FileCheck --check-prefixes=POS %s // RUN: not %clang -fknr-functions -std=c89 -x c %s 2>&1 | FileCheck --check-prefixes=POS %s +// Ensure that the driver flag is actually accepted though. +// RUN: %clang -fno-knr-functions -### %s 2>&1 | FileCheck --check-prefixes=ACCEPTED %s + // NONO: error: unknown argument: '-fno-no-knr-functions' // POS: error: unknown argument: '-fknr-functions' +// ACCEPTED-NOT: warning: argument unused during compilation: '-fno-knr-functions' _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits