Without a version directive Processing will attempt to rewrite the shader code to suit the GL version (eg. attributes/varyings to in/out) It shouldn’t touch the source with a version in place.
Check out https://github.com/processing/processing/blob/master/core/src/processing/opengl/PGL.java#L1948 It might give you a hint to why yours is failing.