New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(supported versions of) AIX canot build (miniperl) since, roughly 01-Dec-2014 because of problems around assert.h #14448
Comments
From @aixtoolsI apologize for not having filed a bug-report THEN. Instead I had only There was an discussion on php, I received a patch, sent some background The versions of AIX affected (AIX 6.1 TL8 and AIX 7.1 TL2 and later) are The diff between the version of assert.h that works currently, and the new First the two new versions have minor (AIX version related) text michael@x071:[/home/michael]diff -u x11[57]_assert.h Inline Patch--- x115_assert.h 2015-01-27 09:42:21 +0000
+++ x117_assert.h 2015-01-27 09:42:09 +0000
@@ -1,7 +1,7 @@
/* IBM_PROLOG_BEGIN_TAG
/* +++++++++++ michael@x071:[/home/michael]diff -u x11[67]_assert.h Inline Patch--- x116_assert.h 2015-01-27 09:42:00 +0000
+++ x117_assert.h 2015-01-27 09:42:09 +0000
@@ -1,7 +1,7 @@
/* IBM_PROLOG_BEGIN_TAG
/* #endif /* __ASSERT_C99 */ In short, static_assert is "Static_assert" on later versions - and this ++++ What happens now? ========= Configuration: -Dusedevel -DDEBUGGING make distclean ... make ..."pp_sys.c", line 3134.22: 1506-280 (W) Function argument assignment === to perl5-porters, me
Indeed, that looks like my patch. +#if defined(static_assert) || (defined(__cplusplus) && __cplusplus >= It seems like we're somehow taking this branch, so STATIC_ASSERT turns into So either 'static_assert' is defined as a macro, or you have a fairly ... oh! I know what's going on. "_Static_assert" is a keyword in C11. The C11 I'm not sure what the best way forward is. Googling turns up the option Or should I add a special check for this compiler to take the fallback ==== to me, Perl5
Yeah, looks like that feature is new in version 12: http://www-01.ibm I'll see if I can put a workaround in. #3 to me, Perl5
Patch attached. It shouldn't break anything, but does it fix your build
|
From @tonycozOn Tue Jan 27 01:48:31 2015, aixtools@gmail.com wrote:
Presumably you mean p5p rather than php. Could you please link the thread (a message id is enough) and possibly attach the patch? Tony |
The RT System itself - Status changed from 'new' to 'open' |
From @steve-m-hayOn Tue Jan 27 14:07:59 2015, tonyc wrote:
I think this is the thread in question from what Michael has said elsewhere: http://www.nntp.perl.org/group/perl.perl5.porters/2014/12/msg222858.html |
From @aixtoolsYes - p5p (so just guess what I also use :) The message above is correct - and just ot be certain here is the patch I On Wed, Jan 28, 2015 at 2:08 AM, Steve Hay via RT <perlbug-followup@perl.org
|
From @aixtools0001-static_assert-workaround-for-AIX-xlc.patchFrom adbb92561576ab614c79b60cc301e6ba6e7a7cb3 Mon Sep 17 00:00:00 2001
From: Lukas Mai <l.mai@web.de>
Date: Tue, 2 Dec 2014 00:05:50 +0100
Subject: [PATCH] static_assert workaround for AIX/xlc
---
perl.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/perl.h b/perl.h
index 55918d0..0c8963f 100644
--- a/perl.h
+++ b/perl.h
@@ -3504,10 +3504,12 @@ typedef pthread_key_t perl_key;
/* placeholder */
#endif
-#if defined(static_assert) || (defined(__cplusplus) && __cplusplus >= 201103L)
/* static_assert is a macro defined in <assert.h> in C11 or a compiler
builtin in C++11.
*/
+#if (defined(static_assert) || (defined(__cplusplus) && __cplusplus >= 201103L)) \
+ && (!defined(__IBMC__) || __IBMC__ >= 1210)
+ /* IBM XL C V11 does not support _Static_assert, no matter what <assert.h> says */
# define STATIC_ASSERT_GLOBAL(COND) static_assert(COND, #COND)
#else
/* We use a bit-field instead of an array because gcc accepts
--
2.1.3
|
I think we should apply the patch. It is to help certain versions of AIX, not perl versions |
This patch, or something very similar was applied as 7ea096d on Tue Feb 3 19:31:04 2015, I think this is closable. |
Migrated from rt.perl.org#123682 (status was 'open')
Searchable as RT123682$
The text was updated successfully, but these errors were encountered: