source: longrun_tests/stack.cfa@ ea05f8d

ADT arm-eh ast-experimental enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr pthread-emulation qualifiedEnum
Last change on this file since ea05f8d was e8fe5e0, checked in by tdelisle <tdelisle@…>, 6 years ago

Fixing longrun_tests to compile

  • Property mode set to 100644
File size: 722 bytes
RevLine 
[73abe95]1#include <kernel.hfa>
2#include <math.hfa>
3#include <thread.hfa>
4#include <time.hfa>
[cc3e4d0]5
[ef952d7]6#define __kick_rate 5000000ul
[e8fe5e0]7#include "long_tests.hfa"
[7bdcac1]8
[cc3e4d0]9#ifndef PREEMPTION_RATE
[b9da9585]10#error PREEMPTION_RATE not defined in makefile
[cc3e4d0]11#endif
12
[8ad6533]13Duration default_preemption() {
[cc3e4d0]14 return PREEMPTION_RATE;
15}
16
[0322865c]17thread worker_t {};
[cc3e4d0]18
[1449d83]19void main(worker_t & this) {
[ef952d7]20 while(TEST(0)) {
21 volatile long long p = 5_021_609ul;
22 volatile long long a = 326_417ul;
23 volatile long long n = 1l;
24 for (volatile long long i = 0; i < p; i++) {
25 n *= a;
26 n %= p;
27 KICK_WATCHDOG;
28 }
29
30 if( !TEST(n == a) ) {
31 abort();
32 }
[cc3e4d0]33 }
34}
35
[0322865c]36extern "C" {
37static worker_t * workers;
38}
39
[cc3e4d0]40int main(int argc, char* argv[]) {
41 processor p;
42 {
[0322865c]43 worker_t w[7];
44 workers = w;
[cc3e4d0]45 }
[1449d83]46}
Note: See TracBrowser for help on using the repository browser.