Hi all,
This patch fails to compile on HP-UX like so:
Starting make in the src directory.
If there are problems, cd to the src directory and run make there
cd src && make first
cc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -o objects/regexp.o
regexp.c
cc: "regexp_nfa.c", line 2481: warning 500: Unnamed struct/union members
are ignored.
cc: "regexp_nfa.c", line 2570: error 1588: "multilist" undefined.
cc: "regexp_nfa.c", line 2570: error 1531: Invalid member of struct or
union.
cc: "regexp_nfa.c", line 2570: error 1527: Incompatible types in cast:
Must cast from scalar to scalar or to void type.
cc: "regexp_nfa.c", line 2570: error 1531: Invalid member of struct or
union.
cc: "regexp_nfa.c", line 2570: error 1527: Incompatible types in cast:
Must cast from scalar to scalar or to void type.
cc: "regexp_nfa.c", line 2574: error 1588: "linelist" undefined.
cc: "regexp_nfa.c", line 2574: error 1531: Invalid member of struct or
union.
...
cc: "regexp_nfa.c", line 3763: error 1588: "multilist" undefined.
cc: "regexp_nfa.c", line 3763: error 1531: Invalid member of struct or
union.
cc: Panic 2161: Maximum allowed number of errors exceeded.
*** Error exit code 1
Stop.
*** Error exit code 1
Stop.
The attached patch fixes.
Cheers
John
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
*** regexp_nfa.c 2013-05-27 08:57:17.855588000 +1000
--- regexp_nfa.c.new 2013-05-27 08:57:17.855588000 +1000
***************
*** 2490,2496 ****
char_u *start;
char_u *end;
} linelist[NSUBEXP];
! };
} regsub_T;
/* nfa_thread_T contains execution information of a NFA state */
--- 2490,2496 ----
char_u *start;
char_u *end;
} linelist[NSUBEXP];
! } regsub_union;
} regsub_T;
/* nfa_thread_T contains execution information of a NFA state */
***************
*** 2567,2578 ****
{
/* Copy the match start and end positions. */
if (REG_MULTI)
! mch_memmove(&lastthread->sub.multilist[0],
! &m->multilist[0],
sizeof(struct multipos) * m->in_use);
else
! mch_memmove(&lastthread->sub.linelist[0],
! &m->linelist[0],
sizeof(struct linepos) * m->in_use);
}
}
--- 2567,2578 ----
{
/* Copy the match start and end positions. */
if (REG_MULTI)
! mch_memmove(&lastthread->sub.regsub_union.multilist[0],
! &m->regsub_union.multilist[0],
sizeof(struct multipos) * m->in_use);
else
! mch_memmove(&lastthread->sub.regsub_union.linelist[0],
! &m->regsub_union.linelist[0],
sizeof(struct linepos) * m->in_use);
}
}
***************
*** 2650,2656 ****
{
if (subidx < m->in_use)
{
! save_lpos = m->multilist[subidx].start;
save_in_use = -1;
}
else
--- 2650,2656 ----
{
if (subidx < m->in_use)
{
! save_lpos = m->regsub_union.multilist[subidx].start;
save_in_use = -1;
}
else
***************
*** 2658,2677 ****
save_in_use = m->in_use;
for (i = m->in_use; i < subidx; ++i)
{
! m->multilist[i].start.lnum = -1;
! m->multilist[i].end.lnum = -1;
}
m->in_use = subidx + 1;
}
if (off == -1)
{
! m->multilist[subidx].start.lnum = reglnum + 1;
! m->multilist[subidx].start.col = 0;
}
else
{
! m->multilist[subidx].start.lnum = reglnum;
! m->multilist[subidx].start.col =
(colnr_T)(reginput - regline + off);
}
}
--- 2658,2677 ----
save_in_use = m->in_use;
for (i = m->in_use; i < subidx; ++i)
{
! m->regsub_union.multilist[i].start.lnum = -1;
! m->regsub_union.multilist[i].end.lnum = -1;
}
m->in_use = subidx + 1;
}
if (off == -1)
{
! m->regsub_union.multilist[subidx].start.lnum = reglnum + 1;
! m->regsub_union.multilist[subidx].start.col = 0;
}
else
{
! m->regsub_union.multilist[subidx].start.lnum = reglnum;
! m->regsub_union.multilist[subidx].start.col =
(colnr_T)(reginput - regline + off);
}
}
***************
*** 2679,2685 ****
{
if (subidx < m->in_use)
{
! save_ptr = m->linelist[subidx].start;
save_in_use = -1;
}
else
--- 2679,2685 ----
{
if (subidx < m->in_use)
{
! save_ptr = m->regsub_union.linelist[subidx].start;
save_in_use = -1;
}
else
***************
*** 2687,2698 ****
save_in_use = m->in_use;
for (i = m->in_use; i < subidx; ++i)
{
! m->linelist[i].start = NULL;
! m->linelist[i].end = NULL;
}
m->in_use = subidx + 1;
}
! m->linelist[subidx].start = reginput + off;
}
addstate(l, state->out, m, off, lid);
--- 2687,2698 ----
save_in_use = m->in_use;
for (i = m->in_use; i < subidx; ++i)
{
! m->regsub_union.linelist[i].start = NULL;
! m->regsub_union.linelist[i].end = NULL;
}
m->in_use = subidx + 1;
}
! m->regsub_union.linelist[subidx].start = reginput + off;
}
addstate(l, state->out, m, off, lid);
***************
*** 2700,2708 ****
if (save_in_use == -1)
{
if (REG_MULTI)
! m->multilist[subidx].start = save_lpos;
else
! m->linelist[subidx].start = save_ptr;
}
else
m->in_use = save_in_use;
--- 2700,2708 ----
if (save_in_use == -1)
{
if (REG_MULTI)
! m->regsub_union.multilist[subidx].start = save_lpos;
else
! m->regsub_union.linelist[subidx].start = save_ptr;
}
else
m->in_use = save_in_use;
***************
*** 2736,2766 ****
m->in_use = subidx + 1;
if (REG_MULTI)
{
! save_lpos = m->multilist[subidx].end;
if (off == -1)
{
! m->multilist[subidx].end.lnum = reglnum + 1;
! m->multilist[subidx].end.col = 0;
}
else
{
! m->multilist[subidx].end.lnum = reglnum;
! m->multilist[subidx].end.col =
(colnr_T)(reginput - regline + off);
}
}
else
{
! save_ptr = m->linelist[subidx].end;
! m->linelist[subidx].end = reginput + off;
}
addstate(l, state->out, m, off, lid);
if (REG_MULTI)
! m->multilist[subidx].end = save_lpos;
else
! m->linelist[subidx].end = save_ptr;
m->in_use = save_in_use;
break;
}
--- 2736,2766 ----
m->in_use = subidx + 1;
if (REG_MULTI)
{
! save_lpos = m->regsub_union.multilist[subidx].end;
if (off == -1)
{
! m->regsub_union.multilist[subidx].end.lnum = reglnum + 1;
! m->regsub_union.multilist[subidx].end.col = 0;
}
else
{
! m->regsub_union.multilist[subidx].end.lnum = reglnum;
! m->regsub_union.multilist[subidx].end.col =
(colnr_T)(reginput - regline + off);
}
}
else
{
! save_ptr = m->regsub_union.linelist[subidx].end;
! m->regsub_union.linelist[subidx].end = reginput + off;
}
addstate(l, state->out, m, off, lid);
if (REG_MULTI)
! m->regsub_union.multilist[subidx].end = save_lpos;
else
! m->regsub_union.linelist[subidx].end = save_ptr;
m->in_use = save_in_use;
break;
}
***************
*** 3154,3182 ****
if (REG_MULTI)
for (j = 0; j < submatch->in_use; j++)
{
! submatch->multilist[j].start =
t->sub.multilist[j].start;
! submatch->multilist[j].end = t->sub.multilist[j].end;
}
else
for (j = 0; j < submatch->in_use; j++)
{
! submatch->linelist[j].start = t->sub.linelist[j].start;
! submatch->linelist[j].end = t->sub.linelist[j].end;
}
#ifdef ENABLE_LOG
for (j = 0; j < t->sub.in_use; j++)
if (REG_MULTI)
fprintf(log_fd, "\n *** group %d, start: c=%d, l=%d,
end: c=%d, l=%d",
j,
! t->sub.multilist[j].start.col,
! (int)t->sub.multilist[j].start.lnum,
! t->sub.multilist[j].end.col,
! (int)t->sub.multilist[j].end.lnum);
else
fprintf(log_fd, "\n *** group %d, start: \"%s\", end:
\"%s\"",
j,
! (char *)t->sub.linelist[j].start,
! (char *)t->sub.linelist[j].end);
fprintf(log_fd, "\n");
#endif
/* Found the left-most longest match, do not look at any other
--- 3154,3182 ----
if (REG_MULTI)
for (j = 0; j < submatch->in_use; j++)
{
! submatch->regsub_union.multilist[j].start =
t->sub.regsub_union.multilist[j].start;
! submatch->regsub_union.multilist[j].end =
t->sub.regsub_union.multilist[j].end;
}
else
for (j = 0; j < submatch->in_use; j++)
{
! submatch->regsub_union.linelist[j].start =
t->sub.regsub_union.linelist[j].start;
! submatch->regsub_union.linelist[j].end =
t->sub.regsub_union.linelist[j].end;
}
#ifdef ENABLE_LOG
for (j = 0; j < t->sub.in_use; j++)
if (REG_MULTI)
fprintf(log_fd, "\n *** group %d, start: c=%d, l=%d,
end: c=%d, l=%d",
j,
! t->sub.regsub_union.multilist[j].start.col,
!
(int)t->sub.regsub_union.multilist[j].start.lnum,
! t->sub.regsub_union.multilist[j].end.col,
! (int)t->sub.regsub_union.multilist[j].end.lnum);
else
fprintf(log_fd, "\n *** group %d, start: \"%s\", end:
\"%s\"",
j,
! (char *)t->sub.regsub_union.linelist[j].start,
! (char *)t->sub.regsub_union.linelist[j].end);
fprintf(log_fd, "\n");
#endif
/* Found the left-most longest match, do not look at any other
***************
*** 3259,3272 ****
if (REG_MULTI)
for (j = 1; j < m->in_use; j++)
{
! t->sub.multilist[j].start = m->multilist[j].start;
! t->sub.multilist[j].end = m->multilist[j].end;
}
else
for (j = 1; j < m->in_use; j++)
{
! t->sub.linelist[j].start = m->linelist[j].start;
! t->sub.linelist[j].end = m->linelist[j].end;
}
t->sub.in_use = m->in_use;
--- 3259,3272 ----
if (REG_MULTI)
for (j = 1; j < m->in_use; j++)
{
! t->sub.regsub_union.multilist[j].start =
m->regsub_union.multilist[j].start;
! t->sub.regsub_union.multilist[j].end =
m->regsub_union.multilist[j].end;
}
else
for (j = 1; j < m->in_use; j++)
{
! t->sub.regsub_union.linelist[j].start =
m->regsub_union.linelist[j].start;
! t->sub.regsub_union.linelist[j].end =
m->regsub_union.linelist[j].end;
}
t->sub.in_use = m->in_use;
***************
*** 3760,3772 ****
if (REG_MULTI)
{
/* Use 0xff to set lnum to -1 */
! vim_memset(sub.multilist, 0xff, sizeof(struct multipos) * nfa_nsubexpr);
! vim_memset(m.multilist, 0xff, sizeof(struct multipos) * nfa_nsubexpr);
}
else
{
! vim_memset(sub.linelist, 0, sizeof(struct linepos) * nfa_nsubexpr);
! vim_memset(m.linelist, 0, sizeof(struct linepos) * nfa_nsubexpr);
}
sub.in_use = 0;
m.in_use = 0;
--- 3760,3772 ----
if (REG_MULTI)
{
/* Use 0xff to set lnum to -1 */
! vim_memset(sub.regsub_union.multilist, 0xff, sizeof(struct multipos) *
nfa_nsubexpr);
! vim_memset(m.regsub_union.multilist, 0xff, sizeof(struct multipos) *
nfa_nsubexpr);
}
else
{
! vim_memset(sub.regsub_union.linelist, 0, sizeof(struct linepos) *
nfa_nsubexpr);
! vim_memset(m.regsub_union.linelist, 0, sizeof(struct linepos) *
nfa_nsubexpr);
}
sub.in_use = 0;
m.in_use = 0;
***************
*** 3779,3786 ****
{
for (i = 0; i < sub.in_use; i++)
{
! reg_startpos[i] = sub.multilist[i].start;
! reg_endpos[i] = sub.multilist[i].end;
}
if (reg_startpos[0].lnum < 0)
--- 3779,3786 ----
{
for (i = 0; i < sub.in_use; i++)
{
! reg_startpos[i] = sub.regsub_union.multilist[i].start;
! reg_endpos[i] = sub.regsub_union.multilist[i].end;
}
if (reg_startpos[0].lnum < 0)
***************
*** 3801,3808 ****
{
for (i = 0; i < sub.in_use; i++)
{
! reg_startp[i] = sub.linelist[i].start;
! reg_endp[i] = sub.linelist[i].end;
}
if (reg_startp[0] == NULL)
--- 3801,3808 ----
{
for (i = 0; i < sub.in_use; i++)
{
! reg_startp[i] = sub.regsub_union.linelist[i].start;
! reg_endp[i] = sub.regsub_union.linelist[i].end;
}
if (reg_startp[0] == NULL)