Permalink
Commits on Apr 30, 2013
  1. Revert r180739 and r180748: they broke C++11 thread_local on non-Darw…

    …in systems and did not do the right thing on Darwin.
    
    Original commit message:
    
    Emit the TLS intialization functions into a list.
    
    Add the TLS initialization functions to a list of initialization functions. The
    back-end takes this list and places the function pointers into the correct
    section. This way they're called before `main().'
    
    <rdar://problem/13733006>
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180809 91177308-0d34-0410-b5e6-96231b3b80d8
    committed Apr 30, 2013
  2. [ms-cxxabi] Implement member pointer comparisons

    Summary:
    Like Itanium, comparisons are basically bitwise comparisons of the two
    values, with an exception for null member function pointers.  If two
    function pointers are null, only the function pointer field matters for
    comparison purposes.  The rest of the bits can be arbitrary.  We take
    advantage of this in isZeroInitializable(), and it may matter once we
    start emitting conversions.
    
    Reviewers: rjmccall
    
    CC: cfe-commits
    
    Differential Revision: http://llvm-reviews.chandlerc.com/D695
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180800 91177308-0d34-0410-b5e6-96231b3b80d8
    Reid Kleckner committed Apr 30, 2013
  3. Struct-path aware TBAA: enable struct-path aware TBAA for classes.

    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180795 91177308-0d34-0410-b5e6-96231b3b80d8
    Manman Ren committed Apr 30, 2013
  4. Don't treat a non-deduced 'auto' type as being type-dependent. Instea…

    …d, there
    
    are now two distinct canonical 'AutoType's: one is the undeduced 'auto'
    placeholder type, and the other is a deduced-but-dependent type. All
    deduced-to-a-non-dependent-type cases are still non-canonical.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180789 91177308-0d34-0410-b5e6-96231b3b80d8
    committed Apr 30, 2013
  5. Use {{.*}}suffix instead of [[TC]] in places where we print the toolc…

    …hain
    
    path with /. This matches linux-ld.c and should finish fixing this test on
    windows.
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180786 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Apr 30, 2013
  6. Always use / when computing mips specific paths.

    We were getting paths with both / and \ in them. This should fix mips-cs-ld.c
    on the windows bots.
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180783 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Apr 30, 2013
  7. [Mips] Pass -mips16, -mmicromips, -mdsp and -mdspr2 flags to the

    assembler.
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180775 91177308-0d34-0410-b5e6-96231b3b80d8
    atanasyan committed Apr 30, 2013
  8. Place bitfield -Wconstant-conversion warning into subgroup called -Wb…

    …itfield-constant-conversion.
    
    This is to just allow more precise diagnostic control.
    
    Implements <rdar://problem/13766026>.
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180773 91177308-0d34-0410-b5e6-96231b3b80d8
    tkremenek committed Apr 30, 2013
  9. Fix very confusing indent in Sema.cpp.

    This came up during my Euro LLVM 2013 talk on clang-format and I was
    asked to submit it :-).
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180772 91177308-0d34-0410-b5e6-96231b3b80d8
    djasper committed Apr 30, 2013
  10. [PCH] Fix memory leak related to deserialized MacroInfo objects.

    Deserialized MacroInfos were not destroyed and if their SmallVector did heap allocation,
    it was leaked.
    
    rdar://13768967
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180771 91177308-0d34-0410-b5e6-96231b3b80d8
    akyrtzi committed Apr 30, 2013
  11. Add support for -stdlib=libc++ in the NetBSD toolchain.

    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180766 91177308-0d34-0410-b5e6-96231b3b80d8
    jsonn committed Apr 30, 2013
  12. Objective-C (mostly arc): Under ARC, we often have unneeded qualifiers

    in the diagnostics. Remove them when reporting incompatible
    Objective-C pointer types. // rdar://13752880.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180765 91177308-0d34-0410-b5e6-96231b3b80d8
    Fariborz Jahanian committed Apr 30, 2013
