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


4.34 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;