StringStream & more stdlib modules support for JS/NimScript (#14095)
* StringStream & more stdlib modules support for JS/NimScript * change back pegs test in line with #14134
This commit is contained in:
parent
d5ed4fba3e
commit
cd9af6b804
22 changed files with 852 additions and 356 deletions
|
|
@ -13,18 +13,24 @@
|
|||
template volatileLoad*[T](src: ptr T): T =
|
||||
## Generates a volatile load of the value stored in the container `src`.
|
||||
## Note that this only effects code generation on `C` like backends
|
||||
when defined(js):
|
||||
when nimvm:
|
||||
src[]
|
||||
else:
|
||||
var res: T
|
||||
{.emit: [res, " = (*(", type(src[]), " volatile*)", src, ");"].}
|
||||
res
|
||||
when defined(js):
|
||||
src[]
|
||||
else:
|
||||
var res: T
|
||||
{.emit: [res, " = (*(", type(src[]), " volatile*)", src, ");"].}
|
||||
res
|
||||
|
||||
template volatileStore*[T](dest: ptr T, val: T) =
|
||||
## Generates a volatile store into the container `dest` of the value
|
||||
## `val`. Note that this only effects code generation on `C` like
|
||||
## backends
|
||||
when defined(js):
|
||||
when nimvm:
|
||||
dest[] = val
|
||||
else:
|
||||
{.emit: ["*((", type(dest[]), " volatile*)(", dest, ")) = ", val, ";"].}
|
||||
when defined(js):
|
||||
dest[] = val
|
||||
else:
|
||||
{.emit: ["*((", type(dest[]), " volatile*)(", dest, ")) = ", val, ";"].}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue