gcc >=4.8 allows __builtin_FILE() to expand at the call site when used given as the default for a c++ function argument.