Skip to content
  1. Feb 17, 2012
  2. Feb 16, 2012
    • Eric Christopher's avatar
      Reapply r150631: · 4c006e55
      Eric Christopher authored
          "Add a completed/incomplete type difference. This allows us to have
          partial types for contexts and forward decls while allowing us to
          complete types later on for debug purposes.
      
          This piggy-backs on the metadata replacement and rauw changes
          for temporary nodes and takes advantage of the incremental
          support I added in earlier. This allows us to, if we decide,
          to limit adding methods and variables to structures in order
          to limit the amount of debug information output into a .o file.
      
          The caching is a bit complicated though so any thoughts on
          untangling that are welcome."
      
      with a fix:
      
       - Remove all RAUW during type construction by adding stub versions
         of types that we later complete.
      
      and some TODOs:
      
       - Add an RAUW cache for forward declared types so that we can replace
         them at the end of compilation.
       - Remove the code that updates on completed types because we no
         longer need to have that happen. We emit incomplete types on
         purpose and only want to know when we want to complete them.
      
      llvm-svn: 150752
      4c006e55
Loading