diff options
author | Robin Watts <robin.watts@artifex.com> | 2016-05-26 15:57:21 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2016-05-27 17:08:18 +0100 |
commit | dba5c0206072986ae07111e4e62234bbc1156caa (patch) | |
tree | 4cb9f6841739a30cfa0c3124b1dd4ef09bfa7e9a /include/mupdf/fitz/track-usage.h | |
parent | 0a4ebf51a9de8f2f1feddd9bb9ea78a5ed061a52 (diff) | |
download | mupdf-dba5c0206072986ae07111e4e62234bbc1156caa.tar.xz |
Add facility to track usage of functions.
Use this for plotters so we can see which ones are being used
in any given build.
Build with -DTRACK_USAGE to enable.
Diffstat (limited to 'include/mupdf/fitz/track-usage.h')
-rw-r--r-- | include/mupdf/fitz/track-usage.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/mupdf/fitz/track-usage.h b/include/mupdf/fitz/track-usage.h new file mode 100644 index 00000000..6c4409fb --- /dev/null +++ b/include/mupdf/fitz/track-usage.h @@ -0,0 +1,35 @@ +#ifndef TRACK_USAGE_H +#define TRACK_USAGE_H + +#ifdef TRACK_USAGE + +typedef struct track_usage_data_s { + int count; + const char *function; + int line; + const char *desc; + struct track_usage_data_s *next; +} track_usage_data_t; + +#define TRACK_LABEL(A) \ + do { \ + static track_usage_data_t USAGE_DATA = { 0 };\ + track_usage(&USAGE_DATA, __FILE__, __LINE__, A);\ + } while (0) + +#define TRACK_FN() \ + do { \ + static track_usage_data_t USAGE_DATA = { 0 };\ + track_usage(&USAGE_DATA, __FILE__, __LINE__, __FUNCTION__);\ + } while (0) + +void track_usage(track_usage_data_t *data, const char *function, int line, const char *desc); + +#else + +#define TRACK_LABEL(A) do { } while (0) +#define TRACK_FN() do { } while (0) + +#endif + +#endif |