Skip to content

Commit e1c3fff

Browse files
committed
Fix compilation when disabling unity build, and disable unity build in debug builds
1 parent 5bdc9cb commit e1c3fff

5 files changed

Lines changed: 16 additions & 10 deletions

File tree

Dynamic/Analyses/PostCallAnalysis.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ struct PostCallAnalysis : public BaseAnalysis<PostCallAnalysis> {
1010
PostCallAnalysis(void const* func_supplier, CallOp_t* callop);
1111
PostCallAnalysis(void const* func_supplier, CallTagOp_t* callop);
1212

13-
inline __attribute__((always_inline)) Fulfillment functionCBImpl(void* const& func, CallsiteInfo const& callsite);
14-
inline __attribute__((always_inline)) Fulfillment memoryCBImpl(CodePtr const& location, void const* const& memory, bool const& isWrite) const { return Fulfillment::UNKNOWN; }
15-
inline __attribute__((always_inline)) Fulfillment exitCBImpl(CodePtr const& location);
13+
ANALYSIS_PREAMBLE Fulfillment functionCBImpl(void* const& func, CallsiteInfo const& callsite);
14+
ANALYSIS_PREAMBLE Fulfillment memoryCBImpl(CodePtr const& location, void const* const& memory, bool const& isWrite) const { return Fulfillment::UNKNOWN; }
15+
ANALYSIS_PREAMBLE Fulfillment exitCBImpl(CodePtr const& location);
1616

1717
constexpr CallBacks requiredCallbacksImpl() const { return {true, false, false}; }
1818

Dynamic/Analyses/PreCallAnalysis.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ struct PreCallAnalysis : BaseAnalysis<PreCallAnalysis> {
1212
PreCallAnalysis(void const* func_supplier, CallOp_t* callop);
1313
PreCallAnalysis(void const* func_supplier, CallTagOp_t* callop);
1414

15-
inline __attribute__((always_inline)) Fulfillment functionCBImpl(void* const& func, CallsiteInfo const& callsite);
16-
inline __attribute__((always_inline)) Fulfillment memoryCBImpl(CodePtr const& location, void const* const& memory, bool const& isWrite) const { return Fulfillment::UNKNOWN; }
17-
inline __attribute__((always_inline)) Fulfillment exitCBImpl(CodePtr const& location) const { return Fulfillment::INACTIVE; };
15+
ANALYSIS_PREAMBLE Fulfillment functionCBImpl(void* const& func, CallsiteInfo const& callsite);
16+
ANALYSIS_PREAMBLE Fulfillment memoryCBImpl(CodePtr const& location, void const* const& memory, bool const& isWrite) const { return Fulfillment::UNKNOWN; }
17+
ANALYSIS_PREAMBLE Fulfillment exitCBImpl(CodePtr const& location) const { return Fulfillment::INACTIVE; };
1818

1919
constexpr CallBacks requiredCallbacksImpl() const { return {true, false, false}; }
2020

Dynamic/Analyses/ReleaseAnalysis.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
struct ReleaseAnalysis : BaseAnalysis<ReleaseAnalysis> {
99
public:
1010
ReleaseAnalysis(void const* func_supplier, ReleaseOp_t* rOP);
11-
inline __attribute__((always_inline)) Fulfillment functionCBImpl(void* const& func, CallsiteInfo const& callsite);
12-
inline __attribute__((always_inline)) Fulfillment memoryCBImpl(CodePtr const& location, void const* const& memory, bool const& isWrite);
13-
inline __attribute__((always_inline)) Fulfillment exitCBImpl(CodePtr const& location) const { return Fulfillment::FULFILLED; };
11+
ANALYSIS_PREAMBLE Fulfillment functionCBImpl(void* const& func, CallsiteInfo const& callsite);
12+
ANALYSIS_PREAMBLE Fulfillment memoryCBImpl(CodePtr const& location, void const* const& memory, bool const& isWrite);
13+
ANALYSIS_PREAMBLE Fulfillment exitCBImpl(CodePtr const& location) const { return Fulfillment::FULFILLED; };
1414

1515
CallBacks requiredCallbacksImpl() const;
1616

Dynamic/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ add_library(CoVerDynamicAnalyzer STATIC
77
)
88

99
set_property(TARGET CoVerDynamicAnalyzer PROPERTY CXX_STANDARD 20)
10-
set_property(TARGET CoVerDynamicAnalyzer PROPERTY UNITY_BUILD ON)
10+
set_property(TARGET CoVerDynamicAnalyzer PROPERTY UNITY_BUILD "$<NOT:$<CONFIG:Debug>>")
1111
target_include_directories(CoVerDynamicAnalyzer PUBLIC ../Include/)
1212

1313
set_property(TARGET CoVerDynamicAnalyzer PROPERTY CXX_VISIBILITY_PRESET hidden)

Dynamic/DynamicUtils.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@
1010
#include <sstream>
1111
#include <vector>
1212

13+
#ifdef NDEBUG
14+
#define ANALYSIS_PREAMBLE inline __attribute__((always_inline))
15+
#else
16+
#define ANALYSIS_PREAMBLE
17+
#endif
18+
1319
using CodePtr = void const*;
1420
struct ConcreteParam {
1521
void const* value;

0 commit comments

Comments
 (0)