File tree Expand file tree Collapse file tree 2 files changed +22
-4
lines changed
compiler-rt/include/profile
llvm/include/llvm/ProfileData Expand file tree Collapse file tree 2 files changed +22
-4
lines changed Original file line number Diff line number Diff line change 6262#define INSTR_PROF_VISIBILITY
6363#endif
6464
65+ /* This is include is needed for symbol visibility macros used on
66+ * ValueProfRecord\ValueProfData so there functions are exported from the
67+ * LLVM shared library on windows. */
68+ #ifdef __cplusplus
69+ #include " llvm/Support/Compiler.h"
70+ #else
71+ #define LLVM_ABI
72+ #endif
73+
6574// clang-format off:consider re-enabling clang-format if auto-formatted C macros
6675// are readable (e.g., after `issue #82426` is fixed)
6776/* INSTR_PROF_DATA start. */
@@ -358,7 +367,7 @@ INSTR_PROF_SECT_ENTRY(IPSK_covname, \
358367 * This is the header of the data structure that defines the on-disk
359368 * layout of the value profile data of a particular kind for one function.
360369 */
361- typedef struct ValueProfRecord {
370+ typedef struct LLVM_ABI ValueProfRecord {
362371 /* The kind of the value profile record. */
363372 uint32_t Kind;
364373 /*
@@ -408,7 +417,7 @@ typedef struct ValueProfRecord {
408417 * Per-function header/control data structure for value profiling
409418 * data in indexed format.
410419 */
411- typedef struct ValueProfData {
420+ typedef struct LLVM_ABI ValueProfData {
412421 /*
413422 * Total size in bytes including this field. It must be a multiple
414423 * of sizeof(uint64_t).
Original file line number Diff line number Diff line change 6262#define INSTR_PROF_VISIBILITY
6363#endif
6464
65+ /* This is include is needed for symbol visibility macros used on
66+ * ValueProfRecord\ValueProfData so there functions are exported from the
67+ * LLVM shared library on windows. */
68+ #ifdef __cplusplus
69+ #include " llvm/Support/Compiler.h"
70+ #else
71+ #define LLVM_ABI
72+ #endif
73+
6574// clang-format off:consider re-enabling clang-format if auto-formatted C macros
6675// are readable (e.g., after `issue #82426` is fixed)
6776/* INSTR_PROF_DATA start. */
@@ -358,7 +367,7 @@ INSTR_PROF_SECT_ENTRY(IPSK_covname, \
358367 * This is the header of the data structure that defines the on-disk
359368 * layout of the value profile data of a particular kind for one function.
360369 */
361- typedef struct ValueProfRecord {
370+ typedef struct LLVM_ABI ValueProfRecord {
362371 /* The kind of the value profile record. */
363372 uint32_t Kind;
364373 /*
@@ -408,7 +417,7 @@ typedef struct ValueProfRecord {
408417 * Per-function header/control data structure for value profiling
409418 * data in indexed format.
410419 */
411- typedef struct ValueProfData {
420+ typedef struct LLVM_ABI ValueProfData {
412421 /*
413422 * Total size in bytes including this field. It must be a multiple
414423 * of sizeof(uint64_t).
You can’t perform that action at this time.
0 commit comments