+ template<typename T> class SmallVectorImpl;
+
+ /// If object contains references to other objects, then relocations are
+ /// usually required for emission of such object (especially in PIC mode). One
+ /// usually distinguishes local and global relocations. Local relocations are
+ /// made wrt objects in the same module and these objects have local (internal
+ /// or private) linkage. Global relocations are made wrt externally visible
+ /// objects. In most cases local relocations can be resolved via so-called
+ /// 'pre-link' technique.
+ namespace Reloc {
+ const unsigned None = 0;
+ const unsigned Local = 1 << 0; ///< Local relocations are required
+ const unsigned Global = 1 << 1; ///< Global relocations are required
+ const unsigned LocalOrGlobal = Local | Global;
+ }