retrolefty:
I don't understand your point. Isn't Wiring just a C function. At least that is what I see when I look at the Arduino core source files.
The point is that the source is mucked about with by the IDE before it's compiled - I haven't looked at the details but I understand that some #include statements get added, and function declarations are autogenerated for you. I suppose that this subtle difference is why the files aren't saved with a .cpp extension. It's very very nearly C++ and most of the time the difference can be ignored, but occasionally the difference matters.