File tree 2 files changed +22
-4
lines changed
compiler-rt/include/profile
llvm/include/llvm/ProfileData
2 files changed +22
-4
lines changed Original file line number Diff line number Diff line change 62
62
#define INSTR_PROF_VISIBILITY
63
63
#endif
64
64
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
+
65
74
// clang-format off:consider re-enabling clang-format if auto-formatted C macros
66
75
// are readable (e.g., after `issue #82426` is fixed)
67
76
/* INSTR_PROF_DATA start. */
@@ -358,7 +367,7 @@ INSTR_PROF_SECT_ENTRY(IPSK_covname, \
358
367
* This is the header of the data structure that defines the on-disk
359
368
* layout of the value profile data of a particular kind for one function.
360
369
*/
361
- typedef struct ValueProfRecord {
370
+ typedef struct LLVM_ABI ValueProfRecord {
362
371
/* The kind of the value profile record. */
363
372
uint32_t Kind;
364
373
/*
@@ -408,7 +417,7 @@ typedef struct ValueProfRecord {
408
417
* Per-function header/control data structure for value profiling
409
418
* data in indexed format.
410
419
*/
411
- typedef struct ValueProfData {
420
+ typedef struct LLVM_ABI ValueProfData {
412
421
/*
413
422
* Total size in bytes including this field. It must be a multiple
414
423
* of sizeof(uint64_t).
Original file line number Diff line number Diff line change 62
62
#define INSTR_PROF_VISIBILITY
63
63
#endif
64
64
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
+
65
74
// clang-format off:consider re-enabling clang-format if auto-formatted C macros
66
75
// are readable (e.g., after `issue #82426` is fixed)
67
76
/* INSTR_PROF_DATA start. */
@@ -358,7 +367,7 @@ INSTR_PROF_SECT_ENTRY(IPSK_covname, \
358
367
* This is the header of the data structure that defines the on-disk
359
368
* layout of the value profile data of a particular kind for one function.
360
369
*/
361
- typedef struct ValueProfRecord {
370
+ typedef struct LLVM_ABI ValueProfRecord {
362
371
/* The kind of the value profile record. */
363
372
uint32_t Kind;
364
373
/*
@@ -408,7 +417,7 @@ typedef struct ValueProfRecord {
408
417
* Per-function header/control data structure for value profiling
409
418
* data in indexed format.
410
419
*/
411
- typedef struct ValueProfData {
420
+ typedef struct LLVM_ABI ValueProfData {
412
421
/*
413
422
* Total size in bytes including this field. It must be a multiple
414
423
* of sizeof(uint64_t).
You can’t perform that action at this time.
0 commit comments