Next: , Previous: Attribute Large, Up: Implementation Defined Attributes


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 instantition, 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;