The advantage of the macros is that it correct attributes the function that invoked the macro. But it is a bit awkward because of the imports. Given that the glfw error is printed before it dies I'm not sure the line number is to the users advantage.