Skip to content
  1. Aug 28, 2013
    • Argyrios Kyrtzidis's avatar
      [BumpPtrAllocator] Move DefaultSlabAllocator to a member of BumpPtrAllocator,... · aae63a0c
      Argyrios Kyrtzidis authored
      [BumpPtrAllocator] Move DefaultSlabAllocator to a member of BumpPtrAllocator, instead of a static variable.
      
      The problem with having DefaultSlabAllocator being a global static is that it is undefined if BumpPtrAllocator
      will be usable during global initialization because it is not guaranteed that DefaultSlabAllocator will be
      initialized before BumpPtrAllocator is created and used.
      
      llvm-svn: 189433
      aae63a0c
  2. Aug 24, 2013
  3. Aug 22, 2013
  4. Aug 21, 2013
  5. Aug 18, 2013
  6. Aug 17, 2013
  7. Aug 16, 2013
  8. Aug 14, 2013
  9. Aug 13, 2013
  10. Aug 12, 2013
    • Tareq A. Siraj's avatar
      Fixes a bug when iterating on paths · 73537eac
      Tareq A. Siraj authored
      This fixes the incorrect implementation of iterating on file/directory
      paths.
      
      Differential Review: http://llvm-reviews.chandlerc.com/D1277
      
      llvm-svn: 188183
      73537eac
    • Chandler Carruth's avatar
      Remove all checking for the various terminfo headers (term.h and · 91219858
      Chandler Carruth authored
      curses.h). Finding these headers is next to impossible. For example, on
      Debian systems libtinfo-dev provides the terminfo reading library we
      want, but *not* term.h. For the header, you have to use libncurses-dev.
      And libncursesw-dev provides a *different* term.h in a different
      location!
      
      These headers aren't worth it. We want two functions the signatures of
      which are clearly spec'ed in sys-v and other documentation. Just declare
      them ourselves and call them. This should fix some debian builders and
      provide better support for "minimal" debian systems that do want color
      autodetection.
      
      llvm-svn: 188165
      91219858
    • Chandler Carruth's avatar
      Target a minimal terminfo library rather than necessarily a full curses · f11f1e43
      Chandler Carruth authored
      library for color support detection. This still will use a curses
      library if that is all we have available on the system. This change
      tries to use a smaller subset of the curses library, specifically the
      subset that is on some systems split off into a separate library. For
      example, if you install ncurses configured --with-tinfo, a 'libtinfo' is
      install that provides just the terminfo querying functionality. That
      library is now used instead of curses when it is available.
      
      This happens to fix a build error on systems with that library because
      when we tried to link ncurses into the binary, we didn't pull tinfo in
      as well. =]
      
      It should also provide an easy path for supporting the NetBSD
      libterminfo library, but as I don't have access to a NetBSD system I'm
      leaving adding that support to those folks.
      
      llvm-svn: 188160
      f11f1e43
  11. Aug 10, 2013
  12. Aug 08, 2013
  13. Aug 07, 2013
    • Reid Kleckner's avatar
      On Windows, autolink advapi32 from Path.inc for CryptAcquireContextW · 11da004a
      Reid Kleckner authored
      This allows llvm-tblgen to link successfully when compiling with clang.
      
      Both MSBuild and CMake will automatically add advapi32 as part of a set
      of other dlls comprising the win32 API to the link line, but CMake
      doesn't do that when compiling with clang.  Until someone adds that info
      to cmake upstream, this seems like a reasonable work around.
      
      llvm-svn: 187907
      11da004a
    • Chandler Carruth's avatar
      Add support for linking against a curses library when available and · cad7e5e0
      Chandler Carruth authored
      using it to detect whether or not a terminal supports colors. This
      replaces a particularly egregious hack that merely compared the TERM
      environment variable to "dumb". That doesn't really translate to
      a reasonable experience for users that have actually ensured their
      terminal's capabilities are accurately reflected.
      
      This makes testing a terminal for color support somewhat more expensive,
      but it is called very rarely anyways. The important fast path when the
      output is being piped somewhere is already in place.
      
      The global lock may seem excessive, but the spec for calling into curses
      is *terrible*. The whole library is terrible, and I spent quite a bit of
      time looking for a better way of doing this before convincing myself
      that this was the fundamentally correct way to behave. The damage of the
      curses library is very narrowly confined, and we continue to use raw
      escape codes for actually manipulating the colors which is a much sane
      system than directly using curses here (IMO).
      
      If this causes trouble for folks, please let me know. I've tested it on
      Linux and will watch the bots carefully. I've also worked to account for
      the variances of curses interfaces that I could finde documentation for,
      but that may not have been sufficient.
      
      llvm-svn: 187874
      cad7e5e0
    • Dmitri Gribenko's avatar
      YAMLTraits.h: replace DenseMap that used a bad implementation of DenseMapInfo · df73c300
      Dmitri Gribenko authored
      for StringRef with a StringMap
      
      The bug is that the empty key compares equal to the tombstone key.
      
      Also added an assertion to DenseMap to catch similar bugs in future.
      
      llvm-svn: 187866
      df73c300
    • Reid Kleckner's avatar
      Fix boolean logic in LockFileManager and test it · 7de8ea3d
      Reid Kleckner authored
      This fixes a bug from r187826.
      
      Reviewers: hans
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D1304
      
      llvm-svn: 187846
      7de8ea3d
    • Reid Kleckner's avatar
      Avoid using alloca in Windows/Program.inc · ac20e61b
      Reid Kleckner authored
      One use needs to copy the alloca into a std::string, and the other use
      is before calling CreateProcess, which is very heavyweight anyway.
      
      llvm-svn: 187845
      ac20e61b
    • Alexander Kornienko's avatar
      Implemented llvm::sys::locale::columnWidth and isPrint for the case of generic... · e69c77a4
      Alexander Kornienko authored
      Implemented llvm::sys::locale::columnWidth and isPrint for the case of generic UTF8-capable terminal.
      
      Summary:
      This is a second attempt to get this right. After reading the Unicode
      Standard I came up with the code that uses definitions of "printable" and
      "column width" more suitable for terminal output (i.e. fixed-width fonts and
      special treatment of many control characters).
      The implementation here can probably be used for Windows and MacOS if someone
      can test it properly.
      The patch addresses PR14910.
      
      Reviewers: jordan_rose, gribozavr
      
      CC: llvm-commits
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D1253
      
      llvm-svn: 187837
      e69c77a4
    • Reid Kleckner's avatar
      Remove some std stream usage from Support and TableGen · d78273f4
      Reid Kleckner authored
      LLVM's coding standards recommend raw_ostream and MemoryBuffer for
      reading and writing text.
      
      This has the side effect of allowing clang to compile more of Support
      and TableGen in the Microsoft C++ ABI.
      
      llvm-svn: 187826
      d78273f4
  14. Aug 05, 2013
  15. Jul 31, 2013
  16. Jul 30, 2013
  17. Jul 29, 2013
  18. Jul 27, 2013
  19. Jul 26, 2013
    • Bill Schmidt's avatar
      [PowerPC] Improve consistency in use of __ppc__, __powerpc__, etc. · 419f7c23
      Bill Schmidt authored
      Both GCC and LLVM will implicitly define __ppc__ and __powerpc__ for
      all PowerPC targets, whether 32- or 64-bit.  They will both implicitly
      define __ppc64__ and __powerpc64__ for 64-bit PowerPC targets, and not
      for 32-bit targets.  We cannot be sure that all other possible
      compilers used to compile Clang/LLVM define both __ppc__ and
      __powerpc__, for example, so it is best to check for both when relying
      on either inside the Clang/LLVM code base.
      
      This patch makes sure we always check for both variants.  In addition,
      it fixes one unnecessary check in lib/Target/PowerPC/PPCJITInfo.cpp.
      (At least one of __ppc__ and __powerpc__ should always be defined when
      compiling for a PowerPC target, no matter which compiler is used, so
      testing for them is unnecessary.)
      
      There are some places in the compiler that check for other variants,
      like __POWERPC__ and _POWER, and I have left those in place.  There is
      no need to add them elsewhere.  This seems to be in Apple-specific
      code, and I won't take a chance on breaking it.
      
      There is no intended change in behavior; thus, no test cases are
      added.
      
      llvm-svn: 187248
      419f7c23
Loading