Some of PC compilers (e.g. Visual C and Borland C) I've used put stubs in place of pure virtual functions. The stubs generate either a run time error or an exception (depending on the compiler and version). If an abstract method is invoked at run-time, instead of an access violation, the program outputs a (sometimes) meaningful error message. But none of this matters if the compiler won't allow abstract classes to be created.
A quick test of the Ardunio compiler reveals that it does not allow the creation of abstract classes. So, the answer to my questions...
Does the compiler warn about those (e.g. class cannot be instantiated because it's abstract)?
No. The compiler produces an error. Creating instances of an abstract class is not possible.
Is there any run-time support for trapping a call to a pure virtual method?
It does not matter.
I think all functions should be pure virtual
Given the stuff above, I agree.