Skip to content

Commit

Permalink
PerfTools/Callgrind: remove intrusive macros breaking libstdc++
Browse files Browse the repository at this point in the history
We cannot redefine 'private' and 'protected' keywords via macros to e.g.
'public'. This is extremely intrusive and breaks encapsulation.

This does not work anymore with new libstdc++ libraries, because foward
delcaration of struct is implicitly private and then implementation is
under explicit private clause. Redefining 'private' only change one of
them thus creating compile-time errors in sstream.

Details in PR65899 (GCC BZ). It's WONTFIX.

Such cleanups are required for GCC 5 and above.

Signed-off-by: David Abdurachmanov <[email protected]>
  • Loading branch information
David Abdurachmanov authored and David Abdurachmanov committed Oct 19, 2015
1 parent 98490b4 commit 3d0c41c
Show file tree
Hide file tree
Showing 2 changed files with 386 additions and 379 deletions.
9 changes: 9 additions & 0 deletions PerfTools/Callgrind/interface/ProfilerService.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,22 @@
#include <vector>
#include <string>

// Unit test for ProfilerService
namespace test {
class TestProfilerService;
struct CheckPaths;
}

/** \class ProfilerService
* A Service to start and stop calgrind profiling on demand...
* act also as profiler watchdog
* (in the same service to avoid dependency between service)
*/
class ProfilerService {
// For tests
friend class test::TestProfilerService;
friend struct test::CheckPaths;

public:

/// Standard Service Constructor
Expand Down
Loading

0 comments on commit 3d0c41c

Please sign in to comment.