<commit_before>//==-- llvm/ADT/ilist_node.h - Intrusive Linked List Helper ------*- C++ -*-==//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines the ilist_node class template, which is a convenient
// base class for creating classes that can be used with ilists.
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_ADT_ILIST_NODE_H
#define LLVM_ADT_ILIST_NODE_H

#include <llvm/ADT/PointerIntPair.h>

namespace llvm {

template<typename NodeTy>
struct ilist_traits;
template <typename NodeTy> struct ilist_embedded_sentinel_traits;
template <typename NodeTy> struct ilist_half_embedded_sentinel_traits;

/// Base class for ilist nodes.
struct ilist_node_base {
#ifdef LLVM_ENABLE_ABI_BREAKING_CHECKS
  PointerIntPair<ilist_node_base *, 1> PrevAndSentinel;

  void setPrev(ilist_node_base *Prev) { PrevAndSentinel.setPointer(Prev); }
  ilist_node_base *getPrev() const { return PrevAndSentinel.getPointer(); }

  bool isKnownSentinel() const { return PrevAndSentinel.getInt(); }
  void initializeSentinel() { PrevAndSentinel.setInt(true); }
#else
  ilist_node_base *Prev = nullptr;

  void setPrev(ilist_node_base *Prev) { this->Prev = Prev; }
  ilist_node_base *getPrev() const { return Prev; }
<commit_msg>Fix broken macOS LLDB Xcode build from r279314<commit_after>//==-- llvm/ADT/ilist_node.h - Intrusive Linked List Helper ------*- C++ -*-==//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines the ilist_node class template, which is a convenient
// base class for creating classes that can be used with ilists.
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_ADT_ILIST_NODE_H
#define LLVM_ADT_ILIST_NODE_H

#include "llvm/ADT/PointerIntPair.h"

namespace llvm {

template<typename NodeTy>
struct ilist_traits;
template <typename NodeTy> struct ilist_embedded_sentinel_traits;
template <typename NodeTy> struct ilist_half_embedded_sentinel_traits;

/// Base class for ilist nodes.
struct ilist_node_base {
#ifdef LLVM_ENABLE_ABI_BREAKING_CHECKS
  PointerIntPair<ilist_node_base *, 1> PrevAndSentinel;

  void setPrev(ilist_node_base *Prev) { PrevAndSentinel.setPointer(Prev); }
  ilist_node_base *getPrev() const { return PrevAndSentinel.getPointer(); }

  bool isKnownSentinel() const { return PrevAndSentinel.getInt(); }
  void initializeSentinel() { PrevAndSentinel.setInt(true); }
#else
  ilist_node_base *Prev = nullptr;

  void setPrev(ilist_node_base *Prev) { this->Prev = Prev; }
  ilist_node_base *getPrev() const { return Prev; }

{'fraction_non_alphanumeric': 0.19740777666999004, 'fraction_numerical': 0.0026586905948820204, 'mean_word_length': 2.7814070351758793, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5298430', 'n_tokens_mistral': 943, 'n_tokens_neox': 897, 'n_words': 235}