* 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.
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>
/* 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
# 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