Skip to content

c: Fix compile errors when vector init is used in a macro#593

Open
jonnor wants to merge 1 commit into
BayesWitnesses:masterfrom
jonnor:trees-memcpy-compile-error
Open

c: Fix compile errors when vector init is used in a macro#593
jonnor wants to merge 1 commit into
BayesWitnesses:masterfrom
jonnor:trees-memcpy-compile-error

Conversation

@jonnor

@jonnor jonnor commented Aug 3, 2024

Copy link
Copy Markdown

On some platforms, memcpy is a macro. Example: Raspberry Pi RP2040. In this case, the commas inside the array initializer gets mis-interpreted as macro argument separators. Adding an outer parenthesis fixes this issue.

Fixes compile errors with trees, on form

.../model_m2cgen.h:5343:115: error: macro "memcpy" passed 8 arguments, but takes just 3
 5343 |                                         memcpy(var19, (double[]){0.0, 0.0, 0.0, 0.0, 1.0, 0.0}, 6 * sizeof(double));
      |                                                                                                                   ^
.../zephyr-sdk-0.16.5/arm-zephyr-eabi/picolibc/include/ssp/string.h:97: note: macro "memcpy" defined here
   97 | #define memcpy(dst, src, len) __ssp_bos_check3(memcpy, dst, src, len)
On some platforms, memcpy is a macro. Example: Raspberry PI RP2040
In this case, the commas inside the array initializer gets mis-interpreted
as macro argument separators. Adding an outer parenthesis fixes this issue.

Fixes compile errors with trees, on form

    .../model_m2cgen.h:5343:115: error: macro "memcpy" passed 8 arguments, but takes just 3
     5343 |                                         memcpy(var19, (double[]){0.0, 0.0, 0.0, 0.0, 1.0, 0.0}, 6 * sizeof(double));
          |                                                                                                                   ^
    .../zephyr-sdk-0.16.5/arm-zephyr-eabi/picolibc/include/ssp/string.h:97: note: macro "memcpy" defined here
       97 | #define memcpy(dst, src, len) __ssp_bos_check3(memcpy, dst, src, len)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant