I got this reply from upstream regarding this issue:

[Dr. Werner Fink]
> Beside speed there is no problem to drop the alignment.
> Nevertheless it is very strange that the struct re_pattern_buffer,
> the real type of regex_t, and found in /usr/include/regex.h is not
> aligned within power of 2.
>
> There are some more alignment I've done for 1.12.0 (speed over
> size).  Maybe this will show similar problems.

It seem my guess about this being a speed optimization was correct.
But the fact that there might be more of them make me hope for a patch
from someone with access to a m68k machine, to make sure I do not
upload a new version fixing only part of the problems, and thus having
to do more than one upload to fix the issue.

[Wouter Verhelst]
> If you explicitly specify alignment like that, you disable any
> automatic stuff the compiler might otherwise want to perform.

Sure.  I guess I wonder about why the alignment requirement isn't
fulfilled when asked for the aligment of the sizeof(regex_t).  Can
someone with m68k test and provide the answer for these questions:

  What is the value of sizeof(regex_t) on m68k?  What is the alignment
  calculated for the struct?

> It is definately not a bug in the compiler to attempt to follow the
> programmer's directives and to barf out if that is impossible...

I am trying to understand why it is impossible.  Can you explain it to
me?

Happy hacking,
-- 
Petter Reinholdtsen



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to