# E4140

Invalid C function name in extern "C" declaration.

When binding a C function with the `extern "C"` declaration, the function name
must be a valid C identifier. This means that the name must satisfy the
following regex:

```
[a-zA-Z_$][a-zA-Z0-9_$]*
```

## Erroneous example

```{literalinclude} /sources/error_codes/4140_error/top.mbt
:language: moonbit
```

## Suggestion

Change the function name to a valid C identifier:

```{literalinclude} /sources/error_codes/4140_fixed/top.mbt
:language: moonbit
```
