From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id HsRXBh7hTWGQOgAAWB0awg (envelope-from ) for ; Fri, 24 Sep 2021 10:30:54 -0400 Received: by simark.ca (Postfix, from userid 112) id 092CA1EE25; Fri, 24 Sep 2021 10:30:54 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=MAILING_LIST_MULTI, NICE_REPLY_A,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 0E0B51EDDB for ; Fri, 24 Sep 2021 10:30:53 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8B0DC3858423 for ; Fri, 24 Sep 2021 14:30:52 +0000 (GMT) Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by sourceware.org (Postfix) with ESMTPS id 4CC493858437 for ; Fri, 24 Sep 2021 14:30:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4CC493858437 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=palves.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wr1-f47.google.com with SMTP id t8so28259725wri.1 for ; Fri, 24 Sep 2021 07:30:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:from:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=3Fbjw6/AzRUAmDLvaTqXT82R8f1o3DD69RjkKTpQfWg=; b=0u7Foy2C5RoLfbF8t4LUs2OradZSEuL3GTTLmA0WjGLUAGVkGg3CG8tKL0lX1N96ua hExYFV9VtAUkEqqn+MINxQA8EmXW4GDa7d9kCHpacFcUqvNqPIJZOfGdSlfrg+XYPgFu EbixrFDRicZ943jJxFHMBvl0VbyAz/y8vf8oIYI7YubeYhOz8CUdoo7EEyaj7hazAJIW wTTm4cyvyZcFPaaFZL1Cwc9/Kru9Kvfn0Q0e84By0DCEsqyxWE3DI4dyGBFxMk72z0hZ 6KaLEZznd92BKQPUe40taRdp0p5UCOVWk6MMB4XyRrPoO4gY82xJrrbuET2AS6vzY+FS uPGg== X-Gm-Message-State: AOAM533oO/i9l1uSNn8B/AXl6J6pD31HLROWYucNKOhYQ9xK2cY2o6+b Pa9p+oR4wXjxPvTvfPPuEGPwgs5h1mtCYA== X-Google-Smtp-Source: ABdhPJzHd0X1sYPDdzKsrFCA36iUuRxP9HfGAKGPGBprfDhtaXJ0AguQBTPW4fviICEgzyuykYcjSQ== X-Received: by 2002:a5d:64e2:: with SMTP id g2mr11772948wri.323.1632493835720; Fri, 24 Sep 2021 07:30:35 -0700 (PDT) Received: from [192.168.0.201] (bl22-100-144.dsl.telepac.pt. [2.83.100.144]) by smtp.gmail.com with ESMTPSA id b11sm719557wmb.27.2021.09.24.07.30.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 24 Sep 2021 07:30:34 -0700 (PDT) Subject: Re: [PATCH] gdbsupport: better detection of -Wmissing-prototypes support From: Pedro Alves To: Simon Marchi , Andrew Burgess , gdb-patches@sourceware.org References: <20210924122933.2714720-1-andrew.burgess@embecosm.com> <20210924131632.GC1900093@embecosm.com> <9ea18967-7c71-60a0-f265-a39634b335df@polymtl.ca> <54b146f8-f83b-67ea-d63f-ece07e7b7657@palves.net> <4640bbdc-4b51-dab4-a730-3549a3b75807@polymtl.ca> Message-ID: Date: Fri, 24 Sep 2021 15:30:33 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <4640bbdc-4b51-dab4-a730-3549a3b75807@polymtl.ca> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" On 2021-09-24 3:22 p.m., Simon Marchi wrote: > > > On 2021-09-24 10:06 a.m., Pedro Alves wrote: >> On 2021-09-24 2:40 p.m., Simon Marchi via Gdb-patches wrote: >>> On 2021-09-24 9:16 a.m., Andrew Burgess wrote: >>>> It has been pointed out to me on IRC (thanks Simon), that this issue >>>> is not GCC, but ccache: >>>> >>>> https://github.com/ccache/ccache/issues/738#issuecomment-740133374 >>>> >>>> So this patch certainly shouldn't go in as it is currently written. >>>> >>>> It's still pretty annoying seeing those warnings though, so I wonder >>>> if we can consider having a work around for this ccache issue in the >>>> GDB configure scripts? >>>> >>>> Maybe something as simple as setting CCACHE_DISABLE in the environment >>>> prior to running the AM_GDB_WARNINGS checks? >>>> >>>> All ideas welcome... >>> >>> Either way would be fine with me: >>> >>> - to use AC_LINK_IFELSE all the time (I don't think the execution time >>> would be significantly higher) >>> - to set CCACHE_DISABLE during the execution of AM_GDB_WARNINGS >> >> Does working around this in configure tests still mean that when using ccache >> for really building gdb, ccache will still misreorder arguments and thus >> potentially a -Wmissing-prototypes warning would not be turned into an error? > > I think it's only the "-Wmissing-prototypes is useless in C++" warning > that has this order problem. If you were compiling something in C and > was missing a prototype, that warning would be not be affected by the > order bug (although I haven't tried). > > By working around in the problem in configure, that means > -Wmissing-prototypes will not be present when compiling with GCC (as it > does nothing in C++), so there's nothing to miss here. > >> So, here's another option, I think: >> >> #3 - drop -Wmissing-prototypes completely. >> >> As the GCC warning says, >> >> cc1plus: warning: command line option ‘-Wmissing-prototypes’ is valid for C/ObjC but not for C++ >> >> it's only valid for C, not C++. Do we compile anything with a C compiler nowadays? > > It's there because it does something for clang in C++, see: > > https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=a0761e34f054767de6d6389929d27e9015fb299b > > If we find that the rationale for having it there isn't valid anymore, > we can remove it. How about skipping checking for -Wmissing-prototypes support if compiling with gcc then?