The "GNAT-modified GNU Public License" adds additional freedoms to those given by the standard GPL (V2). It's applied to the run time library (RTL), not to the compiler itself which remains firmly GPL.
The additional freedom amounts to the freedom to produce proprietary programs using the compiler and RTL.
The reason for doing this is that Ada's RTL is thought not to be compatible with the Library GPL (LGPL), and also instantiating a generic may be considered to embody the library's text in the user's program.
This is in line with the FSF's practise in similar situations (Bison, the C++ Standard template Library).
The additional freedoms are typically listed in each Ada source file with this statement appended to the standard GPL text:
-- As a special exception, if other files instantiate generics from -- -- this unit, or you link this unit with other files to produce an -- -- executable, this unit does not by itself cause the resulting -- -- executable to be covered by the GNU General Public License. This -- -- exception does not however invalidate any other reasons why the -- -- executable file might be covered by the GNU Public License. --