emacs/lib-src
Paul Eggert fbe9e0b9fb Use C99-style flexible array members if available.
This avoids some subtle aliasing issues, which typically
aren't a problem with GCC but may be a problem elsewhere.
* lib-src/ebrowse.c (struct member, struct alias, struct sym):
Use FLEXIBLE_ARRAY_MEMBER.
(add_sym, add_member, make_namespace, register_namespace_alias):
Use offsetof (struct, flex_array_member), not sizeof (struct), as
that ports better to pre-C99 non-GCC.
* src/alloc.c (sdata): New typedef, replacing the old struct sdata.
It is a struct if GC_CHECK_STRING_BYTES, a union otherwise.
In either case, it uses a flexible array member rather than
the old struct hack.  All uses changed.
(SDATA_NBYTES, sweep_strings) [!GC_CHECK_STRING_BYTES]:
Adjust to sdata reorganization.
* src/alloc.c (VBLOCK_BYTES_MIN, allocate_vectorlike, Fgarbage_collect):
Use offsetof (struct, flex_array_member), not sizeof (struct), as
that ports better to pre-C99 non-GCC.
* src/chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
Use CHAR_TABLE_STANDARD_SLOTS rather than its definition,
as the latter has changed.
* src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Move here from w32.c,
and port better to pre-C99 GCC.
* src/image.c (struct xpm_cached_color):
* src/lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
(struct Lisp_Char_Table, struct Lisp_Sub_Char_Table):
Use FLEXIBLE_ARRAY_MEMBER.
* src/lisp.h (string_bytes) [GC_CHECK_STRING_BYTES]:
Move decl to top level so it gets checked against implementation.
(CHAR_TABLE_STANDARD_SLOTS): Adjust to struct Lisp_Char_Table change.
* src/w32.c (FLEXIBLE_ARRAY_MEMBER): Move to conf_post.h.
2013-06-21 13:11:44 -07:00
..
.gitignore Don't ignore files that are no longer generated 2011-02-13 19:35:05 +01:00
ChangeLog Use C99-style flexible array members if available. 2013-06-21 13:11:44 -07:00
COPYING Change to GPLv3. 2007-07-25 07:00:38 +00:00
ebrowse.c Use C99-style flexible array members if available. 2013-06-21 13:11:44 -07:00
emacsclient.c File synchronization fixes. 2013-03-13 11:42:22 -07:00
etags.c Port --enable-gcc-warnings to clang. 2013-05-17 22:32:17 -07:00
grep-changelog Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
hexl.c Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
make-docfile.c * make-docfile.c (search_lisp_doc_at_eol) [DEBUG]: Fix typo, 2013-05-05 20:32:19 -07:00
Makefile.in Remove *.res files in mostlyclean, to avoid problems with out-of-tree builds. 2013-05-29 19:48:42 +03:00
makefile.w32-in Use just DOC instead of DOC-nn.mm. 2013-05-15 16:12:53 -04:00
movemail.c File synchronization fixes. 2013-03-13 11:42:22 -07:00
ntlib.c Added nt/gnulib.mk and removed kludges from ms-w32.h and ntlib.h. 2013-03-31 17:04:49 +03:00
ntlib.h Finished with lib-src compilation, except emacsclientw and emacsclient.res. 2013-03-30 20:00:51 +03:00
pop.c Port --enable-gcc-warnings to clang. 2013-05-17 22:32:17 -07:00
pop.h Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
profile.c Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
rcs2log Add 2013 to more copyright years 2013-01-02 17:35:49 -08:00
README changed Emacs' to GNU Emacs' 2006-03-31 07:25:44 +00:00
test-distrib.c Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
testfile
update-game-score.c Finished with lib-src compilation, except emacsclientw and emacsclient.res. 2013-03-30 20:00:51 +03:00

This directory contains the source code for the architecture-dependent
files that go in ${archlibdir}.  At present, these are mostly utility
programs used by GNU Emacs.