This is how it should be (you can validate this if you use `preprocessorFileLineNumbers` instead of functions):
Notice that there are now 2 `#line` directives. One before the `#include` (with file name set to that of the header file), and one after it (with file name set to the source file)
```
{
private _fnc_scriptNameParent = if (isNil '_fnc_scriptName') then {'TEST_fnc_TEST'} else {_fnc_scriptName};
private _fnc_scriptName = 'TEST_fnc_TEST';
scriptName _fnc_scriptName;
#line 1 "TEST\defines.hpp"
#line 1 "TEST\fn_TEST.sqf [TEST_fnc_TEST]"
"line2";
"line3";
"line4";
"This should be line 5" BUT ITS LINE10}
```