Re: How to devirtualize one class?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/16/2015 08:51 AM, Jeffrey Walton wrote:
I'm catching a hang under Debian's ARM64 (AARCH64) in a QEMU Chroot.
The environment does not have a working debugger, so I have it roughly
isolated to two conditions.

I need to test -fno-devirtualize on a particular class (H and CPP
files), and I want to ensure it does not cross pollinate out of the
class. (Say, by, including the header in other header files).

How do I apply -fno-devirtualize to just the class when it needs to be
applied to a particular class's header file (and that header file is
included elsewhere) ?

I'm not sure this is possible via an option (or #pragma optimize).
-fdevirtualize applies to the call sites to a virtual functions,
not to the virtual function definitions.  The only approach that
comes to mind is to annotate the callers with #pragma GCC optimize
("no-devirtualize").  That works in 5.0 and a simple test case but
doesn't seem to work as I expect in 4.9.

Martin



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux