================ @@ -1084,10 +1084,76 @@ static void mergeArch(RISCVISAUtils::OrderedExtensionMap &mergedExts, } } +static void mergeAtomic(DenseMap<unsigned, unsigned>::iterator it, + const InputSectionBase *oldSection, + const InputSectionBase *newSection, + RISCVAttrs::RISCVAtomicAbiTag oldTag, + RISCVAttrs::RISCVAtomicAbiTag newTag) { + using RISCVAttrs::RISCVAtomicAbiTag; + // Same tags stay the same, and UNKNOWN is compatible with anything + if (oldTag == newTag || newTag == RISCVAtomicAbiTag::UNKNOWN) + return; + + auto reportAbiError = [&]() { + errorOrWarn("atomic abi mismatch for " + oldSection->name + "\n>>> " + + toString(oldSection) + + ": atomic_abi=" + Twine(static_cast<unsigned>(oldTag)) + + "\n>>> " + toString(newSection) + + ": atomic_abi=" + Twine(static_cast<unsigned>(newTag))); + }; + + switch (static_cast<RISCVAtomicAbiTag>(oldTag)) { ---------------- MaskRay wrote:
unneeded cast? https://github.com/llvm/llvm-project/pull/97347 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits