# Kernel Objects (KObj) and .m source files



## obsigna (Dec 12, 2016)

Surprisingly, I found some .m source/include files in /usr/src/sys which quite obviously are not Objective-C but turned out to be KObj files.

AFAIK, currently, Clang is supposed to treat .m files as Objective-C and won't complain about KObj files as long as these are valid plain C sources.

Since I started using Objective-C with my projects on FreeBSD, I hope, that the ObjC - KObj ambiguity does not lead to clashes in the future -- for example kernel developers might wish to have KObj support in the FreeBSD compiler, and this might break valid Objective-C.

As long as the kernel developers are aware that .m is Objective-C in the ROW, I see no danger. If the use of the suffix .m for KObj sources is by coincidence, then it is better, to keep an eye on too much individualized creativity.


----------

