and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

  1. 18 Jul, 2019 35 commits
  2. 17 Jul, 2019 5 commits
    • Nilanjana Basu's avatar
      Changes to display code view debug info type records in hex format · 4e227702
      Nilanjana Basu authored
      llvm-svn: 366390
      4e227702
    • Peter Collingbourne's avatar
      hwasan: Use C++ driver for cfi.cc test. · 749f556b
      Peter Collingbourne authored
      It turns out that this test was only passing by accident. It was relying on
      the optimizer to remove the only reference to A's vtable by realizing that
      the CFI check will always fail. The vtable contains a reference to RTTI in
      libc++, which will be unresolved because the C driver won't link against it.
      
      This was found by my prototype implementation of HWASAN for globals, which
      happens to end up preserving the reference.
      
      Differential Revision: https://reviews.llvm.org/D64890
      
      llvm-svn: 366389
      749f556b
    • Evgeniy Stepanov's avatar
      Make DT a transitive dependency of LI. · 6abd78cc
      Evgeniy Stepanov authored
      Summary:
      LoopInfoWrapperPass::verify uses DT, which means DT must be alive
      even if it has no direct users.
      
      Fixes a crash in expensive checks mode.
      
      Reviewers: pcc, leonardchan
      
      Subscribers: hiraditya, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D64896
      
      llvm-svn: 366388
      6abd78cc
    • Denis Bakhvalov's avatar
      [llvm-bcanalyzer] Fixed error 'Expected<T> must be checked before access or destruction' · 3eab4819
      Denis Bakhvalov authored
      After rL365286 I had failing test:
        LLVM :: tools/gold/X86/v1.12/thinlto_emit_linked_objects.ll
      
      It was failing with the output:
      $ llvm-bcanalyzer --dump llvm/test/tools/gold/X86/v1.12/Output/thinlto_emit_linked_objects.ll.tmp3.o.thinlto.bc
      Expected<T> must be checked before access or destruction.
      Unchecked Expected<T> contained error:
      Unexpected end of file reading 0 of 0 bytesStack dump:
      
      Change-Id: I07e03262074ea5e0aae7a8d787d5487c87f914a2
      llvm-svn: 366387
      3eab4819
    • Nico Weber's avatar
      llvm-pdbdump: Fix several smaller issues with injected source compression handling · 7bb5fc05
      Nico Weber authored
      - getCompression() used to return a PDB_SourceCompression even though
        the docs for IDiaInjectedSource are explicit about the return value
        being compiler-dependent. Return an uint32_t instead, and make the
        printing code handle unknown values better by printing "Unknown" and
        the int value instead of not printing any compression.
      
      - Print compressed contents as hex dump, not as string.
      
      - Add compression type "DotNet", which is used (at least) by csc.exe,
        the C# compiler. Also add a lengthy comment describing the stream
        contents (derived from looking at the raw hex contents long enough
        to see the GUIDs, which led me to the roslyn and mono implementations
        for handling this).
      
      - The native injected source dumper was dumping the contents of the
        whole data stream -- but csc.exe writes a stream that's padded with
        zero bytes to the next 512 boundary, and the dia api doesn't display
        those padding bytes. So make NativeInjectedSource::getCode() do the
        same thing.
      
      Differential Revision: https://reviews.llvm.org/D64879
      
      llvm-svn: 366386
      7bb5fc05