Support for GNAT contributed by Johannes Kanig (Adacore).