summaryrefslogtreecommitdiff
path: root/compiler/cbits/genSym.c
blob: 08d403d849ff3e434aea0444e7a18b9a24dcf773 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

#include "Rts.h"

static HsInt GenSymCounter = 0;

HsInt genSym(void) {
#if defined(THREADED_RTS)
    if (n_capabilities == 1) {
        return GenSymCounter++;
    } else {
        return atomic_inc((StgWord *)&GenSymCounter, 1);
    }
#else
    return GenSymCounter++;
#endif
}