[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 27bb4de72b * Port cleanup attribute to Oracle Studio 12.5
From: |
Paul Eggert |
Subject: |
Re: 27bb4de72b * Port cleanup attribute to Oracle Studio 12.5 |
Date: |
Wed, 14 Jun 2017 11:25:52 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
On 06/14/2017 03:29 AM, Philipp Stephani wrote:
the commit message says "The C compiler should check the cleanup
attribute in the next line anyway." But that's not the case: unknown
attributes are silently ignored, at least in Clang. The
verify(__has_attribute(cleanup)) or equivalent is absolutely required
here. Can we revert that commit?
No, because the 'verify' breaks the build with Oracle Studio 12.5, where
__has_attribute works only inside preprocessor conditionals. I installed
the attached patch, which checks for __attribute__ (cleanup) in a
different way. But while we're on the subject, wouldn't it be better if
emacs-module.c were made to work (albeit perhaps less efficiently) even
on compilers that do not support this nonstandard C extension?
Another thing. Have you had a chance to think about related questions I
asked about recently installed portability changes? Here are the URLs:
http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00225.html
http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00226.html
Since then I see that you installed another patch (commit
32d8dba625fc50ccbe28e35afcf1f0529d611e00) to pacify Clang on macOS; this
patch unfortunately could cause trouble on non-POSIX platforms where
rlim_t is signed. Pacifying Clang shouldn't be at the cost of
portability or unnecessary complexity.
And I'm still puzzled as to why you're getting the Clang warnings but I
am not. Are you using an older Clang? Are you passing it extra warning
options?
0001-Port-cleanup-check-to-Oracle-Studio-12.5.patch
Description: Text Data