One of my main complaints about C++ metaprogramming is that its evaluation can be as complex as the runtime behavior of a normal program, but AFAIK no compiler provides metaprogram debugging tools. E.g., execution tracing or single-step debugging of metaprogram execution.
Anyone know of good tools of this nature for gcc and/or clang?
> We also tested this with Clang, which detects correctly the missing semicolon, after which it anyway tries to evaluate the infinite template recursion and eventually segfaults
When you break the compiler with a list of errors, you've successfully hung the programmer out to dry.
They're probably the current champions in how to make opting out of tracking cookies maximally inconvenient. Although to their credit they at least seem to remember my choices instead of sneakily reverting back to "accept everything" after a while.
I don't - and it seems millions more people have turned away too, given the precipitous drop in their audience and valuation. It was just in this case I didn't notice the link was to tumblr before I clicked on it.
It's poorly implemented too -- even if you're requesting a blog's RSS feed, Tumblr sends you that Oath screen unless your user-agent is on their list of approved RSS readers.
”If the data subject’s consent is to be given following a request by electronic means, the request must be clear, concise and not unnecessarily disruptive to the use of the service for which it is provided.”
Worth noting that the preprocessor made this so easy that they had to create a separate division, and templates made it easy for most of the rest. Future language designers, take note.
Sort of hilarious here, given the premise of the competition (that C++ has outrageously long error messages), that the winner is exploiting the preprocessor and not C++ at all.
Color template errors are the greatest leap in the history of computer science. No longer do I need to scan megabytes of output to find the unexpected |unsigned| in the fifth level of a template expansion.
When I did more C++ i found it weirdly satisfying to get a few hundred or thousands of errors during build and then fixing all of them with only a few changes.
When I was in college people would come to me to help them with their C++ compilation errors. My secret? Most of them would start trying to fix the reported errors bottom up. I would start top down and be done with probably one missing semicolon or something simple as that.
Going top down seems to be the secret. I do mainly C# now but even there a lot of people get confused by looking at the last error on the screen. I always only look at the first error and deal with that before looking at anything else.
In my experience, having a list to work through is much faster to remedy than fixing one bug at a time, and then recompiling for the next bug. VB drove me nuts for this simple reason.
Anyone know of good tools of this nature for gcc and/or clang?