aboutsummaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2009-02-26 11:57:01 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2009-02-26 11:57:01 +0000
commita76f10b544b4ffe4b0aaf41eede1aeb9b13a95e8 (patch)
treea41295eaee4b3f28a6e20df4e592ffacc42ac4ab /editors
parent15c0b725849875c718b168a26e13872e163cde4c (diff)
downloadbusybox-w32-a76f10b544b4ffe4b0aaf41eede1aeb9b13a95e8.tar.gz
busybox-w32-a76f10b544b4ffe4b0aaf41eede1aeb9b13a95e8.tar.bz2
busybox-w32-a76f10b544b4ffe4b0aaf41eede1aeb9b13a95e8.zip
Apply post-1.13.2 fixes, bump version to 1.13.3
Diffstat (limited to 'editors')
-rw-r--r--editors/awk.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/editors/awk.c b/editors/awk.c
index 1d0792e19..64371f060 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -392,8 +392,12 @@ static const uint16_t PRIMES[] ALIGN2 = { 251, 1021, 4093, 16381, 65521 };
392 392
393 393
394/* Globals. Split in two parts so that first one is addressed 394/* Globals. Split in two parts so that first one is addressed
395 * with (mostly short) negative offsets */ 395 * with (mostly short) negative offsets.
396 * NB: it's unsafe to put members of type "double"
397 * into globals2 (gcc may fail to align them).
398 */
396struct globals { 399struct globals {
400 double t_double;
397 chain beginseq, mainseq, endseq; 401 chain beginseq, mainseq, endseq;
398 chain *seq; 402 chain *seq;
399 node *break_ptr, *continue_ptr; 403 node *break_ptr, *continue_ptr;
@@ -442,16 +446,16 @@ struct globals2 {
442 tsplitter exec_builtin__tspl; 446 tsplitter exec_builtin__tspl;
443 447
444 /* biggest and least used members go last */ 448 /* biggest and least used members go last */
445 double t_double;
446 tsplitter fsplitter, rsplitter; 449 tsplitter fsplitter, rsplitter;
447}; 450};
448#define G1 (ptr_to_globals[-1]) 451#define G1 (ptr_to_globals[-1])
449#define G (*(struct globals2 *)ptr_to_globals) 452#define G (*(struct globals2 *)ptr_to_globals)
450/* For debug. nm --size-sort awk.o | grep -vi ' [tr] ' */ 453/* For debug. nm --size-sort awk.o | grep -vi ' [tr] ' */
451/* char G1size[sizeof(G1)]; - 0x6c */ 454/*char G1size[sizeof(G1)]; - 0x74 */
452/* char Gsize[sizeof(G)]; - 0x1cc */ 455/*char Gsize[sizeof(G)]; - 0x1c4 */
453/* Trying to keep most of members accessible with short offsets: */ 456/* Trying to keep most of members accessible with short offsets: */
454/* char Gofs_seed[offsetof(struct globals2, evaluate__seed)]; - 0x90 */ 457/*char Gofs_seed[offsetof(struct globals2, evaluate__seed)]; - 0x90 */
458#define t_double (G1.t_double )
455#define beginseq (G1.beginseq ) 459#define beginseq (G1.beginseq )
456#define mainseq (G1.mainseq ) 460#define mainseq (G1.mainseq )
457#define endseq (G1.endseq ) 461#define endseq (G1.endseq )
@@ -479,7 +483,6 @@ struct globals2 {
479#define t_info (G.t_info ) 483#define t_info (G.t_info )
480#define t_tclass (G.t_tclass ) 484#define t_tclass (G.t_tclass )
481#define t_string (G.t_string ) 485#define t_string (G.t_string )
482#define t_double (G.t_double )
483#define t_lineno (G.t_lineno ) 486#define t_lineno (G.t_lineno )
484#define t_rollback (G.t_rollback ) 487#define t_rollback (G.t_rollback )
485#define intvar (G.intvar ) 488#define intvar (G.intvar )