From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Enabling native compilation by default when libgccjit is present Date: Tue, 07 Dec 2021 15:59:31 +0200 Message-ID: <83ee6ozfb0.fsf@gnu.org> References: <87czmdqpv9.fsf@web.de> <83h7bo7rvz.fsf@gnu.org> <87bl1tjage.fsf@web.de> <877dchj9cu.fsf@web.de> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10750"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Michael Heerdegen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Dec 07 15:01:46 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mub2Q-0002Zt-9h for ged-emacs-devel@m.gmane-mx.org; Tue, 07 Dec 2021 15:01:46 +0100 Original-Received: from localhost ([::1]:42948 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mub2O-0006L4-VO for ged-emacs-devel@m.gmane-mx.org; Tue, 07 Dec 2021 09:01:45 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:44894) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mub0F-0004is-Ix for emacs-devel@gnu.org; Tue, 07 Dec 2021 08:59:31 -0500 Original-Received: from [2001:470:142:3::e] (port=41502 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mub0F-0003TC-Bm; Tue, 07 Dec 2021 08:59:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=OzoBRfTqD45obP/s3zW6TTyVssbkeOuFcoNoed5uKBQ=; b=agZWKQOg/DE6 7uL4NVSlv1ub4LdgCAlRNsNb/vkhOElMcZd6iOYLwqhESlW4bR6Ghm3ZnSv5wveA3OBtXwOUtZ2jg 56UKhwBcbs9Ce76TtXyS51+FgyXyQ6BBSBxMYOEgTzJzVKuixYEEcpddYQe60r3X1y0RPpV7sqivN 2hmFlMddab+h6+rktg1/Zl8QtMHgn74+WrnLrWZlrT+Nsp0gOWiAas1jwOtPhayP13Xq4d5cl3uGn 1L3WN2H+x532xj/xehKl6e9douFaqtFQCJPtoZLhggPp+p5rZ3SjcBqQJrq7c8KAS+EZXEXBdmjtg OEXC5wulL+cuO2O/04ETGw==; Original-Received: from [87.69.77.57] (port=3070 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mub0F-0004FD-0X; Tue, 07 Dec 2021 08:59:31 -0500 In-Reply-To: <877dchj9cu.fsf@web.de> (message from Michael Heerdegen on Tue, 07 Dec 2021 06:02:25 +0100) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:281247 Archived-At: > From: Michael Heerdegen > Cc: emacs-devel@gnu.org > Date: Tue, 07 Dec 2021 06:02:25 +0100 > > Michael Heerdegen writes: > > > But don't you think these warnings should not be presented to the end > > user who maybe doesn't know what these warnings mean? > > A different point is that some of my libraries seemingly stopped working > due to native compilation. Please report those cases as bugs. They could be real bugs or they could be something in your code that needs amendment, but please don't leave them unreported, especially during the pretest -- that is what the pretest is for. > Are there additional requirements for the source files for native > compilation? Why do I get additional warnings (and even errors) at > all? You get additional warnings because each of the *.el files is compiled in a separate Emacs process, which starts from a clean state. By contrast, it may be the case that your code says something like (require 'foo) .... (require 'bar) and 'bar' uses some stuff in 'foo' under the assumption that 'foo' is always loaded before 'bar'. Since native-compilation will compile 'foo' and 'bar' separately, it will emit warnings. The solution is either to fix such hidden dependencies, or (if you have too many of those and cannot be bothered) avoid native-compiling those files by placing the "no-native-compile: t" cookie in them.