@@ -71,13 +71,13 @@ enum class coveragemap_error {
7171 invalid_or_missing_arch_specifier
7272};
7373
74- const std::error_category &coveragemap_category ();
74+ LLVM_ABI const std::error_category &coveragemap_category ();
7575
7676inline std::error_code make_error_code (coveragemap_error E) {
7777 return std::error_code (static_cast <int >(E), coveragemap_category ());
7878}
7979
80- class CoverageMapError : public ErrorInfo <CoverageMapError> {
80+ class LLVM_ABI CoverageMapError : public ErrorInfo<CoverageMapError> {
8181public:
8282 CoverageMapError (coveragemap_error Err, const Twine &ErrStr = Twine())
8383 : Err(Err), Msg(ErrStr.str()) {
@@ -210,19 +210,19 @@ class CounterExpressionBuilder {
210210 ArrayRef<CounterExpression> getExpressions () const { return Expressions; }
211211
212212 // / Return a counter that represents the expression that adds LHS and RHS.
213- Counter add (Counter LHS, Counter RHS, bool Simplify = true );
213+ LLVM_ABI Counter add (Counter LHS, Counter RHS, bool Simplify = true );
214214
215215 // / Return a counter that represents the expression that subtracts RHS from
216216 // / LHS.
217- Counter subtract (Counter LHS, Counter RHS, bool Simplify = true );
217+ LLVM_ABI Counter subtract (Counter LHS, Counter RHS, bool Simplify = true );
218218
219219 // / K to V map. K will be Counter in most cases. V may be Counter or
220220 // / Expression.
221221 using SubstMap = std::map<Counter, Counter>;
222222
223223 // / \return A counter equivalent to \C, with each term in its
224224 // / expression replaced with term from \p Map.
225- Counter subst (Counter C, const SubstMap &Map);
225+ LLVM_ABI Counter subst (Counter C, const SubstMap &Map);
226226};
227227
228228using LineColPair = std::pair<unsigned , unsigned >;
@@ -473,7 +473,7 @@ struct MCDCRecord {
473473
474474 // Compare executed test vectors against each other to find an independence
475475 // pairs for each condition. This processing takes the most time.
476- void findIndependencePairs ();
476+ LLVM_ABI void findIndependencePairs ();
477477
478478 const CounterMappingRegion &getDecisionRegion () const { return Region; }
479479 unsigned getNumConditions () const {
@@ -665,7 +665,8 @@ class TVIdxBuilder {
665665 // / \param NextIDs The list of {FalseID, TrueID} indexed by ID
666666 // / The first element [0] should be the root node.
667667 // / \param Offset Offset of index to final decisions.
668- TVIdxBuilder (const SmallVectorImpl<ConditionIDs> &NextIDs, int Offset = 0 );
668+ LLVM_ABI TVIdxBuilder (const SmallVectorImpl<ConditionIDs> &NextIDs,
669+ int Offset = 0 );
669670};
670671} // namespace mcdc
671672
@@ -684,21 +685,21 @@ class CounterMappingContext {
684685 void setCounts (ArrayRef<uint64_t > Counts) { CounterValues = Counts; }
685686 void setBitmap (BitVector &&Bitmap_) { Bitmap = std::move (Bitmap_); }
686687
687- void dump (const Counter &C, raw_ostream &OS) const ;
688+ LLVM_ABI void dump (const Counter &C, raw_ostream &OS) const ;
688689 void dump (const Counter &C) const { dump (C, dbgs ()); }
689690
690691 // / Return the number of times that a region of code associated with this
691692 // / counter was executed.
692- Expected<int64_t > evaluate (const Counter &C) const ;
693+ LLVM_ABI Expected<int64_t > evaluate (const Counter &C) const ;
693694
694695 // / Return an MCDC record that indicates executed test vectors and condition
695696 // / pairs.
696- Expected<MCDCRecord>
697+ LLVM_ABI Expected<MCDCRecord>
697698 evaluateMCDCRegion (const CounterMappingRegion &Region,
698699 ArrayRef<const CounterMappingRegion *> Branches,
699700 bool IsVersion11);
700701
701- unsigned getMaxCounterID (const Counter &C) const ;
702+ LLVM_ABI unsigned getMaxCounterID (const Counter &C) const ;
702703};
703704
704705// / Code coverage information for a single function.
@@ -761,7 +762,7 @@ class FunctionRecordIterator
761762 StringRef Filename;
762763
763764 // / Skip records whose primary file is not \c Filename.
764- void skipOtherFiles ();
765+ LLVM_ABI void skipOtherFiles ();
765766
766767public:
767768 FunctionRecordIterator (ArrayRef<FunctionRecord> Records_,
@@ -1007,22 +1008,22 @@ class CoverageMapping {
10071008 // / defined in the specified file. This is guaranteed to return a superset of
10081009 // / such records: extra records not in the file may be included if there is
10091010 // / a hash collision on the filename. Clients must be robust to collisions.
1010- ArrayRef<unsigned >
1011+ LLVM_ABI ArrayRef<unsigned >
10111012 getImpreciseRecordIndicesForFilename (StringRef Filename) const ;
10121013
10131014public:
10141015 CoverageMapping (const CoverageMapping &) = delete ;
10151016 CoverageMapping &operator =(const CoverageMapping &) = delete ;
10161017
10171018 // / Load the coverage mapping using the given readers.
1018- static Expected<std::unique_ptr<CoverageMapping>>
1019+ LLVM_ABI static Expected<std::unique_ptr<CoverageMapping>>
10191020 load (ArrayRef<std::unique_ptr<CoverageMappingReader>> CoverageReaders,
10201021 IndexedInstrProfReader &ProfileReader);
10211022
10221023 // / Load the coverage mapping from the given object files and profile. If
10231024 // / \p Arches is non-empty, it must specify an architecture for each object.
10241025 // / Ignores non-instrumented object files unless all are not instrumented.
1025- static Expected<std::unique_ptr<CoverageMapping>>
1026+ LLVM_ABI static Expected<std::unique_ptr<CoverageMapping>>
10261027 load (ArrayRef<StringRef> ObjectFilenames, StringRef ProfileFilename,
10271028 vfs::FileSystem &FS, ArrayRef<StringRef> Arches = {},
10281029 StringRef CompilationDir = " " ,
@@ -1045,20 +1046,22 @@ class CoverageMapping {
10451046
10461047 // / Returns a lexicographically sorted, unique list of files that are
10471048 // / covered.
1048- std::vector<StringRef> getUniqueSourceFiles () const ;
1049+ LLVM_ABI std::vector<StringRef> getUniqueSourceFiles () const ;
10491050
10501051 // / Get the coverage for a particular file.
10511052 // /
10521053 // / The given filename must be the name as recorded in the coverage
10531054 // / information. That is, only names returned from getUniqueSourceFiles will
10541055 // / yield a result.
1055- CoverageData getCoverageForFile (StringRef Filename) const ;
1056+ LLVM_ABI CoverageData getCoverageForFile (StringRef Filename) const ;
10561057
10571058 // / Get the coverage for a particular function.
1058- CoverageData getCoverageForFunction (const FunctionRecord &Function) const ;
1059+ LLVM_ABI CoverageData
1060+ getCoverageForFunction (const FunctionRecord &Function) const ;
10591061
10601062 // / Get the coverage for an expansion within a coverage set.
1061- CoverageData getCoverageForExpansion (const ExpansionRecord &Expansion) const ;
1063+ LLVM_ABI CoverageData
1064+ getCoverageForExpansion (const ExpansionRecord &Expansion) const ;
10621065
10631066 // / Gets all of the functions covered by this profile.
10641067 iterator_range<FunctionRecordIterator> getCoveredFunctions () const {
@@ -1079,7 +1082,7 @@ class CoverageMapping {
10791082 // /
10801083 // / Every instantiation group in a program is attributed to exactly one file:
10811084 // / the file in which the definition for the common function begins.
1082- std::vector<InstantiationGroup>
1085+ LLVM_ABI std::vector<InstantiationGroup>
10831086 getInstantiationGroups (StringRef Filename) const ;
10841087};
10851088
@@ -1096,8 +1099,9 @@ class LineCoverageStats {
10961099 LineCoverageStats () = default ;
10971100
10981101public:
1099- LineCoverageStats (ArrayRef<const CoverageSegment *> LineSegments,
1100- const CoverageSegment *WrappedSegment, unsigned Line);
1102+ LLVM_ABI LineCoverageStats (ArrayRef<const CoverageSegment *> LineSegments,
1103+ const CoverageSegment *WrappedSegment,
1104+ unsigned Line);
11011105
11021106 uint64_t getExecutionCount () const { return ExecutionCount; }
11031107
@@ -1136,7 +1140,7 @@ class LineCoverageIterator
11361140
11371141 const LineCoverageStats &operator *() const { return Stats; }
11381142
1139- LineCoverageIterator &operator ++();
1143+ LLVM_ABI LineCoverageIterator &operator ++();
11401144
11411145 LineCoverageIterator getEnd () const {
11421146 auto EndIt = *this ;
0 commit comments