On 28/09/2012 4:10 a.m., Alex Rousskov wrote:
On 09/27/2012 12:48 AM, Amos Jeffries wrote:
On 26/09/2012 4:44 a.m., Kinkie wrote:
Hi all,
this new patch addresses the concerns that were raised.
It stops short of removing typedefs.h (but structs.h is now gone).
It doesn't break the build on the farm; it is in my opinion reasonably
complete and it is for me a merge-candidate.
I see a lot of externs being removed in .h files. All fine and well for
statically linked .o files. But when these files are shuffled into
librares the ABI linking operates a little different and is known to
strip away symbol references for "internal" objects (ie those with no
explicit extern marking). Please be wary of that.
Are you sure that such stripping happens in C++ context (rather than
some old C context)? AFAIK, C++ function declarations have external C++
linking scope by default, so they all should have "extern" marking from
the linker point of view.
Moderately sure. I ran into it in trunk recently when moving functions
to one of the libraries. I forget which.
That might have been a fluke case, but think worth at least checking up
on explicitly for the general case before doing this big merge.
Amos