From patchwork Tue Jan 23 00:26:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sandra Loosemore X-Patchwork-Id: 1889460 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TJnwr4pjkz23g0 for ; Tue, 23 Jan 2024 11:27:40 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8900D3858412 for ; Tue, 23 Jan 2024 00:27:38 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id 0F1FC3858D32 for ; Tue, 23 Jan 2024 00:27:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0F1FC3858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0F1FC3858D32 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=68.232.129.153 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705969630; cv=none; b=wYXUAO9XTeSixtm8+U7+Wf+ug7S8/djdVx5ejormRgNr8EoIN2aD33AG7aeQ7Itnb57+REc6tbNf7lI8IWymlmOiK/VjJemwcrZ8gSZ2abVm+xjzAQMSu2Wm/DRAQRBHpAaj5gM6B9VYY/IvON6R5mVG1bie/lKMNuwWJNJB3jQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705969630; c=relaxed/simple; bh=QwAEOuNi7w2qDI1gJZ85/qKUrsH+wosyP58oNJnBMAQ=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=pDNuHSQaHVp9vo3rFckoz7n77j6ryDy4aI7gMVi9e9r5TXbw9ycLnxQqqN2JuNcnk7W1VM5mfB40glGj9s3AYxYGCOaNQywzTD/FxERSUQXcuVU3/NK8HRPpVDrq5B2z7fCVou8d2pOUXI40PzeD5GAwKWovGyQ58B6r7/h8Wjs= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: 3KJF74tASJ+SizPqs+LOGw== X-CSE-MsgGUID: FCvz72yLQ/+m0gkf/wNqcw== X-IronPort-AV: E=Sophos;i="6.05,212,1701158400"; d="scan'208";a="32294613" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 22 Jan 2024 16:27:07 -0800 IronPort-SDR: fYUjoqU4Tg/UMBZy1fM28FmnLkUQIOZsDuw8zTIBoMFPMFyQqHHRJf84Qw9ElbU3bi2FFjHut5 Cf0/7JeswDwyg5jTkNLiB0lSXJ0slrvo7jhl0DqGRDH1sw/eBOmMAvAe+UvjwoWcEtJMIQeJhP 1RKSEAyRQ9Zc8EyI+XHdPLuuDW2aJVNS4CAY4+TvD0msCRtaRzCRQ2mq7nx63RlLAVJoOVtvFn ao54vShbLOXwTLPvgCirfHiEHCAHdvT4DZNidEiUGFfkE4wIHY494zwW92mHlsL0XDvQzvUnAJ nRY= From: Sandra Loosemore To: Subject: [COMMITTED] Correct lists of options enabled by -Wall and -Wextra [PR90463] Date: Mon, 22 Jan 2024 17:26:50 -0700 Message-ID: <20240123002650.1567390-2-sandra@codesourcery.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240123002650.1567390-1-sandra@codesourcery.com> References: <20240123002650.1567390-1-sandra@codesourcery.com> MIME-Version: 1.0 X-ClientProxiedBy: svr-orw-mbx-14.mgc.mentorg.com (147.34.90.214) To svr-orw-mbx-13.mgc.mentorg.com (147.34.90.213) X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org gcc/ChangeLog PR c++/90463 * doc/invoke.texi (Warning Options): Correct lists of options enabled by -Wall and -Wextra by checking against common.opt and c-family/c.opt. --- gcc/doc/invoke.texi | 79 ++++++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 29 deletions(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 278c931b6a3..676e7ef03d1 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -6202,27 +6202,37 @@ Options} and @ref{Objective-C and Objective-C++ Dialect Options}. @option{-Wall} turns on the following warning flags: @gccoptlist{-Waddress +-Waligned-new @r{(C++ and Objective-C++ only)} -Warray-bounds=1 @r{(only with} @option{-O2}@r{)} -Warray-compare --Warray-parameter=2 @r{(C and Objective-C only)} +-Warray-parameter=2 -Wbool-compare -Wbool-operation --Wc++11-compat -Wc++14-compat +-Wc++11-compat -Wc++14-compat -Wc++17compat -Wc++20compat -Wcatch-value @r{(C++ and Objective-C++ only)} -Wchar-subscripts +-Wclass-memaccess @r{(C++ and Objective-C++ only)} -Wcomment +-Wdangling-else -Wdangling-pointer=2 +-Wdelete-non-virtual-dtor @r{(C++ and Objective-C++ only)} -Wduplicate-decl-specifier @r{(C and Objective-C only)} -Wenum-compare @r{(in C/ObjC; this is on by default in C++)} -Wenum-int-mismatch @r{(C and Objective-C only)} --Wformat --Wformat-overflow --Wformat-truncation --Wint-in-bool-context +-Wformat=1 +-Wformat-contains-nul +-Wformat-diag +-Wformat-extra-args +-Wformat-overflow=1 +-Wformat-truncation=1 +-Wformat-zero-length +-Wframe-address -Wimplicit @r{(C and Objective-C only)} --Wimplicit-int @r{(C and Objective-C only)} -Wimplicit-function-declaration @r{(C and Objective-C only)} --Winit-self @r{(only for C++)} +-Wimplicit-int @r{(C and Objective-C only)} +-Winfinite-recursion +-Winit-self @r{(C++ and Objective-C++ only)} +-Wint-in-bool-context -Wlogical-not-parentheses -Wmain @r{(only for C/ObjC and unless} @option{-ffreestanding}@r{)} -Wmaybe-uninitialized @@ -6230,24 +6240,26 @@ Options} and @ref{Objective-C and Objective-C++ Dialect Options}. -Wmemset-transposed-args -Wmisleading-indentation @r{(only for C/C++)} -Wmismatched-dealloc --Wmismatched-new-delete @r{(only for C/C++)} +-Wmismatched-new-delete @r{(C++ and Objective-C++ only)} -Wmissing-attributes -Wmissing-braces @r{(only for C/ObjC)} -Wmultistatement-macros --Wnarrowing @r{(only for C++)} +-Wnarrowing @r{(C++ and Objective-C++ only)} -Wnonnull -Wnonnull-compare --Wopenmp-simd +-Wopenmp-simd @r{(C and C++ only)} +-Woverloaded-virtual=1 @r{(C++ and Objective-C++ only)} +-Wpacked-not-aligned -Wparentheses --Wpessimizing-move @r{(only for C++)} --Wpointer-sign --Wrange-loop-construct @r{(only for C++)} --Wreorder +-Wpessimizing-move @r{(C++ and Objective-C++ only)} +-Wpointer-sign @r{(only for C/ObjC)} +-Wrange-loop-construct @r{(C++ and Objective-C++ only)} +-Wreorder @r{(C++ and Objective-C++ only)} -Wrestrict -Wreturn-type --Wself-move @r{(only for C++)} +-Wself-move @r{(C++ and Objective-C++ only)} -Wsequence-point --Wsign-compare @r{(only in C++)} +-Wsign-compare @r{(C++ and Objective-C++ only)} -Wsizeof-array-div -Wsizeof-pointer-div -Wsizeof-pointer-memaccess @@ -6258,12 +6270,16 @@ Options} and @ref{Objective-C and Objective-C++ Dialect Options}. -Wtrigraphs -Wuninitialized -Wunknown-pragmas +-Wunused +-Wunused-but-set-variable +-Wunused-const-variable=1 @r{(only for C/ObjC)} -Wunused-function -Wunused-label +-Wunused-local-typedefs -Wunused-value -Wunused-variable -Wuse-after-free=2 --Wvla-parameter @r{(C and Objective-C only)} +-Wvla-parameter -Wvolatile-register-var -Wzero-length-bounds} @@ -6283,27 +6299,32 @@ This enables some extra warning flags that are not enabled by @option{-Wall}. (This option used to be called @option{-W}. The older name is still supported, but the newer name is more descriptive.) -@gccoptlist{-Wclobbered +@gccoptlist{-Wabsolute-value @r{(only for C/ObjC)} +-Walloc-size +-Wcalloc-transposed-args -Wcast-function-type --Wdeprecated-copy @r{(C++ only)} +-Wclobbered +-Wdeprecated-copy @r{(C++ and Objective-C++ only)} -Wempty-body --Wenum-conversion @r{(C only)} --Wignored-qualifiers +-Wenum-conversion @r{(only for C/ObjC)} +-Wexpansion-to-defined +-Wignored-qualifiers @r{(only for C/C++)} -Wimplicit-fallthrough=3 +-Wmaybe-uninitialized -Wmissing-field-initializers --Wmissing-parameter-type @r{(C only)} --Wold-style-declaration @r{(C only)} --Woverride-init --Wsign-compare @r{(C only)} +-Wmissing-parameter-type @r{(C/ObjC only)} +-Wold-style-declaration @r{(C/ObjC only)} +-Woverride-init @r{(C/ObjC only)} +-Wredundant-move @r{(C++ and Objective-C++ only)} +-Wshift-negative-value @r{(in C++11 to C++17 and in C99 and newer)} +-Wsign-compare @r{(C++ and Objective-C++ only)} +-Wsized-deallocation @r{(C++ and Objective-C++ only)} -Wstring-compare --Wredundant-move @r{(only for C++)} -Wtype-limits -Wuninitialized --Wshift-negative-value @r{(in C++11 to C++17 and in C99 and newer)} -Wunused-parameter @r{(only with} @option{-Wunused} @r{or} @option{-Wall}@r{)} -Wunused-but-set-parameter @r{(only with} @option{-Wunused} @r{or} @option{-Wall}@r{)}} - The option @option{-Wextra} also prints warning messages for the following cases: