Skip to content
Snippets Groups Projects
  1. Mar 22, 2016
  2. Mar 21, 2016
  3. Mar 20, 2016
  4. Mar 18, 2016
  5. Mar 16, 2016
  6. Mar 11, 2016
  7. Mar 08, 2016
    • Mike Spertus's avatar
      Add Visual Studio native visualizers for several Clang types · 2ac86c73
      Mike Spertus authored
      This is one of a series of changes to improve the MSVC visualization of Clang types.
      This one focuses on Record and SubstTemplateTypeParmType meaning that, for example,
      a TemplateArgumentLoc no longer displays incomprehensibly in the locals window as
      
        {Argument={DeclArg={Kind=1 QT=0x033acb00 D=0xcccccccc {DeclType=???}}...
      
      but instead much more usefully as
      
        Type template parameter: SubstTemplateTypeParm: {Identifier (("T"))} => Record, {Identifier (("A"))}
      
      Additional types and improvements will be made in subsequent commits
      
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262933 91177308-0d34-0410-b5e6-96231b3b80d8
      2ac86c73
    • Richard Smith's avatar
      P0188R1: add support for standard [[fallthrough]] attribute. This is almost · 14b538d6
      Richard Smith authored
      exactly the same as clang's existing [[clang::fallthrough]] attribute, which
      has been updated to have the same semantics. The one significant difference
      is that [[fallthrough]] is ill-formed if it's not used immediately before a
      switch label (even when -Wimplicit-fallthrough is disabled). To support that,
      we now build a CFG of any function that uses a '[[fallthrough]];' statement
      to check.
      
      In passing, fix some bugs with our support for statement attributes -- in
      particular, diagnose their use on declarations, rather than asserting.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262881 91177308-0d34-0410-b5e6-96231b3b80d8
      14b538d6
  8. Mar 03, 2016
  9. Mar 01, 2016
  10. Feb 17, 2016
  11. Feb 13, 2016
  12. Feb 12, 2016
    • Chris Bieneman's avatar
      [CMake] Improve the clang order-file generation workflow · cff69f62
      Chris Bieneman authored
      Summary:
      This commit re-lands r259862. The underlying cause of the build breakage was an incorrectly written capabilities test. In tools/Driver/CMakeLists.txt I was attempting to check if a linker flag worked, the test was passing it to the compiler, not the linker. CMake doesn't have a linker test, so we have a hand-rolled one.
      
      Original Patch Review: http://reviews.llvm.org/D16896
      
      Original Summary:
      With this change generating clang order files using dtrace uses the following workflow:
      
      cmake <whatever options you want>
      
      ninja generate-order-file
      
      ninja clang
      
      This patch works by setting a default path to the order file (which can be overridden by the user). If the order file doesn't exist during configuration CMake will create an empty one.
      
      CMake then ties up the dependencies between the clang link job and the order file, and generate-order-file overwrites CLANG_ORDER_FILE with the new order file.
      
      Reviewers: bogner
      
      Subscribers: cfe-commits
      
      Differential Revision: http://reviews.llvm.org/D16999
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260742 91177308-0d34-0410-b5e6-96231b3b80d8
      cff69f62
  13. Feb 05, 2016
  14. Feb 03, 2016
  15. Jan 31, 2016
  16. Jan 26, 2016
  17. Jan 23, 2016
  18. Jan 22, 2016
  19. Jan 18, 2016
  20. Jan 15, 2016
  21. Jan 04, 2016
  22. Dec 19, 2015
  23. Dec 16, 2015
    • Chris Bieneman's avatar
      [CMake] Add support for generating profdata for clang from training files · a0e3ceda
      Chris Bieneman authored
      Summary:
      This patch adds support for using LIT to drive generating PGO profile data for clang.
      
      This first pass implementation should work on Linux and Unix based platforms. If you build clang using CMake with LLVM_BUILD_INSTRUMENTED=On the CMake build generates a generate-profdata target that will use the just-built clang to build any test files (see hello_world.cpp as an example). Each test compile will generate profraw files for each clang process. After all tests have run CMake will merge the profraw files using llvm-profdata.
      
      Future opportunities for extension:
      * Support for Build->Profile->Build bootstrapping
      * Support for linker order file generation using a similar mechanism and the same training data
      * Support for Windows
      
      Reviewers: dexonsmith, friss, bogner, cmatthews, vsk, silvas
      
      Subscribers: cfe-commits
      
      Differential Revision: http://reviews.llvm.org/D15462
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255740 91177308-0d34-0410-b5e6-96231b3b80d8
      a0e3ceda
  24. Dec 08, 2015
  25. Nov 30, 2015
  26. Nov 07, 2015
    • Devin Coughlin's avatar
      [analyzer] Update SATestBuild.py to enable a 'download and patch' model for projects. · 68170291
      Devin Coughlin authored
      Currently the SATestBuild.py and SATestAdd.py buildbot scripts expect project
      sources to be checked into the project repository. This commit changes these
      scripts to additionally support a model where project sources are downloaded
      rather than checked into the repository. Sometimes projects may need to be
      modified (for example, to support a newer versions of clang), so the updated scripts
      also allow for an optional patch file that will be applied to the downloaded
      project source before analysis.
      
      To support this workflow, this commit changes the expected layout of
      a project in the repository. The project-specific helper scripts will stay
      in the root of each project directory, but the benchmark source itself (if
      checked into the repo) should now be stored in a subdirectory named
      'CachedSource':
      
        project_name/
          cleanup_run_static_analyzer.sh [optional]
          run_static_analyzer.cmd [required]
          download_project.sh [optional]
          CachedSource/ [optional]
          changes_for_analyzer.patch [optional]
      
      If the 'CachedSource' source directory is not present, the download script will
      be executed. This script should download the project source into 'CachedSource'.
      Then, if 'changes_for_analyzer.patch' is present its changes will
      be applied to a copy of 'CachedSource' before analysis.
      
      Differential Revision: http://reviews.llvm.org/D14345
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252410 91177308-0d34-0410-b5e6-96231b3b80d8
      68170291
  27. Oct 28, 2015
    • John McCall's avatar
      Add the ability to define "fake" arguments on attributes. · 68098861
      John McCall authored
      Fake arguments are automatically handled for serialization, cloning,
      and other representational tasks, but aren't included in pretty-printing
      or parsing (should we eventually ever automate that).
      
      This is chiefly useful for attributes that can be written by the
      user, but which are also frequently synthesized by the compiler,
      and which we'd like to remember details of the synthesis for.
      As a simple example, use this to narrow the cases in which we were
      generating a specialized note for implicitly unavailable declarations.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251469 91177308-0d34-0410-b5e6-96231b3b80d8
      68098861
Loading