Is it possibly to write a gcc macro that destringifies a string literal argument? I know the opposite is possible with #. Can it be reversed?
For example, __func__ evaluates to the name of the current function in the form of a string literal. Can I remove the double quotation marks around it?
No, it is not possible to convert "foo" to foo using the standard C/C++ preprocessor. If you absolutely need this, you would need to create an external preprocessing program, similar to what Qt does with its moc tool.
Not completely on-topic, but the D language has exactly this functionality - it's called mixins. You can execute arbitrary string processing code at compile time and "paste" the result into your source file with the mixin keyword.