This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: ia64 c++ abi exception handling



| >>>>> "Benjamin" == Benjamin Kosnik <bkoz@redhat.com> writes:
| 
| > Also, kill the pragma implementation: we shouldn't be using this
| > pragma anymore.
| 
| Frankly, I disagree.  Unfortunately, there's still no better way to deal
| with duplicated vtables on targets that don't support COMDAT.  The first
| virtual function heuristic doesn't work for all classes.  bad_exception,
| for instance.

Sure there is: use a pre-linker to figure out what you need where. :-)

That, in fact, is the only way I know of to get both correct behavior
and decent performance on such targets.  Good support of AIX pretty
much requires this technique, AFAIK.  Forcing users to write weird
#pragmas instead of having the toolchain do the right thing only
marginally consitutes support.  Certainly, IBM's compilers don't force
users to do this!

I agree with Benjamin: these #pragmas are confusing, and have lead to
way too many weird bugs in the compiler itself.  

But, in fairness to your key point, the question is whether anyone
will ever implement the pre-linker, and whether or not the #pragmas
need to stay until that point.  

I dunno, but I would sure like to see those #pragmas go away.  

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]