mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
ThreadSupport.h is now output from configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11770 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
80ead3133a
commit
a6eb7c19a1
@ -17,9 +17,7 @@
|
||||
#ifndef SUPPORT_THREADSUPPORT_H
|
||||
#define SUPPORT_THREADSUPPORT_H
|
||||
|
||||
// FIXME: Eventually don't #include config.h here
|
||||
#include "Config/config.h"
|
||||
#if defined(HAVE_PTHREAD_MUTEX_LOCK) && HAVE_PTHREAD_MUTEX_LOCK
|
||||
#if @HAVE_PTHREAD_MUTEX_LOCK@
|
||||
#include "Support/ThreadSupport-PThreads.h"
|
||||
#else
|
||||
#include "Support/ThreadSupport-NoSupport.h"
|
40
include/llvm/Support/MutexGuard.h
Normal file
40
include/llvm/Support/MutexGuard.h
Normal file
@ -0,0 +1,40 @@
|
||||
//===-- Support/ThreadSupport.h - Generic threading support -----*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file was developed by the LLVM research group and is distributed under
|
||||
// the University of Illinois Open Source License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file defines platform-agnostic interfaces that can be used to write
|
||||
// multi-threaded programs. Autoconf is used to chose the correct
|
||||
// implementation of these interfaces, or default to a non-thread-capable system
|
||||
// if no matching system support is available.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef SUPPORT_THREADSUPPORT_H
|
||||
#define SUPPORT_THREADSUPPORT_H
|
||||
|
||||
#if @HAVE_PTHREAD_MUTEX_LOCK@
|
||||
#include "Support/ThreadSupport-PThreads.h"
|
||||
#else
|
||||
#include "Support/ThreadSupport-NoSupport.h"
|
||||
#endif // If no system support is available
|
||||
|
||||
namespace llvm {
|
||||
/// MutexLocker - Instances of this class acquire a given Lock when
|
||||
/// constructed and hold that lock until destruction.
|
||||
///
|
||||
class MutexLocker {
|
||||
Mutex &M;
|
||||
MutexLocker(const MutexLocker &); // DO NOT IMPLEMENT
|
||||
void operator=(const MutexLocker &); // DO NOT IMPLEMENT
|
||||
public:
|
||||
MutexLocker(Mutex &m) : M(m) { M.acquire(); }
|
||||
~MutexLocker() { M.release(); }
|
||||
};
|
||||
}
|
||||
|
||||
#endif // SUPPORT_THREADSUPPORT_H
|
40
include/llvm/Support/ThreadSupport.h.in
Normal file
40
include/llvm/Support/ThreadSupport.h.in
Normal file
@ -0,0 +1,40 @@
|
||||
//===-- Support/ThreadSupport.h - Generic threading support -----*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file was developed by the LLVM research group and is distributed under
|
||||
// the University of Illinois Open Source License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file defines platform-agnostic interfaces that can be used to write
|
||||
// multi-threaded programs. Autoconf is used to chose the correct
|
||||
// implementation of these interfaces, or default to a non-thread-capable system
|
||||
// if no matching system support is available.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef SUPPORT_THREADSUPPORT_H
|
||||
#define SUPPORT_THREADSUPPORT_H
|
||||
|
||||
#if @HAVE_PTHREAD_MUTEX_LOCK@
|
||||
#include "Support/ThreadSupport-PThreads.h"
|
||||
#else
|
||||
#include "Support/ThreadSupport-NoSupport.h"
|
||||
#endif // If no system support is available
|
||||
|
||||
namespace llvm {
|
||||
/// MutexLocker - Instances of this class acquire a given Lock when
|
||||
/// constructed and hold that lock until destruction.
|
||||
///
|
||||
class MutexLocker {
|
||||
Mutex &M;
|
||||
MutexLocker(const MutexLocker &); // DO NOT IMPLEMENT
|
||||
void operator=(const MutexLocker &); // DO NOT IMPLEMENT
|
||||
public:
|
||||
MutexLocker(Mutex &m) : M(m) { M.acquire(); }
|
||||
~MutexLocker() { M.release(); }
|
||||
};
|
||||
}
|
||||
|
||||
#endif // SUPPORT_THREADSUPPORT_H
|
Loading…
Reference in New Issue
Block a user