2008/11/15 Bram Moolenaar <[EMAIL PROTECTED]>:
> Another solution is to use the trick what's done for "self" a few lines
> higher:
>
> v = &fc.fixvar[fixvar_idx++].var;
> name = v->di_key;
> STRCPY(name, "self");
>
> So we can do the same for "000":
>
> v = &fc.fixvar[fixvar_idx++].var;
> name = v->di_key;
> STRCPY(name, "000");
>
> Can you please verify this also fixes the crash?
No, the patch does not help. But I see now I that gave the
wrong location for the crash! Sorry about that. Crash
happens in the STRCPY(...) inside add_nr_var(...):
static void
add_nr_var(dp, v, name, nr)
dict_T *dp;
dictitem_T *v;
char *name;
varnumber_T nr;
{
STRCPY(v->di_key, name); /* Crash when compiled with -O3 */
Your patch tried to fixed this line as well anyway, but
it does not work (same crash).
The solution I proposed does work, but as you say, it requires
an ugly #ifdef __GNUC__
Maybe it's not worth trying to tweak the code, if it's a gcc
bug (not 100% sure yet). I will post it in the gcc mailing list,
and link to this thread.
-- Dominique
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---