Attribute Library_Level (GNAT Reference Manual)

### 4.37 Attribute Library_Level ¶

`P'Library_Level`, where P is an entity name, returns a Boolean value which is True if the entity is declared at the library level, and False otherwise. Note that within a generic instantiation, the name of the generic unit denotes the instance, which means that this attribute can be used to test if a generic is instantiated at the library level, as shown in this example:

    generic
      ...
    package Gen is
      pragma Compile_Time_Error
        (not Gen'Library_Level,
         "Gen can only be instantiated at library level");
      ...
    end Gen;