./oceani --noexec --print .tmp.code1 >> .tmp.code2 ;\
if ! cmp -s .tmp.code1 .tmp.code2; then \
echo " Failed"; diff -u .tmp.code1 .tmp.code2; exit 1 ; fi ; \
+ echo -n "extra-newlines.. "; \
+ sed -e 'i\
+ ' .tmp.code1 > .tmp.code1a; \
+ echo '``````' > .tmp.code2a ;\
+ ./oceani --noexec --print .tmp.code1a >> .tmp.code2a;\
+ if ! cmp -s .tmp.code1 .tmp.code2a; then \
+ echo " Failed"; diff -u .tmp.code1 .tmp.code2a; exit 1; fi ; \
echo -n "exec-after-print.. "; \
./oceani .tmp.code1 $${1+"$$@"} > .tmp.have ; \
if ! cmp -s .tmp.want .tmp.have; then \
| Open SimpleFieldList } ${ $0 = $<2; }$
| : FieldList $$NEWLINE ${ $0 = $<2; }$
- FieldList -> SimpleFieldListLine ${ $0 = $<1; }$
- | FieldList SimpleFieldListLine ${
+ FieldList -> FieldLines ${ $0 = $<1; }$
+ | NEWLINE FieldLines ${ $0 = $<2; }$
+ FieldLines -> SimpleFieldListLine ${ $0 = $<1; }$
+ | FieldLines SimpleFieldListLine ${
$2->prev = $<1;
$0 = $<2;
}$
SimpleFieldListLine -> SimpleFieldList NEWLINE ${ $0 = $<1; }$
| SimpleFieldListLine NEWLINE ${ $0 = $<1; }$
+ | ERROR NEWLINE ${ tok_err(c, "Syntax error in struct field", &$1); }$
SimpleFieldList -> Field ${ $0 = $<1; }$
| SimpleFieldList ; Field ${
$0->f.type = $<3;
$0->f.init = val_init($3);
}$
- | ERROR ${ tok_err(c, "Syntax error in struct field", &$1); }$
###### forward decls
static void structure_print_type(struct type *t, FILE *f);