1. 22 Apr, 2017 1 commit
    • Brad Smith's avatar
      Merging r295614: · 469eeae0
      Brad Smith authored
      ------------------------------------------------------------------------
      r295614 | brad | 2017-02-19 15:11:48 -0500 (Sun, 19 Feb 2017) | 2 lines
      
      Always use --eh-frame-hdr on OpenBSD, even for -static
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@301083 91177308-0d34-0410-b5e6-96231b3b80d8
      469eeae0
  2. 04 Apr, 2017 2 commits
    • Craig Topper's avatar
      Merging r299347: · 80c73a33
      Craig Topper authored
      ------------------------------------------------------------------------
      r299347 | ctopper | 2017-04-02 20:51:57 -0700 (Sun, 02 Apr 2017) | 1 line
      
      [AVX-512] Fix a couple more intrinsic macros I missed in r299346.
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@299405 91177308-0d34-0410-b5e6-96231b3b80d8
      80c73a33
    • Craig Topper's avatar
      Merging r299346: · d0e1be52
      Craig Topper authored
      ------------------------------------------------------------------------
      r299346 | ctopper | 2017-04-02 20:41:29 -0700 (Sun, 02 Apr 2017) | 3 lines
      
      [AVX-512] Fix some intrinsic macros that use the wrong macro parameter names and don't have parentheses around them.
      
      Thanks to Matthew Barr for reporting this issue.
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@299404 91177308-0d34-0410-b5e6-96231b3b80d8
      d0e1be52
  3. 02 Mar, 2017 1 commit
    • Hans Wennborg's avatar
      Merging r296656: · 559aa046
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r296656 | bruno | 2017-03-01 11:18:42 -0800 (Wed, 01 Mar 2017) | 34 lines
      
      [PCH] Avoid VarDecl emission attempt if no owning module avaiable
      
      This is a stopgap fix for PR31863, a regression introduced in r276159.
      
      Consider this snippet:
      
      struct FVector;
      struct FVector {};
      struct FBox {
        FVector Min;
        FBox(int);
      };
      namespace {
      FBox InvalidBoundingBox(0);
      }
      
      While parsing the DECL_VAR for 'struct FBox', clang recursively read all the
      dep decls until it finds the DECL_CXX_RECORD forward declaration for 'struct
      FVector'. Then, it resumes all the way up back to DECL_VAR handling in
      `ReadDeclRecord`, where it checks if `isConsumerInterestedIn` for the decl.
      
      One of the condition for `isConsumerInterestedIn` to return false is if the
      VarDecl is imported from a module `D->getImportedOwningModule()`, because it
      will get emitted when we import the relevant module. However, before checking
      if it comes from a module, clang checks if `Ctx.DeclMustBeEmitted(D)`, which
      triggers the emission of 'struct FBox'. Since one of its fields is still
      incomplete, it crashes.
      
      Instead, check if `D->getImportedOwningModule()` is true before calling
      `Ctx.DeclMustBeEmitted(D)`.
      
      Differential Revision: https://reviews.llvm.org/D29753
      
      rdar://problem/30173654
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@296762 91177308-0d34-0410-b5e6-96231b3b80d8
      559aa046
  4. 24 Feb, 2017 9 commits
  5. 23 Feb, 2017 2 commits
    • Hans Wennborg's avatar
      Merging r295843: · a6d55d97
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r295843 | jvesely | 2017-02-22 07:01:42 -0800 (Wed, 22 Feb 2017) | 3 lines
      
      [OpenCL] r600 needs OpenCL kernel calling convention
      
      Differential Revision: https://reviews.llvm.org/D30236
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@296001 91177308-0d34-0410-b5e6-96231b3b80d8
      a6d55d97
    • Hans Wennborg's avatar
      Merging r295473: · ad64489d
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r295473 | hahnfeld | 2017-02-17 10:32:51 -0800 (Fri, 17 Feb 2017) | 13 lines
      
      [OpenMP] Remove barriers at cancel and cancellation point
      
      This resolves a deadlock with the cancel directive when there is no explicit
      cancellation point. In that case, the implicit barrier acts as cancellation
      point. After removing the barrier after cancel, the now unmatched barrier for
      the explicit cancellation point has to go as well.
      
      This has probably worked before rL255992: With the calls for the explicit
      barrier, it was sure that all threads passed a barrier before exiting.
      
      Reported by Simon Convent and Joachim Protze!
      
      Differential Revision: https://reviews.llvm.org/D30088
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@296000 91177308-0d34-0410-b5e6-96231b3b80d8
      ad64489d
  6. 21 Feb, 2017 3 commits
    • Hans Wennborg's avatar
      Merging r294954 and r295592: · cc3bc9c7
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r294954 | chapuni | 2017-02-13 06:59:53 -0800 (Mon, 13 Feb 2017) | 5 lines
      
      Fix r291495 -- Normalize LLVM_CMAKE_PATH in clang standalone build.
      
      CMake handles paths with slashes. It caused cmake/install failure on msbuild.exe.
      
      Note, Other llvm-config-oriented variables have been normalized since they are stored in the cache attributed with PATH.
      ------------------------------------------------------------------------
      
      ------------------------------------------------------------------------
      r295592 | chapuni | 2017-02-18 19:17:31 -0800 (Sat, 18 Feb 2017) | 1 line
      
      clang/CMakeLists.txt: Rework r294954 -- use file(TO_CMAKE_PATH).
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@295760 91177308-0d34-0410-b5e6-96231b3b80d8
      cc3bc9c7
    • Hans Wennborg's avatar
      Merging r295610: · ab74e4bf
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r295610 | brad | 2017-02-19 11:33:26 -0800 (Sun, 19 Feb 2017) | 4 lines
      
      Link static PIE programs against rcrt0.o on OpenBSD
      
      Patch by Stefan Kempf.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@295752 91177308-0d34-0410-b5e6-96231b3b80d8
      ab74e4bf
    • Hans Wennborg's avatar
      ReleaseNotes: static analyzer; by Anna Zaks · ae27a064
      Hans Wennborg authored
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@295742 91177308-0d34-0410-b5e6-96231b3b80d8
      ae27a064
  7. 16 Feb, 2017 3 commits
  8. 15 Feb, 2017 2 commits
    • Hans Wennborg's avatar
      Merging r295150: · 86ced617
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r295150 | ahatanak | 2017-02-14 21:15:28 -0800 (Tue, 14 Feb 2017) | 13 lines
      
      [Sema] Disallow returning a __block variable via a move.
      
      r274291 made changes to prefer calling a move constructor to calling a
      copy constructor when returning from a function. This caused programs to
      crash when a __block variable in the heap was moved out and used later.
      
      This commit fixes the bug by disallowing moving out of __block variables
      implicitly.
      
      rdar://problem/28181080
      
      Differential Revision: https://reviews.llvm.org/D29908
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@295234 91177308-0d34-0410-b5e6-96231b3b80d8
      86ced617
    • Hans Wennborg's avatar
      Merging r295149: · 155bc5fa
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r295149 | rsmith | 2017-02-14 20:18:23 -0800 (Tue, 14 Feb 2017) | 2 lines
      
      Fix assertion failure due to implicit special member lookup lacking a source location.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@295233 91177308-0d34-0410-b5e6-96231b3b80d8
      155bc5fa
  9. 14 Feb, 2017 2 commits
    • Hans Wennborg's avatar
      Merging r294800: · 77a08a40
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r294800 | gbiv | 2017-02-10 14:52:29 -0800 (Fri, 10 Feb 2017) | 10 lines
      
      Don't let EvaluationModes dictate whether an invalid base is OK
      
      What we want to actually control this behavior is something more local
      than an EvalutationMode. Please see the linked revision for more
      discussion on why/etc.
      
      This fixes PR31843.
      
      Differential Revision: https://reviews.llvm.org/D29469
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@295087 91177308-0d34-0410-b5e6-96231b3b80d8
      77a08a40
    • Hans Wennborg's avatar
      Merging r294855: · bf0d36c6
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r294855 | compnerd | 2017-02-11 09:24:09 -0800 (Sat, 11 Feb 2017) | 3 lines
      
      docs: update docs for objc_storeStrong behaviour
      
      objc_storeStrong does not return a value.
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@295076 91177308-0d34-0410-b5e6-96231b3b80d8
      bf0d36c6
  10. 08 Feb, 2017 1 commit
  11. 03 Feb, 2017 2 commits
    • Hans Wennborg's avatar
      Merging r294008: · 870923f4
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r294008 | arphaman | 2017-02-03 06:22:33 -0800 (Fri, 03 Feb 2017) | 14 lines
      
      [Sema][ObjC++] Typo correction should handle ivars and properties
      
      After r260016 and r260017 disabled typo correction for ivars and properties
      clang didn't report errors about unresolved identifier in the base of ivar and
      property ref expressions. This meant that clang invoked CodeGen on invalid AST
      which then caused a crash.
      
      This commit re-enables typo correction for ivars and properites, and fixes the
      PR25113 & PR26486 (that were originally fixed in r260017 and r260016) in a
      different manner by transforming the Objective-C ivar reference expression with
      'IsFreeIvar' preserved.
      
      rdar://30310772
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@294059 91177308-0d34-0410-b5e6-96231b3b80d8
      870923f4
    • Hans Wennborg's avatar
      Merging r293043: · c1eda1f0
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r293043 | dergachev | 2017-01-25 02:21:45 -0800 (Wed, 25 Jan 2017) | 12 lines
      
      [analyzer] Fix MacOSXAPIChecker fp with static locals seen from nested blocks.
      
      This is an attempt to avoid new false positives caused by the reverted r292800,
      however the scope of the fix is significantly reduced - some variables are still
      in incorrect memory spaces.
      
      Relevant test cases added.
      
      rdar://problem/30105546
      rdar://problem/30156693
      Differential revision: https://reviews.llvm.org/D28946
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@294050 91177308-0d34-0410-b5e6-96231b3b80d8
      c1eda1f0
  12. 01 Feb, 2017 4 commits
    • Hans Wennborg's avatar
      Merging r293787: · a6a1d3f3
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r293787 | arphaman | 2017-02-01 09:37:28 -0800 (Wed, 01 Feb 2017) | 5 lines
      
      [CodeGen][ObjC] Avoid asserting on block pointer types in
      isPointerZeroInitializable
      
      rdar://30111891
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@293797 91177308-0d34-0410-b5e6-96231b3b80d8
      a6a1d3f3
    • Hans Wennborg's avatar
      Merging r293360: · ccd67298
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r293360 | gbiv | 2017-01-27 18:19:40 -0800 (Fri, 27 Jan 2017) | 11 lines
      
      Change how we handle diagnose_if attributes.
      
      This patch changes how we handle argument-dependent `diagnose_if`
      attributes. In particular, we now check them in the same place that we
      check for things like passing NULL to Nonnull args, etc. This is
      basically better in every way than how we were handling them before. :)
      
      This fixes PR31638, PR31639, and PR31640.
      
      Differential Revision: https://reviews.llvm.org/D28889
      
      ------------------------------------------------------------------------
      Merging r293369:
      ------------------------------------------------------------------------
      r293369 | gbiv | 2017-01-27 20:16:32 -0800 (Fri, 27 Jan 2017) | 7 lines
      
      Attempt to unbreak buildbots.
      
      r293360 broke some ARM bots, because size_t on those targets is
      apparently `unsigned int`, not `unsigned long`. `sizeof(whatever)`
      should to give us a `size_t`, so we can just use the type of that
      instead.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@293784 91177308-0d34-0410-b5e6-96231b3b80d8
      ccd67298
    • Hans Wennborg's avatar
      Merging r291963: · 5eb0ba0f
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r291963 | ericwf | 2017-01-13 14:11:40 -0800 (Fri, 13 Jan 2017) | 9 lines
      
      [clang] Emit `diagnose_if` warnings from system headers
      
      Summary: In order for libc++ to meaningfully use `diagnose_if` warnings they need to be emitted from system headers by default. This patch changes the `diagnose_if` warning diagnostic to be shown in system headers.
      
      Reviewers: george.burgess.iv, rsmith, aaron.ballman
      
      Subscribers: cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D28703
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@293783 91177308-0d34-0410-b5e6-96231b3b80d8
      5eb0ba0f
    • Hans Wennborg's avatar
      Merging r293678: · dff88e09
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r293678 | ahatanak | 2017-01-31 11:53:32 -0800 (Tue, 31 Jan 2017) | 9 lines
      
      [Sema] Transform a templated name before looking it up in
      FindInstantiatedDecl or passing it to RebuildMemberExpr.
      
      This fixes PR30361.
      
      rdar://problem/17341274
      
      Differential Revision: https://reviews.llvm.org/D24969
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@293782 91177308-0d34-0410-b5e6-96231b3b80d8
      dff88e09
  13. 31 Jan, 2017 2 commits
    • Hans Wennborg's avatar
      Merging r292194: · 5114b5eb
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r292194 | majnemer | 2017-01-16 20:14:25 -0800 (Mon, 16 Jan 2017) | 8 lines
      
      [AST] AttributedType should derive type properties from the EquivalentType
      
      Using the canonical type instead of the equivalent type can result in
      insufficient template instantiations.
      
      This fixes PR31656.
      
      Differential Revision: https://reviews.llvm.org/D28788
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@293702 91177308-0d34-0410-b5e6-96231b3b80d8
      5114b5eb
    • 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
  14. 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
  15. 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
  16. 24 Jan, 2017 2 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