# DM_VERSION macro

Source: https://ref.dm-lang.org/DM/preprocessor/DM_VERSION

This macro indicates the version of the compiler. This could be useful when distributing code that uses new language features that would not compile in older compilers.

```dm
#if DM_VERSION < 230
#error This compiler is too far out of date!
#endif
```

If you use `#pragma compatibility`, it will alter the value of this macro (but never higher than the actual version being compiled). In this way you can alter your code's behavior based on the pragma.

### See also
- [byond_version var (world)](https://ref.dm-lang.org/world/var/byond_version.md)
- [byond_version var (client)](https://ref.dm-lang.org/client/var/byond_version.md)
- [DM_BUILD macro](https://ref.dm-lang.org/DM/preprocessor/DM_BUILD.md)
- [preprocessor](https://ref.dm-lang.org/DM/preprocessor/index.md)
- [#pragma compatibility directive](https://ref.dm-lang.org/DM/preprocessor/pragma/compatibility.md)
