Skip to content
Snippets Groups Projects
  • Douglas Gregor's avatar
    07f81283
    Introduce module file extensions to piggy-back data onto module files. · 07f81283
    Douglas Gregor authored
    Introduce the notion of a module file extension, which introduces
    additional information into a module file at the time it is built that
    can then be queried when the module file is read. Module file
    extensions are identified by a block name (which must be unique to the
    extension) and can write any bitstream records into their own
    extension block within the module file. When a module file is loaded,
    any extension blocks are matched up with module file extension
    readers, that are per-module-file and are given access to the input
    bitstream.
    
    Note that module file extensions can only be introduced by
    programmatic clients that have access to the CompilerInvocation. There
    is only one such extension at the moment, which is used for testing
    the module file extension harness. As a future direction, one could
    imagine allowing the plugin mechanism to introduce new module file
    extensions.
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251955 91177308-0d34-0410-b5e6-96231b3b80d8
    07f81283
    History
    Introduce module file extensions to piggy-back data onto module files.
    Douglas Gregor authored
    Introduce the notion of a module file extension, which introduces
    additional information into a module file at the time it is built that
    can then be queried when the module file is read. Module file
    extensions are identified by a block name (which must be unique to the
    extension) and can write any bitstream records into their own
    extension block within the module file. When a module file is loaded,
    any extension blocks are matched up with module file extension
    readers, that are per-module-file and are given access to the input
    bitstream.
    
    Note that module file extensions can only be introduced by
    programmatic clients that have access to the CompilerInvocation. There
    is only one such extension at the moment, which is used for testing
    the module file extension harness. As a future direction, one could
    imagine allowing the plugin mechanism to introduce new module file
    extensions.
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251955 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.