From: Paul Eggert Date: Mon, 2 Jun 2014 06:08:49 +0000 (-0700) Subject: Improve AIX-related merge from emacs-24. X-Git-Tag: emacs-25.0.90~2612^2~709^2~813 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f34897e34def565eb6e07461549ab2ba2e275e95;p=emacs.git Improve AIX-related merge from emacs-24. * conf_post.h (FLEXIBLE_ARRAY_MEMBER): Fix comment. * lisp.h (ENUMABLE) [!_AIX]: Don't define to 0 merely because we're not on AIX; since we're on the trunk we can use enums more broadly. --- diff --git a/src/ChangeLog b/src/ChangeLog index 2881574684c..c68adfcb5b1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,10 @@ 2014-06-02 Paul Eggert + Improve AIX-related merge from emacs-24. + * conf_post.h (FLEXIBLE_ARRAY_MEMBER): Fix comment. + * lisp.h (ENUMABLE) [!_AIX]: Don't define to 0 merely because we're + not on AIX; since we're on the trunk we can use enums more broadly. + * frame.c (x_set_frame_parameters): Don't read uninitialized storage. 2014-06-02 Jan Djärv diff --git a/src/conf_post.h b/src/conf_post.h index 9c82d7d2a71..a995acfd915 100644 --- a/src/conf_post.h +++ b/src/conf_post.h @@ -309,10 +309,7 @@ extern void _DebPrint (const char *fmt, ...); /* To use the struct hack with N elements, declare the struct like this: struct s { ...; t name[FLEXIBLE_ARRAY_MEMBER]; }; and allocate (offsetof (struct s, name) + N * sizeof (t)) bytes. - - This macro used to expand to something different on pre-C99 compilers. - IBM xlc 12.1 claims to do C99 but mishandles flexible array members. - FIXME: Remove it, and remove all uses. */ + IBM xlc 12.1 claims to do C99 but mishandles flexible array members. */ #ifdef __IBMC__ # define FLEXIBLE_ARRAY_MEMBER 1 #else diff --git a/src/lisp.h b/src/lisp.h index 028abe350c3..6d397169e87 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -59,16 +59,6 @@ INLINE_HEADER_BEGIN # define ENUMABLE(val) 0 #endif -/* On AIX 7.1 ENUMABLE should return true when possible, otherwise the - linker can optimize the symbols away, making it harder to debug. - This was discovered only late in the release process, so to play it - safe for now, non-AIX platforms do not use enums for debugging symbols. - FIXME: remove this comment and the following four lines of code. */ -#ifndef _AIX -# undef ENUMABLE -# define ENUMABLE(val) 0 -#endif - #define DEFINE_GDB_SYMBOL_ENUM(id) enum { id = id##_val }; #if defined MAIN_PROGRAM # define DEFINE_GDB_SYMBOL_BEGIN(type, id) type const id EXTERNALLY_VISIBLE