diff options
| author | Dmitry Antipov | 2014-07-02 19:22:49 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2014-07-02 19:22:49 +0400 |
| commit | e993f8d5d39431545ac0071655071a740534917b (patch) | |
| tree | e9a697eef99b0a08e75f56e640b1c6b06b0f123f /src | |
| parent | 15c1107a30c274e0d5451b4428efc613edabbdce (diff) | |
| download | emacs-e993f8d5d39431545ac0071655071a740534917b.tar.gz emacs-e993f8d5d39431545ac0071655071a740534917b.zip | |
* lisp.h (toplevel): Add compile-time assert to verify suitable member layout
in Lisp_Sub_Char_Table.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 2 | ||||
| -rw-r--r-- | src/lisp.h | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 05916477140..bb514753bdb 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -6,6 +6,8 @@ | |||
| 6 | (enum char_table_specials): Rename from CHAR_TABLE_STANDARD_SLOTS. | 6 | (enum char_table_specials): Rename from CHAR_TABLE_STANDARD_SLOTS. |
| 7 | Add SUB_CHAR_TABLE_OFFSET member. | 7 | Add SUB_CHAR_TABLE_OFFSET member. |
| 8 | (make_uninit_sub_char_table): New function. | 8 | (make_uninit_sub_char_table): New function. |
| 9 | (toplevel): Add compile-time assert to verify suitable member layout | ||
| 10 | in Lisp_Sub_Char_Table. | ||
| 9 | * alloc.c (mark_char_table): Add extra argument to denote char table | 11 | * alloc.c (mark_char_table): Add extra argument to denote char table |
| 10 | subtype. Adjust to match new layout of sub char-table. | 12 | subtype. Adjust to match new layout of sub char-table. |
| 11 | (mark_object): Always mark sub char-tables with mark_char_table. | 13 | (mark_object): Always mark sub char-tables with mark_char_table. |
diff --git a/src/lisp.h b/src/lisp.h index 3c4845ec79b..6af390604d6 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1561,7 +1561,11 @@ CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct) | |||
| 1561 | - CHAR_TABLE_STANDARD_SLOTS); | 1561 | - CHAR_TABLE_STANDARD_SLOTS); |
| 1562 | } | 1562 | } |
| 1563 | 1563 | ||
| 1564 | 1564 | /* Make sure that sub char-table contents slot | |
| 1565 | is aligned on a multiple of Lisp_Objects. */ | ||
| 1566 | verify ((offsetof (struct Lisp_Sub_Char_Table, contents) | ||
| 1567 | - offsetof (struct Lisp_Sub_Char_Table, depth)) % word_size == 0); | ||
| 1568 | |||
| 1565 | /*********************************************************************** | 1569 | /*********************************************************************** |
| 1566 | Symbols | 1570 | Symbols |
| 1567 | ***********************************************************************/ | 1571 | ***********************************************************************/ |