1. Mar 10, 2021
  2. Mar 09, 2021
    • Adam Czachorowski's avatar
      [clang] Fix crash when creating deduction guide. · 4e1c4870
      Adam Czachorowski authored
      We used to trigger assertion when transforming c-tor with unparsed
      default argument. Now we ignore such constructors for this purpose.
      
      Differential Revision: https://reviews.llvm.org/D97965
      4e1c4870
    • Anton Bikineev's avatar
      [Sema] Fix diagnostics for one-byte length modifier · 4f8e2997
      Anton Bikineev authored
      In case a char-literal of type int (C/ObjectiveC) corresponds to a
      format specifier with the %hh length modifier, don't treat the literal
      as of type char for issuing diagnostics, as otherwise this results in:
      
      printf("%hhd", 'e');
      warning: format specifies type 'char' but the argument has type 'char'.
      
      Differential revision: https://reviews.llvm.org/D97951
      4f8e2997
    • diggerlin's avatar
      [AIX] do not emit visibility attribute into IR when there is -mignore-xcoff-visibility · 46d4d1fe
      diggerlin authored
      SUMMARY:
      
      n the patch https://reviews.llvm.org/D87451 "add new option -mignore-xcoff-visibility"
      we did as "The option -mignore-xcoff-visibility has no effect on visibility attribute when compile with -emit-llvm option to generated LLVM IR."
      
      in these patch we let -mignore-xcoff-visibility effect on generating IR too. the new feature only work on AIX OS
      
      Reviewer: Jason Liu,
      
      Differential Revision: https://reviews.llvm.org/D89986
      46d4d1fe
    • AndreyChurbanov's avatar
      [OpenMP] libomp: eliminate pause from atomic CAS loops · aaf16b80
      AndreyChurbanov authored
      For clang this change is NFC cleanup, because clang
      never calls atomic functions from runtime library.
      
      Basically, pause is good in spin-loops waiting for something.
      Atomic CAS loops do not wait for anything,
      each CAS failure means some other thread progressed.
      
      Performance experiments show that the pause only causes unnecessary slowdown
      on CPUs with slow pause instruction, no difference on CPUs with fast pause
      instruction, removal of the pause gives lesser binary size which is good.
      
      Differential Revision: https://reviews.llvm.org/D97079
      aaf16b80
    • Andrzej Warzynski's avatar
      [flang][driver] Refine tests for module search directories · b04fbc19
      Andrzej Warzynski authored
      This patch refactors include-module.f90:
        * rename the test file as use-module.f90 to better highlight which
        driver feature is being tested
        * move tests for diagnostics to use-module-error.f90 (it tests that
        `-J/-module-dir` can only be used once)
        * make sure that `f18` is tested when `FLANG_BUILD_NEW_DRIVER` is
        set to `Off`
        * add tests for when all module files are successfully discovered and
        loaded
      
      With this patch, there should be a clear separation into 3 scenarios in
      use-module.f90:
        * Everything is OK
        * One module file wasn't found (missing include path for
        basictestingmoduletwo.mod)
        * Two module files are found, but the test requires
        `basictestingmoduleone.mod` from both `Inputs` and `Inputs/module-dir`.
        Only the latter is found.
      
      Reviewed By: tskeith
      
      Differential Revision: https://reviews.llvm.org/D97197
      b04fbc19
    • Oliver Stannard's avatar
      [ARM] Add comment explaining stack frame layout · 8d632ca4
      Oliver Stannard authored
      Add a comment explaining how we lay out stack frames for ARM targets,
      based on the existing one for AArch64. Also expand the comment to
      explain reserved call frames for both architectures.
      
      Differential revision: https://reviews.llvm.org/D98258
      8d632ca4
    • Timm Bäder's avatar
      [clang][sema][NFC] Remove a superfluous semicolon · 272bcd0e
      Timm Bäder authored
      Silences a GCC warning:
      
      clang/lib/Sema/SemaChecking.cpp:4506:2: warning: extra ‘;’ [-Wpedantic]
       };
        ^
      272bcd0e
    • Martin Storsjö's avatar
      [libcxx] [test] Adjust separator form in fs.op.absolute for libc++ on windows · e23317c9
      Martin Storsjö authored
      This test was previously tweaked in
      321f6969 to match the output of
      of MS STL (except that the MS STL fails on the testcase with an
      empty path).
      
      libc++ doesn't produce paths with all normalized separators (and the
      spec doesn't mandate it to either).
      
      Tweak the test reference to match exactly what libc++ produces. If
      testing with a non-libc++ library, do a relaxed comparison that allows
      the separators to differ.
      
      Differential Revision: https://reviews.llvm.org/D98215
      e23317c9
    • Nathan James's avatar
      [clangd][NFC] Silence some buildbot warnings after 0250b053 · 574663f9
      Nathan James authored
      https://reviews.llvm.org/D94554 introduced code which wont compile with some build flags due to a field having the same identifier as a type.
      
      clang-tools-extra/clangd/DraftStore.h:55:11: error: declaration of ‘clang::clangd::DraftStore::Draft clang::clangd::DraftStore::DraftAndTime::Draft’ changes meaning of ‘Draft’ [-fpermissive]
         55 |     Draft Draft;
            |           ^~~~~
      clang-tools-extra/clangd/DraftStore.h:30:10: note: ‘Draft’ declared here as ‘struct clang::clangd::DraftStore::Draft’
         30 |   struct Draft {
               |          ^~~~~
      574663f9
    • Nathan James's avatar
      [clangd] Add a Filesystem that overlays Dirty files. · 0250b053
      Nathan James authored
      Create a `ThreadsafeFS` in the `DraftStore` that overlays the dirty file contents over another `ThreadsafeFS`.
      This provides a nice thread-safe interface for using dirty file contents throughout the codebase, for example cross file refactoring.
      Creating a Filesystem view will overlay a snapshot of the current contents, so if the draft store is updated while the view is being used, it will contain stale contents.
      
      Reviewed By: sammccall
      
      Differential Revision: https://reviews.llvm.org/D94554
      0250b053