It turns out most of the thumb2 instructions are not allowed to touch SP. The semanti...
[llvm/avr.git] / lib / System / Win32 / Alarm.inc
blobe0d00a0142bfac4a4bce0d13109db85b4eae801b
1 //===-- Alarm.inc - Implement Win32 Alarm Support ---------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file implements the Win32 Alarm support.
12 //===----------------------------------------------------------------------===//
14 #include <cassert>
15 using namespace llvm;
17 /// NestedSOI - Sanity check.  Alarms cannot be nested or run in parallel.
18 /// This ensures that they never do.
19 static bool NestedSOI = false;
21 void sys::SetupAlarm(unsigned seconds) {
22   assert(!NestedSOI && "sys::SetupAlarm calls cannot be nested!");
23   NestedSOI = true;
24   // FIXME: Implement for Win32
27 void sys::TerminateAlarm() {
28   assert(NestedSOI && "sys::TerminateAlarm called without sys::SetupAlarm!");
29   // FIXME: Implement for Win32
30   NestedSOI = false;
33 int sys::AlarmStatus() {
34   // FIXME: Implement for Win32
35   return 0;
38 // Don't pull in all of the Windows headers.
39 extern "C"  void __stdcall Sleep(unsigned long);
41 void sys::Sleep(unsigned n) {
42   ::Sleep(n*1000);