From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html | 68 +++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html (limited to 'libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html') diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html new file mode 100644 index 000000000..ddcc7f570 --- /dev/null +++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html @@ -0,0 +1,68 @@ + + +Developer Information

Let's say the diagnostic name is "magic". +

If you need to instrument a header not already under + include/profile/*, first edit the corresponding header + under include/std/ and add a preprocessor directive such + as the one in include/std/vector: +

+#ifdef _GLIBCXX_PROFILE
+# include <profile/vector>
+#endif
+

+

If the file you need to instrument is not yet under + include/profile/, make a copy of the one in + include/debug, or the main implementation. + You'll need to include the main implementation and inherit the classes + you want to instrument. Then define the methods you want to instrument, + define the instrumentation hooks and add calls to them. + Look at include/profile/vector for an example. +

Add macros for the instrumentation hooks in + include/profile/impl/profiler.h. + Hook names must start with __profcxx_. + Make sure they transform + in no code with -D_NO_GLBICXX_PROFILE_MAGIC. + Make sure all calls to any method in namespace __gnu_profile + is protected against reentrance using macro + _GLIBCXX_PROFILE_REENTRANCE_GUARD. + All names of methods in namespace __gnu_profile called from + profiler.h must start with __trace_magic_. +

Add the implementation of the diagnostic. +

+

Add initialization and reporting calls in + include/profile/impl/profiler_trace.h. Use + __trace_vector_to_list as an example. +

Add documentation in file doc/xml/manual/profile_mode.xml. +

-- cgit v1.2.3