[#CTXPROF_FUNCTION_DATA]
= CTXPROF&lowbar;FUNCTION&lowbar;DATA
:mrdocs:

Declares the fields of FunctionData shared with LLVM&period;

== Synopsis

Declared in `&lt;llvm&sol;ProfileData&sol;CtxInstrContextNode&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
#define CTXPROF&lowbar;FUNCTION&lowbar;DATA(PTRDECL, CONTEXT&lowbar;PTR, VOLATILE&lowbar;PTRDECL, MUTEXDECL)

----

== Description

The internal structure of FunctionData&period; This makes sure that changes to the fields of FunctionData either get automatically captured on the llvm side, or force a manual corresponding update&period; See CtxInstrProfiling&period;h for example expansions&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *PTRDECL*
| Macro taking a type and field name for a pointer field&period;
| *CONTEXT&lowbar;PTR*
| Expansion that declares the context&hyphen;pointer field&period;
| *VOLATILE&lowbar;PTRDECL*
| Macro taking a type and field name for a volatile pointer field&period;
| *MUTEXDECL*
| Macro taking the name of a mutex field&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
