Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from llvm:master #26

Merged
merged 7 commits into from
Aug 28, 2019
Merged

[pull] master from llvm:master #26

merged 7 commits into from
Aug 28, 2019

Commits on Aug 28, 2019

  1. [test] Temporarily disable two tests on Windows

    Disable the two failing tests until Raphael has a chance to investigate:
    
    Failing Tests (2):
        lldb-Suite :: functionalities/completion/TestCompletion.py
        lldb-Suite :: functionalities/target_command/TestTargetCommand.py
    
    llvm-svn: 370237
    JDevlieghere committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    ff2e965 View commit details
    Browse the repository at this point in the history
  2. [libc++] Fix visibility of __vector_base_common on GCC

    Since we build the library with -fvisibility=hidden, the shared object
    wouldn't contain __vector_base_common<true>::__throw_length_error()
    and __vector_base_common<true>::__throw_out_of_range(), leading to
    link errors. This only happened on GCC for some reason.
    
    https://llvm.org/PR43140
    
    llvm-svn: 370240
    ldionne committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    f7a544b View commit details
    Browse the repository at this point in the history
  3. Further relax checks in asan-symbolize-bad-path.cpp

    It turns out that the DarwinSymbolizer does not print the "in" part for
    invalid files but instead prints
    #0 0xabcdabcd (.../asan-symbolize-bad-path.cpp.tmp/bad/path:i386+0x1234)
    This tests is only checking that asan_symbolize.py doesn't hang or crash,
    so further relax the checks to ensure that the test passes on macOS.
    
    llvm-svn: 370243
    arichardson committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    83d2f0e View commit details
    Browse the repository at this point in the history
  4. [analyzer] Trust global initializers when analyzing main().

    If the global variable has an initializer, we'll ignore it because we're usually
    not analyzing the program from the beginning, which means that the global
    variable may have changed before we start our analysis.
    
    However when we're analyzing main() as the top-level function, we can rely
    on global initializers to still be valid. At least in C; in C++ we have global
    constructors that can still break this logic.
    
    This patch allows the Static Analyzer to load constant initializers from
    global variables if the top-level function of the current analysis is main().
    
    Differential Revision: https://reviews.llvm.org/D65361
    
    llvm-svn: 370244
    haoNoQ committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    8b2a39e View commit details
    Browse the repository at this point in the history
  5. [analyzer] pr43036: Fix support for operator 'sizeof...'.

    It was known to be a compile-time constant so it wasn't evaluated during
    symbolic execution, but it wasn't evaluated as a compile-time constant either.
    
    Differential Revision: https://reviews.llvm.org/D66565
    
    llvm-svn: 370245
    haoNoQ committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    0909a39 View commit details
    Browse the repository at this point in the history
  6. [analyzer] Fix analyzer warnings on analyzer.

    Write tests for the actual crash that was found. Write comments and refactor
    code around 17 style bugs and suppress 3 false positives.
    
    Differential Revision: https://reviews.llvm.org/D66847
    
    llvm-svn: 370246
    haoNoQ committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    630f7da View commit details
    Browse the repository at this point in the history
  7. [CFG] Make representation of destructor calls more accurate.

    Respect C++17 copy elision; previously it would generate destructor calls
    for elided temporaries, including in initialization and return statements.
    
    Don't generate duplicate destructor calls for statement expressions.
    
    Fix destructors in initialization lists and comma operators.
    
    Improve printing of implicit destructors.
    
    Patch by Nicholas Allegra!
    
    Differential Revision: https://reviews.llvm.org/D66404
    
    llvm-svn: 370247
    haoNoQ committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    ead98ea View commit details
    Browse the repository at this point in the history