Commits on Apr 29, 2013
  1. Modify triple to try to make it pass on ARM.

    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180748 91177308-0d34-0410-b5e6-96231b3b80d8
    isanbard committed Apr 29, 2013
  2. Revert "[analyzer] Change PathPieces to be a wrapper around an ilist …

    …of (through indirection) PathDiagnosticPieces."
    
    Jordan rightly pointed out that we can do the same with std::list.
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180746 91177308-0d34-0410-b5e6-96231b3b80d8
    tkremenek committed Apr 29, 2013
  3. [analyzer] Change PathPieces to be a wrapper around an ilist of (thro…

    …ugh indirection) PathDiagnosticPieces.
    
    Much of this patch outside of PathDiagnostics.h are just minor
    syntactic changes due to the return type for operator* and the like
    changing for the iterator, so the real focus should be on
    PathPieces itself.
    
    This change is motivated so that we can do efficient insertion
    and removal of individual pieces from within a PathPiece, just like
    this was a kind of "IR" for static analyzer diagnostics.  We
    currently implement path transformations by iterating over an
    entire PathPiece and making a copy.  This isn't very natural for
    some algorithms.
    
    We use an ilist here instead of std::list because we want operations
    to rip out/insert nodes in place, just like IR manipulation.  This
    isn't being used yet, but opens the door for more powerful
    transformation algorithms on diagnostic paths.
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180741 91177308-0d34-0410-b5e6-96231b3b80d8
    tkremenek committed Apr 29, 2013
  4. Emit the TLS intialization functions into a list.

    Add the TLS initialization functions to a list of initialization functions. The
    back-end takes this list and places the function pointers into the correct
    section. This way they're called before `main().'
    
    <rdar://problem/13733006>
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180739 91177308-0d34-0410-b5e6-96231b3b80d8
    isanbard committed Apr 29, 2013
  5. c language: diagnose use of "[*]" on any array dimension

    in the parameter of a function definition. Currently,
    it crashes in irgen if it is on other than the 1st dimension.
    // rdar://13705391
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180732 91177308-0d34-0410-b5e6-96231b3b80d8
    Fariborz Jahanian committed Apr 29, 2013
  6. Use ArrayRef in AddMethodCandidate.

    Patch by Robert Wilhelm!
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180724 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Apr 29, 2013
  7. [test] add missing header for the test.

    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180719 91177308-0d34-0410-b5e6-96231b3b80d8
    akyrtzi committed Apr 29, 2013
  8. When emitting a preprocessed file with implicit module imports, make …

    …sure line directives are emitted in the next line.
    
    rdar://13722737
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180718 91177308-0d34-0410-b5e6-96231b3b80d8
    akyrtzi committed Apr 29, 2013
  9. [analyzer] scan-view: don't ever serve absolute paths.

    At one point in time scan-view allowed absolute paths to reference files
    within the server root, but this doesn't seem to be used anymore, and
    caused problems if a server-root-relative path actually matched an
    absolute path to an existing file. This patch just treats paths as
    server-root-relative all the time.
    
    PR15843
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180715 91177308-0d34-0410-b5e6-96231b3b80d8
    jrose-apple committed Apr 29, 2013
  10. Revert "[analyzer] Model casts to bool differently from other numbers."

    This seems to be causing quite a slowdown on our internal analyzer bot,
    and I'm not sure why. Needs further investigation.
    
    This reverts r180638 / 9e161ea981f22ae017b6af09d660bfc3ddf16a09.
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180714 91177308-0d34-0410-b5e6-96231b3b80d8
    jrose-apple committed Apr 29, 2013
  11. Fix a typo in a parse assert.

    Patch by Alex Denisov.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180712 91177308-0d34-0410-b5e6-96231b3b80d8
    Fariborz Jahanian committed Apr 29, 2013
  12. Small CapturedStmt improvements

    Add a CapturedStmt.h similar to Lambda.h to reduce the typing required to get
    to the CapturedRegionKind enum. This also allows codegen to access this enum
    without including Sema/ScopeInfo.h.
    
    Also removes some duplicated code for capturing 'this' between CapturedStmt and
    Lambda.
    
    Differential Revision: http://llvm-reviews.chandlerc.com/D712
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180710 91177308-0d34-0410-b5e6-96231b3b80d8
    benlangmuir committed Apr 29, 2013
  13. Test commit

    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180709 91177308-0d34-0410-b5e6-96231b3b80d8
    benlangmuir committed Apr 29, 2013
  14. Keep the parser's template depth up to date when parsing local templa…

    …tes and
    
    late-parsed templates. Patch by Faisal Vali!
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180708 91177308-0d34-0410-b5e6-96231b3b80d8
    committed Apr 29, 2013
  15. Implement DR580: access checks for template parameters of a class tem…

    …plate are
    
    performed within the context of that class template. Patch by Ismail Pazarbasi!
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180707 91177308-0d34-0410-b5e6-96231b3b80d8
    committed Apr 29, 2013
  16. Properly reenter multiple contexts when parsing a late-parsed functio…

    …n template
    
    within a dependent context. Patch by Will Wilson (+clang-format)!
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180702 91177308-0d34-0410-b5e6-96231b3b80d8
    committed Apr 29, 2013
  17. Fix an assertion failure / accepts-invalid in -fms-extensions mode. D…

    …on't build
    
    a dependent-scope id expression when a templated member function of a
    non-templated class references an unknown identifier, since instantiation won't
    rebuild it (and we can tell at parse time that it'll never work). Based on a
    patch by Faisal Vali!
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180701 91177308-0d34-0410-b5e6-96231b3b80d8
    committed Apr 29, 2013
Commits on Apr 27, 2013
  1. ArrayRef'ize Sema::ActOnEnumBody. No functionality change.

    Patch by Robert Wilhelm.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180682 91177308-0d34-0410-b5e6-96231b3b80d8
    gribozavr committed Apr 27, 2013
  2. Documentation: Change UTF-8 ellipsis character to ASCII ... sequence

    Patch by Dimitry Andric
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180674 91177308-0d34-0410-b5e6-96231b3b80d8
    gribozavr committed Apr 27, 2013
  3. Silence a silly sign compare warning from GCC.

    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180673 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed Apr 27, 2013