Skip to content
  1. Jun 05, 2013
  2. Jun 04, 2013
    • Enrico Granata's avatar
      <rdar://problem/14003462> · 983920d1
      Enrico Granata authored
      Formatters for unsigned char* and const variant
      
      llvm-svn: 183254
      983920d1
    • Greg Clayton's avatar
    • Greg Clayton's avatar
      Make sure a core file has thread contexts before we try and load it. · 9645e82c
      Greg Clayton authored
      llvm-svn: 183252
      9645e82c
    • Reid Kleckner's avatar
      [ms-cxxabi] Factor out some loops into helpers for readability · 3758f9d0
      Reid Kleckner authored
      No functionality change, covered by the existing virtual base adjustment
      tests.
      
      llvm-svn: 183251
      3758f9d0
    • Greg Clayton's avatar
      Fixed printf build warning. · e86cef63
      Greg Clayton authored
      llvm-svn: 183250
      e86cef63
    • Richard Smith's avatar
      Fix link. · 939889f6
      Richard Smith authored
      llvm-svn: 183248
      939889f6
    • Greg Clayton's avatar
      <rdar://problem/13941992> · a3f14d8b
      Greg Clayton authored
      Accept mach-o files with bad segments. Many core files are not created correctly and we should still be able to glean any information we can from them.
      
      llvm-svn: 183247
      a3f14d8b
    • Enrico Granata's avatar
      <rdar://problem/13988982> · 2e35cb75
      Enrico Granata authored
      LLDB API versioning
      This checkin makes the LLDB API versioned
      We are starting at version 1.0 and will then revise and update the API from there
      Further details:
       API versioning
      ---------------------------------
      
      The LLDB API is versioned independently of the LLDB source base
      Our API version numbers are composed of a major and a minor number
      
      The major number means a complete and stable revision of the API. Major numbers are compatibility breakers
      (i.e. when we change the API major number, there is no promise of compatibility with the previous major version
       and we are free to remove and/or change any APIs)
      Minor numbers are a work-in-progress evolution of the API. APIs will not be removed or changed across minor versions
      (minors do not break compatibility). However, we can deprecate APIs in minor versions or add new APIs in minor versions
      A deprecated API is supposedly going to be removed in the next major version and will generate a warning if used
      APIs we add in minor versions will not be removed (at least until the following major) but they might theoretically be deprecated
      in a following minor version
      Users are discouraged from using the LLDB version number to test for API features and should instead use the API version checking
      as discussed below
      
       API version checking
      ---------------------------------
      
      You can (optionally) sign into an API version checking feature
      To do so you need to define three macros:
      LLDB_API_CHECK_VERSIONING - define to any value (or no value)
      LLDB_API_MAJOR_VERSION_WANTED - which major version of the LLDB API you are targeting
      LLDB_API_MINOR_VERSION_WANTED - which minor version of the LLDB API you are targeting
      
      If these macros exist - LLDB will enable version checking of the public API
      
      If LLDB_API_MAJOR_VERSION is not equal to LLDB_API_MAJOR_VERSION_WANTED we will immediately halt your compilation with an error
      This is by design, since we do not make any promise of compatibility across major versions - if you really want to test your luck, disable the versioning altogether
      
      If the major version test passes, you have signed up for a specific minor version of the API
      Whenever we add or deprecate an API in a minor version, we will mark it with either
      LLDB_API_NEW_IN_DOT_x - this API is new in LLDB .x
      LLDB_API_DEPRECATED_IN_DOT_x - this API is deprecated as of .x
      
      If you are using an API new in DOT_x
       if LLDB_API_MINOR_VERSION_WANTED >= x then all is well, else you will get a compilation error
        This is meant to prevent you from using APIs that are newer than whatever LLDB you want to target
      
      If you are using an API deprecated in DOT_x
       if LLDB_API_MINOR_VERSION_WANTED >= x then you will get a compilation warning, else all is well
       This is meant to let you know that you are using an API that is deprecated and might go away
      
       Caveats
      ---------------------------------
      
      Version checking only works on clang on OSX - you will get an error if you try to enable it on any other OS/compiler
      If you want to enable version checking on other platforms, you will need to define appropriate implementations for
      LLDB_API_IMPL_DEPRECATED and LLDB_API_IMPL_TOONEW and any other infrastructure your compiler needs for this purpose
      
      We have no deprecation-as-error mode
      
      There is no support for API versioning in Python
      
      We reserve to use macros whose names begin with LLDB_API_ and you should not use them in your source code as they might conflict
      with present or future macro names we are using to implement versioning
      
      
      For API implementors:
      If you need to add a new public API call, please remember to add the LLDB_API_NEW_IN_DOT_x marker in the header file
      and when you are done with adding stuff, to also update LLDB_API_MINOR_VERSION
      If you want to remove a function, deprecate it first, by using LLDB_API_DEPRECATED_IN_DOT_x
      and when you are done with deprecating stuff, to also update LLDB_API_MINOR_VERSION
      A new major version (LLDB_API_MAJOR_VERSION++) is your only chance to remove and/or change API calls
      but is probably quite a big deal and you might want to consider deprecating the existing calls for a while
      before doing your changes
      
      A couple more caveats:
      Currently, the lldb-tool does NOT use the version checking feature. It would be a nice future improvement to make it do that, once we have proper version checking on other OSs
      APIs marked as deprecated by a comment in the source are still deprecated just that way. A good purpose for API 1.1 might be to deprecate them with appropriate markers
      
      llvm-svn: 183244
      2e35cb75
    • Venkatraman Govindaraju's avatar
    • Argyrios Kyrtzidis's avatar
      [libclang] When annotating tokens, don't override a property annotation with a... · 990b3861
      Argyrios Kyrtzidis authored
      [libclang] When annotating tokens, don't override a property annotation with a getter/setter method annotation.
      
      rdar://13764549
      
      llvm-svn: 183242
      990b3861
    • David Majnemer's avatar
      IndVarSimplify: check if loop invariant expansion can trap · 29130c5e
      David Majnemer authored
      IndVarSimplify is willing to move divide instructions outside of their
      loop bodies if they are invariant of the loop.  However, it may not be
      safe to expand them if we do not know if they can trap.
      
      Instead, check to see if it is not safe to expand the instruction and
      skip the expansion.
      
      This fixes PR16041.
      
      Testcase by Rafael Ávila de Espíndola.
      
      llvm-svn: 183239
      29130c5e
    • David Majnemer's avatar
      ARM: Fix crash in ARM backend inside of ARMConstantIslandPass · 452f1f97
      David Majnemer authored
      The ARM backend did not expect LDRBi12 to hold a constant pool operand.
      Allow for LLVM to deal with the instruction similar to how it deals with
      LDRi12.
      
      This fixes PR16215.
      
      llvm-svn: 183238
      452f1f97
    • David Majnemer's avatar
      Analysis: Add a CFG successor to a SwitchStmt if it is both empty and fully covered · f69ce860
      David Majnemer authored
      Consider the case where a SwitchStmt satisfied isAllEnumCasesCovered()
      as well as having no cases at all (i.e. the enum it covers has no
      enumerators).
      
      In this case, we should add a successor to repair the CFG.
      
      This fixes PR16212.
      
      llvm-svn: 183237
      f69ce860
    • Alexander Kornienko's avatar
      Added Lexer::getBufferEnd(). · 33a35dff
      Alexander Kornienko authored
      Summary:
      There's Lexer::getBufferStart(), and we need getBufferEnd() to access
      the whole input buffer in clang::format::reformat. We don't want to
      rely on the fact that the Lexer::BufferEnd always points to '\0', as there can
      be embedded '\0's as well.
      
      Reviewers: jordan_rose
      
      Reviewed By: jordan_rose
      
      CC: cfe-commits
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D916
      
      llvm-svn: 183236
      33a35dff
    • Fariborz Jahanian's avatar
      Objective-C encoding. Fixes up encodeing for · f0dc11ad
      Fariborz Jahanian authored
      arrays of empty structs. // rdar://14053082
      (also pr13062).
      
      llvm-svn: 183234
      f0dc11ad
    • Daniel Malea's avatar
      More minor FreeBSD fixes. · 6f0a5edb
      Daniel Malea authored
      - link libexecinfo (as libc is missing backtrace())
      - enable FreeBSD-specific plugins
      
      Patch by Ed Maste!
      
      llvm-svn: 183233
      6f0a5edb
    • Samuel Benzaquen's avatar
      Parser/Registry argument enhancements. · c31b3524
      Samuel Benzaquen authored
      Summary:
       Parser/Registry argument enhancements.
        - 2 argument support.
        - unsigned values support.
      
      Reviewers: klimek
      
      CC: cfe-commits, revane
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D915
      
      llvm-svn: 183231
      c31b3524
    • Bob Wilson's avatar
      Remove "-Wl,-seg1addr -Wl,0xE0000000" from link options. · 16522c01
      Bob Wilson authored
      Specifying the load address for Darwin i386 dylibs was a performance
      optimization for dyld that is not relevant for x86_64 or arm. We can just
      remove this now.
      
      llvm-svn: 183230
      16522c01
    • Vincent Lejeune's avatar
      R600: Swizzle texture/export instructions · 276ceb8d
      Vincent Lejeune authored
      llvm-svn: 183229
      276ceb8d
    • Vincent Lejeune's avatar
      R600: Add a test for r183108 · db185c08
      Vincent Lejeune authored
      llvm-svn: 183228
      db185c08
    • Manuel Klimek's avatar
      Enables chaining of argument adjusters in clang tools. · d91ac930
      Manuel Klimek authored
      This enables changing clang-check to get extra arguments.
      
      Patch by Pavel Labath.
      
      llvm-svn: 183227
      d91ac930
    • Rafael Espindola's avatar
      Second part of pr16069 · a5e536ab
      Rafael Espindola authored
      The problem this time seems to be a thinko. We were assuming that in the CFG
      
      A
      | \
      |  B
      | /
      C
      
      speculating the basic block B would cause only the phi value for the B->C edge
      to be speculated. That is not true, the phi's are semantically in the edges, so
      if the A->B->C path is taken, any code needed for A->C is not executed and we
      have to consider it too when deciding to speculate B.
      
      llvm-svn: 183226
      a5e536ab
    • Evgeniy Stepanov's avatar
      [sanitizer] Fix windows build. · 863746eb
      Evgeniy Stepanov authored
      llvm-svn: 183225
      863746eb
    • Evgeniy Stepanov's avatar
      56050e8f
    • Sylvestre Ledru's avatar
      Fix a typo (chek => check) · 2afe2229
      Sylvestre Ledru authored
      llvm-svn: 183223
      2afe2229
    • Rafael Espindola's avatar
      Fix linkage computation for local types in template functions. · 52189363
      Rafael Espindola authored
      Template functions (and member functions of class templates) present the same
      problem as inline functions. They need to be uniqued, so we need to assign
      VisibleNoLinkage linkage to types defined in them.
      
      llvm-svn: 183222
      52189363
    • Evgeniy Stepanov's avatar
      [msan] Implement __sanitizer_unaligned_*. · 53c8c13b
      Evgeniy Stepanov authored
      llvm-svn: 183221
      53c8c13b
    • Alexey Samsonov's avatar
      Call __asan_free_hook() before marking the chunk quarantinned · 8f5138a2
      Alexey Samsonov authored
      Summary:
      With this change, the user may safely call __asan_get_ownership()
      from malloc/free hooks and assume it would return "true". If there is a
      realloc/free race, free hook might be called twice, but I think it's acceptable,
      as it's a data race and would later be reported anyway.
      
      This change also fixes a bug when failing realloc incorrectly marked the
      original memory as "quarantinned".
      
      Reviewers: timurrrr, kcc, samsonov
      
      Reviewed By: samsonov
      
      CC: llvm-commits
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D913
      
      llvm-svn: 183220
      8f5138a2
    • Hans Wennborg's avatar
      Typo: s/caes/cases/ in SimplifyCFG · 5cf30be6
      Hans Wennborg authored
      llvm-svn: 183219
      5cf30be6
    • Sergey Matveev's avatar
      b256ac75
Loading