summaryrefslogtreecommitdiff
path: root/parser.h
diff options
context:
space:
mode:
authorRichard Leach <richardleach@users.noreply.github.com>2020-02-24 23:31:16 +0000
committerKarl Williamson <khw@cpan.org>2020-03-02 09:46:33 -0700
commit3a6446ca87a7cba325026e8bce83115f0d495699 (patch)
tree845825a172de8464c6da3aaf324255490e1bdd2e /parser.h
parentbba699a8c53fc9013e3d1bc74982e4a0bf1697a9 (diff)
downloadperl-3a6446ca87a7cba325026e8bce83115f0d495699.tar.gz
parser.h -reorder yy_parser to close x86-64 alignment holes
Diffstat (limited to 'parser.h')
-rw-r--r--parser.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/parser.h b/parser.h
index 4fa490a190..abffd25c42 100644
--- a/parser.h
+++ b/parser.h
@@ -42,13 +42,14 @@ typedef struct yy_parser {
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
- int yylen; /* length of active reduction */
yy_stack_frame *stack; /* base of stack */
yy_stack_frame *stack_max1;/* (top-1)th element of allocated stack */
yy_stack_frame *ps; /* current stack frame */
+ int yylen; /* length of active reduction */
/* lexer state */
+ I32 lex_formbrack; /* bracket count at outer format level */
I32 lex_brackets; /* square and curly bracket count */
I32 lex_casemods; /* casemod count */
char *lex_brackstack;/* what kind of brackets to pop */
@@ -59,7 +60,7 @@ typedef struct yy_parser {
U8 expect; /* how to interpret ambiguous tokens */
bool preambled;
bool sub_no_recover; /* can't recover from a sublex error */
- I32 lex_formbrack; /* bracket count at outer format level */
+ U8 sub_error_count; /* the number of errors before sublexing */
OP *lex_inpat; /* in pattern $) and $| are special */
OP *lex_op; /* extra info to pass back on op */
SV *lex_repl; /* runtime replacement from s/// */
@@ -96,7 +97,6 @@ typedef struct yy_parser {
U16 in_my; /* we're compiling a "my"/"our" declaration */
U8 lex_state; /* next token is determined */
U8 error_count; /* how many compile errors so far, max 10 */
- U8 sub_error_count; /* the number of errors before sublexing */
HV *in_my_stash; /* declared class of this "my" declaration */
PerlIO *rsfp; /* current source file pointer */
AV *rsfp_filters; /* holds chain of active source filters */
@@ -112,11 +112,11 @@ typedef struct yy_parser {
line_t herelines; /* number of lines in here-doc */
line_t preambling; /* line # when processing $ENV{PERL5DB} */
- bool sig_seen; /* the currently parsing sub has a signature */
/* these are valid while parsing a subroutine signature */
UV sig_elems; /* number of signature elements seen so far */
UV sig_optelems; /* number of optional signature elems seen */
char sig_slurpy; /* the sigil of the slurpy var (or null) */
+ bool sig_seen; /* the currently parsing sub has a signature */
bool recheck_utf8_validity;