diff options
Diffstat (limited to 'doc/manual.rst')
-rw-r--r-- | doc/manual.rst | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/manual.rst b/doc/manual.rst index 929aaec6a..2ba05ed4e 100644 --- a/doc/manual.rst +++ b/doc/manual.rst @@ -7214,6 +7214,19 @@ will generate this code: __interrupt void myinterrupt() +`cppNonPod` pragma +------------------ + +The `.cppNonPod` pragma should be used for non-POD `importcpp` types so that they +work properly (in particular regarding constructor and destructor) for +`.threadvar` variables. This requires `--tlsEmulation:off`. + +.. code-block:: nim + type Foo {.cppNonPod, importcpp, header: "funs.h".} = object + x: cint + proc main()= + var a {.threadvar.}: Foo + InjectStmt pragma ----------------- |