On Tuesday, 4 September 2012 at 09:24:26 UTC, Don Clugston wrote:
On 03/09/12 23:48, Chris Nicholson-Sauls wrote:
I reiterate my impression that magical __FILE__ and
__LINE__ should be provided by some other means.

It was a special-case hack to fix a special-case need. It was extremely easy to implement (about 2 hours work) and has been very successful in fixing that need. Everything else that anyone has talked about is at least ten times as complicated, and doesn't seem to offer significant advantages.

It's really easy to come up with over-engineered solutions to these sorts of things.

How difficult would hidden params, triggered by usage, be? Ie: my function makes use of __CALL_FILE and __CALL_LINE variables by name, therefore they are tacked on (as const, presumably) and always passed, thanks to diabolic compiler sorcery. The current solution is fine in a majority of cases, at least so far, but there are going to be moments like what the OP had, and these moments are discouraging especially to newcomers.

I won't pretend to know if it would be easy or not; you're a heck of a lot more familiar with the compiler's code than I am. But it certainly seems straightforward.

Reply via email to