1. 31 Jan, 2017 1 commit
    • Hans Wennborg's avatar
      Merging r293596: · 1b8468f0
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r293596 | ahatanak | 2017-01-30 18:31:39 -0800 (Mon, 30 Jan 2017) | 7 lines
      
      Handle ObjCEncodeExpr in extractStringLiteralCharacter.
      
      This fixes an assertion failure that occurs later in the function when
      an ObjCEncodeExpr is cast to StringLiteral.
      
      rdar://problem/30111207
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@293653 91177308-0d34-0410-b5e6-96231b3b80d8
      1b8468f0
  2. 27 Jan, 2017 3 commits
    • Hans Wennborg's avatar
      Merging r293134: · 7bf54fb3
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r293134 | akirtzidis | 2017-01-25 18:11:50 -0800 (Wed, 25 Jan 2017) | 4 lines
      
      [index] When indexing an ObjC method declaration use its base name for the location.
      
      Instead of using the location of the beginning '-'/'+'.
      This is consistent with location used for function decls and ObjC method calls where we use the base name as the location as well.
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@293303 91177308-0d34-0410-b5e6-96231b3b80d8
      7bf54fb3
    • Hans Wennborg's avatar
      Merging r292590: · 2d09298b
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292590 | abataev | 2017-01-20 00:57:28 -0800 (Fri, 20 Jan 2017) | 6 lines
      
      [OPENMP] Fix for PR31643: Clang crashes when compiling code on Windows
      with SEH and openmp
      
      In some cituations (during codegen for Windows SEH constructs)
      CodeGenFunction instance may have CurFn equal to nullptr. OpenMP related
      code does not expect such situation during cleanup.
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@293302 91177308-0d34-0410-b5e6-96231b3b80d8
      2d09298b
    • Hans Wennborg's avatar
      Merging r292561: · faf6e6df
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292561 | rsmith | 2017-01-19 17:19:46 -0800 (Thu, 19 Jan 2017) | 3 lines
      
      PR31701: Fix crash on invalid caused by parsing a dependent initializer when we
      don't know we're in a dependent context.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@293297 91177308-0d34-0410-b5e6-96231b3b80d8
      faf6e6df
  3. 25 Jan, 2017 1 commit
    • Hans Wennborg's avatar
      Merging r292991: · cadf1a49
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292991 | rsmith | 2017-01-24 15:18:28 -0800 (Tue, 24 Jan 2017) | 3 lines
      
      PR31742: Don't emit a bogus "zero size array" extwarn when initializing a
      runtime-sized array from an empty list in an array new.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@293072 91177308-0d34-0410-b5e6-96231b3b80d8
      cadf1a49
  4. 24 Jan, 2017 3 commits
    • Hans Wennborg's avatar
      Merging r292874: · b32860f4
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292874 | dcoughlin | 2017-01-23 18:10:59 -0800 (Mon, 23 Jan 2017) | 6 lines
      
      Revert "[analyzer] Fix memory space of static locals seen from nested blocks."
      
      This reverts commit r292800.
      
      It is causing null pointer dereference false positives when a block that
      captures a static local is evaluated at the top level.
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292947 91177308-0d34-0410-b5e6-96231b3b80d8
      b32860f4
    • Hans Wennborg's avatar
      Merging r292847: · adbedcc4
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292847 | rsmith | 2017-01-23 15:14:23 -0800 (Mon, 23 Jan 2017) | 2 lines
      
      PR31692: Don't mark a declaration as invalid if we haven't necessarily emitted a (user-visible) error.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292859 91177308-0d34-0410-b5e6-96231b3b80d8
      adbedcc4
    • Hans Wennborg's avatar
      Merging r292800: · 72341111
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292800 | dergachev | 2017-01-23 08:57:11 -0800 (Mon, 23 Jan 2017) | 13 lines
      
      [analyzer] Fix memory space of static locals seen from nested blocks.
      
      When a block within a function accesses a function's static local variable,
      this local is captured by reference rather than copied to the heap.
      
      Therefore this variable's memory space is known: StaticGlobalSpaceRegion.
      Used to be UnknownSpaceRegion, same as for stack locals.
      
      Fixes a false positive in MacOSXAPIChecker.
      
      rdar://problem/30105546
      Differential revision: https://reviews.llvm.org/D28946
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292858 91177308-0d34-0410-b5e6-96231b3b80d8
      72341111
  5. 23 Jan, 2017 2 commits
    • Hans Wennborg's avatar
      Merging r292497: · 12c394c7
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292497 | arphaman | 2017-01-19 09:17:57 -0800 (Thu, 19 Jan 2017) | 6 lines
      
      [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode
      
      rdar://28532840
      
      Differential Revision: https://reviews.llvm.org/D25213
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292808 91177308-0d34-0410-b5e6-96231b3b80d8
      12c394c7
    • Hans Wennborg's avatar
      Merging r292555, r292558 and r292559: · 6a36a695
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292555 | rsmith | 2017-01-19 16:45:35 -0800 (Thu, 19 Jan 2017) | 6 lines
      
      P0426: Make the library implementation of constexpr char_traits a little easier
      by providing a memchr builtin that returns char* instead of void*.
      
      Also add a __has_feature flag to indicate the presence of constexpr forms of
      the relevant <string> functions.
      
      ------------------------------------------------------------------------
      
      ------------------------------------------------------------------------
      r292558 | rsmith | 2017-01-19 16:57:59 -0800 (Thu, 19 Jan 2017) | 2 lines
      
      Add documentation for constexpr string builtin support.
      
      ------------------------------------------------------------------------
      
      ------------------------------------------------------------------------
      r292559 | rsmith | 2017-01-19 17:08:15 -0800 (Thu, 19 Jan 2017) | 2 lines
      
      Fix documentation typo.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292807 91177308-0d34-0410-b5e6-96231b3b80d8
      6a36a695
  6. 19 Jan, 2017 2 commits
    • Hans Wennborg's avatar
      Merging r291955: · 2574fd71
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r291955 | rsmith | 2017-01-13 12:46:54 -0800 (Fri, 13 Jan 2017) | 3 lines
      
      PR31606: Generalize our tentative DR resolution for inheriting copy/move
      constructors to better match the pre-P0136R1 behavior.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292463 91177308-0d34-0410-b5e6-96231b3b80d8
      2574fd71
    • Joerg Sonnenberger's avatar
      Merging r292119: · 8ebd0ffe
      Joerg Sonnenberger authored
      ------------------------------------------------------------------------
      r292119 | joerg | 2017-01-16 15:07:24 +0100 (Mo, 16. Jan 2017) | 3 Zeilen
      
      Ensure that clang -pthread creates the right macro. -D_POSIX_THREADS
      seems to have been a C&P error from old GCC specs for OpenBSD.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292451 91177308-0d34-0410-b5e6-96231b3b80d8
      8ebd0ffe
  7. 18 Jan, 2017 4 commits
    • Hans Wennborg's avatar
      Merging r292247: · 3a631d56
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292247 | jbcoe | 2017-01-17 12:03:54 -0800 (Tue, 17 Jan 2017) | 14 lines
      
      Fix Python 3 language issues and add an explicit check for Python version == 2.
      
      Summary:
      Python bindings cannot support Python 3 without work being done to fix Unicode c-string conversion.
      
      This was attempted in https://reviews.llvm.org/D26082. That patch was reverted due to memory access issues on Linux.
      
      This revision fixes enough language compatibility issues for the clang module to be loaded and raise an error if the Python version is not 2.
      
      Reviewers: mgorny, MathieuDuponchelle, rengolin, compnerd
      
      Reviewed By: compnerd
      
      Differential Revision: https://reviews.llvm.org/D28682
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292339 91177308-0d34-0410-b5e6-96231b3b80d8
      3a631d56
    • Hans Wennborg's avatar
      Merging r292183: · 4077c4b1
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292183 | rsmith | 2017-01-16 18:14:37 -0800 (Mon, 16 Jan 2017) | 14 lines
      
      Partial revert of r290511.
      
      The rules around typechecking deduced template arguments during partial
      ordering are not clear, and while the prior behavior does not seem to be
      correct (it doesn't follow the general model of partial ordering where each
      template parameter is replaced by a non-dependent but unique value), the new
      behavior is also not clearly right and breaks some existing idioms.
      
      The new behavior is retained for dealing with non-type template parameters
      with 'auto' types, as without it even the most basic uses of that feature
      don't work. We can revisit this once CWG has come to an agreement on how
      partial ordering with 'auto' non-type template parameters is supposed to
      work.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292338 91177308-0d34-0410-b5e6-96231b3b80d8
      4077c4b1
    • Hans Wennborg's avatar
      Merging r292052: · 1f645f83
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292052 | akirtzidis | 2017-01-14 22:11:04 -0800 (Sat, 14 Jan 2017) | 1 line
      
      [code-completion] Fix crash when trying to do postfix completion of instance member inside a static function.
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292313 91177308-0d34-0410-b5e6-96231b3b80d8
      1f645f83
    • Hans Wennborg's avatar
      Merging r292032: · 8396c5b8
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292032 | yrnkrn | 2017-01-14 13:12:08 -0800 (Sat, 14 Jan 2017) | 4 lines
      
      Fix PR31644 introduced by r287138 and add a regression test.
      Thanks Dimitry Andric for the report and fix!
      
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292311 91177308-0d34-0410-b5e6-96231b3b80d8
      8396c5b8
  8. 17 Jan, 2017 5 commits
  9. 16 Jan, 2017 1 commit
  10. 15 Jan, 2017 1 commit
  11. 13 Jan, 2017 7 commits
    • Hans Wennborg's avatar
      Merging r291964: · 0ff2de36
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r291964 | rsmith | 2017-01-13 14:16:41 -0800 (Fri, 13 Jan 2017) | 2 lines
      
      PR31631: fix bad CFG (and bogus warnings) when an if-statement has an init-statement and has binary operator as its condition.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@291978 91177308-0d34-0410-b5e6-96231b3b80d8
      0ff2de36
    • Hans Wennborg's avatar
      Merging r291879: · a5eaae1e
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r291879 | echristo | 2017-01-12 17:52:04 -0800 (Thu, 12 Jan 2017) | 1 line
      
      Add a necessary newline for diagnose_if documentation.
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@291952 91177308-0d34-0410-b5e6-96231b3b80d8
      a5eaae1e
    • Hans Wennborg's avatar
      Merging r291881: · 77e53886
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r291881 | chandlerc | 2017-01-12 18:47:34 -0800 (Thu, 12 Jan 2017) | 3 lines
      
      Another fix for r291850 because there are apparently targets which add
      "-mllvm" flags to the CC1 invocation (notably, Hexagon seems to hit
      this).
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@291951 91177308-0d34-0410-b5e6-96231b3b80d8
      77e53886
    • Hans Wennborg's avatar
      Merging r291907: · 2227088d
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r291907 | jbcoe | 2017-01-13 08:06:59 -0800 (Fri, 13 Jan 2017) | 6 lines
      
      Revert "Support for Python 3 in libclang python bindings"
      
      This reverts commit 4464581b.
      
      Memory access issues on Linux were reported by Mathieu Duponchelle and
      discussed here: https://reviews.llvm.org/D26082.
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@291950 91177308-0d34-0410-b5e6-96231b3b80d8
      2227088d
    • Hans Wennborg's avatar
      Merging r291877: · 0e2702f6
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r291877 | smeenai | 2017-01-12 17:28:34 -0800 (Thu, 12 Jan 2017) | 13 lines
      
      [Sema] Restrict explicit instantation definition dllexport
      
      In the case where the template class itself is already `dllexport`, the
      implicit instantiation will have already emitted all members. When we
      check the explicit instantiation definition, the `Specialization` will
      have inherited the `dllexport` attribute, so we'll attempt to emit all
      members for a second time, which causes an assertion failure. Restrict
      the exporting to when the `dllexport` attribute is newly introduced by
      the explicit instantiation definition.
      
      Fixes PR31608.
      
      Differential Revision: https://reviews.llvm.org/D28590
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@291943 91177308-0d34-0410-b5e6-96231b3b80d8
      0e2702f6
    • Hans Wennborg's avatar
      Merging r291871: · 959137d5
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r291871 | rsmith | 2017-01-12 16:57:54 -0800 (Thu, 12 Jan 2017) | 10 lines
      
      Update C++ status pages for Clang 4 branch:
      
       * Update version number in DR tests from 4.0 to 4
       * Teach make_cxx_dr_status script about version numbers that don't contain a
         period.
       * Update cxx_status.html and cxx_dr_status.html to list Clang 4 features as
         "Clang 4" rather than "SVN"
      
      Clang 4 features are still listed in yellow rather than green until release.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@291913 91177308-0d34-0410-b5e6-96231b3b80d8
      959137d5
    • Hans Wennborg's avatar
      Merging r291865: · e63b0f23
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r291865 | rsmith | 2017-01-12 16:43:31 -0800 (Thu, 12 Jan 2017) | 15 lines
      
      Improve handling of instantiated thread_local variables in Itanium C++ ABI.
      
       * Do not initialize these variables when initializing the rest of the
         thread_locals in the TU; they have unordered initialization so they can be
         initialized by themselves.
      
         This fixes a rejects-valid bug: we would make the per-variable initializer
         function internal, but put it in a comdat keyed off the variable, resulting
         in link errors when the comdat is selected from a different TU (as the per
         TU TLS init function tries to call an init function that does not exist).
      
       * On Darwin, when we decide that we're not going to emit a thread wrapper
         function at all, demote its linkage to External. Fixes a verifier failure
         on explicit instantiation of a thread_local variable on Darwin.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@291912 91177308-0d34-0410-b5e6-96231b3b80d8
      e63b0f23
  12. 12 Jan, 2017 10 commits