Skip to content
  1. Nov 08, 2013
    • Sean Silva's avatar
      Py3k compat for clang-format Sublime Text extension. · 60dccf2d
      Sean Silva authored
      Sublime Text 2 uses Python 2.6
      Sublime Text 3 uses Python 3.3
      
      The `print` function has been available as a __future__ import since
      2.6, so use it.
      
      Patch by Johan Engelen!
      
      llvm-svn: 194287
      60dccf2d
    • Alp Toker's avatar
      clang-format: Write files atomically · 07ce1d02
      Alp Toker authored
      Switch clang-format over to Rewriter::overwriteChangedFiles().
      
      The previous implementation was attempting to stream back directly to the
      original file and failing if it was already memory mapped by MemoryBuffer,
      an operation unsupported by Windows.
      
      MemoryBuffer generally mmaps files larger than the physical page size so
      this will have been difficult to reproduce consistently.
      
      This change also reduces flicker in code editors and IDEs on all platforms
      when reformatting in-place.
      
      Note that other incorrect uses of MemoryBuffer exist in LLVM/clang and
      will need a similar fix.
      
      A test should be added for Windows when libFormat performance issues are
      fixed (it takes longer than a day to format a 1MB file at present!)
      
      llvm-svn: 194250
      07ce1d02
  2. Nov 06, 2013
  3. Nov 04, 2013
  4. Oct 31, 2013
  5. Oct 29, 2013
  6. Oct 25, 2013
  7. Oct 22, 2013
  8. Oct 17, 2013
  9. Oct 15, 2013
  10. Oct 11, 2013
  11. Oct 08, 2013
    • Daniel Jasper's avatar
      clang-format: Don't exit with failure on empty files. · e8845ad4
      Daniel Jasper authored
      Also let clang-format-diff.py detect errors based on clang-format's
      return code. Otherwise messages like "Can't find usable .clang-format,
      falling back to LLVM style" can make it fail, which might be undesired.
      
      Patch by Alp Toker. Thank you!
      
      llvm-svn: 192184
      e8845ad4
  12. Oct 07, 2013
  13. Oct 03, 2013
  14. Oct 02, 2013
    • Daniel Jasper's avatar
      clang-format: Fix clang-format-diff.py according to diff specification. · 164c8e18
      Daniel Jasper authored
      Patch by Alp Toker. Many thanks!
      
      Original descriptions:
      clang-format-diff incorrectly modifies unchanged lines due to an error
      in diff parsing.
      
      The unified diff format has a default line change count of 1, and 0 may
      be specified to indicate that no lines have been added. This patch
      updates the parser to accurately reflect the diff specification.
      
      This also has the benefit of stabilising the operation so it will
      produce the same output when run multiple times on the same changeset,
      which was previously not the case.
      
      No tests added because this script is not currently tested (though we
      should look into that!)
      
      llvm-svn: 191820
      164c8e18
  15. Oct 01, 2013
  16. Sep 30, 2013
  17. Sep 26, 2013
    • Bob Wilson's avatar
      Fix up fallout from r187156. · a1b4206a
      Bob Wilson authored
      The previous change caused the driver to translate -Wa,-L to the
      -msave-temp-labels option for cc1as, but cc1as did not accept that option.
      This patch follows the same approach used for similar options (-relax-all,
      -noexecstack) in the previous patch.
      
      llvm-svn: 191458
      a1b4206a
  18. Sep 25, 2013
  19. Sep 24, 2013
    • Alexey Bataev's avatar
      [OPENMP] Bug fixes and improvements. · 756c196f
      Alexey Bataev authored
      1. Fixed constructor of shared clause.
      2. Some macros for clauses processing are replaced by private template methods.
      3. Additional checks in sema analysis of OpenMP clauses.
      
      llvm-svn: 191265
      756c196f
  20. Sep 22, 2013
  21. Sep 21, 2013
  22. Sep 18, 2013
    • Daniel Jasper's avatar
      Simplify clang-format-diff.py using new clang-format options. · dcab7fbb
      Daniel Jasper authored
      clang-format's -lines parameter makes this significantly easier.
      
      llvm-svn: 190935
      dcab7fbb
    • Hal Finkel's avatar
      Add the intrinsic __builtin_convertvector · c4d7c82c
      Hal Finkel authored
      LLVM supports applying conversion instructions to vectors of the same number of
      elements (fptrunc, fptosi, etc.) but there had been no way for a Clang user to
      cause such instructions to be generated when using builtin vector types.
      
      C-style casting on vectors is already defined in terms of bitcasts, and so
      cannot be used for these conversions as well (without leading to a very
      confusing set of semantics). As a result, this adds a __builtin_convertvector
      intrinsic (patterned after the OpenCL __builtin_astype intrinsic). This is
      intended to aid the creation of vector intrinsic headers that create generic IR
      instead of target-dependent intrinsics (in other words, this is a generic
      _mm_cvtepi32_ps). As noted in the documentation, the action of
      __builtin_convertvector is defined in terms of the action of a C-style cast on
      each vector element.
      
      llvm-svn: 190915
      c4d7c82c
  23. Sep 16, 2013
  24. Sep 14, 2013
    • Jordan Rose's avatar
      [analyzer] Put more uniqueness in scan-build's temporary directory names. · e10c8595
      Jordan Rose authored
      This is necessary when running two scan-build processes in parallel. The
      directory naming scheme is now:
      
        yyyy-MM-dd-HHmmss-PID-N
        2013-09-13-174210-123-1
      
      where "PID" is the scan-build process ID, and "N" is a sequential counter
      (not likely to be needed now that seconds are mangled in, but just in case).
      
      PR17196, using a suggested fix from Greg Czajkowski!
      
      llvm-svn: 190735
      e10c8595
  25. Sep 13, 2013
    • David Blaikie's avatar
      Remove unnecessary inclusion of Sema.h · 0a4e61f8
      David Blaikie authored
      Let me tell you a tale...
      
      Within some twisted maze of debug info I've ended up implementing an
      insane man's Include What You Use device. When the debugger emits debug
      info it really shouldn't, I find out why & then realize the code could
      be improved too.
      
      In this instance CIndexDiagnostics.cpp had a lot more debug info with
      Clang than GCC. Upon inspection a major culprit was all the debug info
      describing clang::Sema. This was emitted because clang::Sema is
      befriended by DiagnosticEngine which was rightly required, but GCC
      doesn't emit debug info for friends so it never emitted anything for
      Clang. Clang does emit debug info for friends (will be fixed/changed to
      reduce debug info size).
      
      But why didn't Clang just emit a declaration of Sema if this entire TU
      didn't require a definition?
      
      1) Diagnostic.h did the right thing, only using a declaration of Sema
      and not including Sema.h at all.
      2) Some other dependency of CIndexDiagnostics.cpp didn't do the right
      thing. ASTUnit.h, only needing a declaration, still included Sema.h
      (hence this commit which removes that include and adds the necessary
      includes to the cpp files that were relying on this)
      3) -flimit-debug-info didn't save us because of
      EnterExpressionEvaluationContext, defined inline in Sema.h which fires
      the "requiresCompleteType" check/flag (since it uses nested types from
      Sema and calls Sema member functions) and thus, if debug info is ever
      emitted for the type, the whole type is emitted and not just a
      declaration.
      
      Improving -flimit-debug-info to account for this would be... hard.
      Modifying the code so that's not 'required to be complete' might be
      possible, but probably only by moving EnterExpressionEvaluationContext
      either into Sema, or out of Sema.h. That might be a bit too much of a
      contortion to be bothered with.
      
      Also, this is only one of the cases where emitting debug info for
      friends caused us to emit a lot more debug info (this change reduces
      Clang's DWO size by 0.93%, dropping friends entirely reduces debug info
      by 3.2%) - I haven't hunted down the other cases, but I assume they
      might be similar (Sema or something like it). IWYU or a similar tool
      might help us reduce build times a bit, but analyzing debug info to find
      these differences isn't worthwhile. I'll take the 3.2% win, provide this
      small improvement to the code itself, and move on.
      
      llvm-svn: 190715
      0a4e61f8
    • Daniel Jasper's avatar
      clang-format: Add -assume-filename option for editor integrations. · e488f5dd
      Daniel Jasper authored
      With -style=file, clang-format now starts to search for a .clang-format
      file starting at the file given with -assume-filename if it reads from
      stdin. Otherwise, it would start searching from the current directory,
      which is not helpful for editor integrations.
      
      Also changed vim, emacs and sublime integrations to actually make use of
      this flag.
      
      This fixes llvm.org/PR17072.
      
      llvm-svn: 190691
      e488f5dd
  26. Sep 12, 2013
  27. Sep 11, 2013
  28. Sep 10, 2013
  29. Sep 09, 2013
  30. Sep 06, 2013
Loading