With clang12, this ordering causes a big bunch of errors like:
In file included from midi-pattern.cpp:18:
In file included from ../includes/CarlaNativeExtUI.hpp:21:
In file included from ../includes/CarlaNative.hpp:21:
In file included from ../includes/CarlaNative.h:25:
In file included from ../includes/CarlaDefines.h:91:
/usr/include/c++/v1/cstddef:56:1: error: templates must have C++ linkage
template <class _Tp> struct __libcpp_is_integral { enum { value = 0 }; };
^~~~~~~~~~~~~~~~~~~~
../includes/CarlaNative.h:22:1: note: extern "C" language linkage specification begins here
extern "C" {
^