Skip to content
  1. Aug 16, 2017
  2. Aug 15, 2017
    • Zachary Turner's avatar
      Fix warning about unused variable. · 1bc6cb64
      Zachary Turner authored
      I'm explicitly ignoring the warning by casting to void instead of
      deleting the local assignment, because it's confusing to see a
      function that fails when its return value evaluates to true.
      But when you see that it's a std::error_code, it makes more sense.
      
      llvm-svn: 310965
      1bc6cb64
    • John McCall's avatar
      Extract IRGen's constant-emitter into its own helper class and clean up · de0fe07e
      John McCall authored
      the interface.
      
      The ultimate goal here is to make it easier to do some more interesting
      things in constant emission, like emit constant initializers that have
      ignorable side-effects, or doing the majority of an initialization
      in-place and then patching up the last few things with calls.  But for
      now this is mostly just a refactoring.
      
      llvm-svn: 310964
      de0fe07e
    • John McCall's avatar
      Allow the target field of a CK_ToUnion to be more easily recovered. · f1ef796f
      John McCall authored
      llvm-svn: 310963
      f1ef796f
    • John McCall's avatar
      Allow StmtVisitor visitation to be parameterized. NFC. · 477b123e
      John McCall authored
      llvm-svn: 310962
      477b123e
    • Zachary Turner's avatar
      [LLD COFF/PDB] Incrementally update the build id. · 024323cb
      Zachary Turner authored
      Previously, our algorithm to compute a build id involved hashing the
      executable and storing that as the GUID in the CV Debug Record chunk,
      and setting the age to 1.
      
      This breaks down in one very obvious case: a user adds some newlines to
      a file, rebuilds, but changes nothing else. This causes new line
      information and new file checksums to get written to the PDB, meaning
      that the debug info is different, but the generated code would be the
      same, so we would write the same build over again with an age of 1.
      
      Anyone using a symbol cache would have a problem now, because the
      debugger would open the executable, look at the age and guid, find a
      matching PDB in the symbol cache and then load it. It would never copy
      the new PDB to the symbol cache.
      
      This patch implements the canonical Windows algorithm for updating
      a build id, which is to check the existing executable first, and
      re-use an existing GUID while bumping the age if it already
      exists.
      
      Differential Revision: https://reviews.llvm.org/D36758
      
      llvm-svn: 310961
      024323cb
Loading