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.
This commit is contained in:
Paul Eggert 2014-06-01 23:08:49 -07:00
parent f2ea2ac3f5
commit f34897e34d
3 changed files with 6 additions and 14 deletions

View file

@ -1,5 +1,10 @@
2014-06-02 Paul Eggert <eggert@cs.ucla.edu>
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 <jan.h.d@swipnet.se>

View file

@ -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

View file

@ -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