1. 17 Eyl, 2018 1 kayıt (commit)
    • Stephan Bergmann's avatar
      New loplugin:external · 206b5b26
      Stephan Bergmann yazdı
      ...warning about (for now only) functions and variables with external linkage
      that likely don't need it.
      
      The problems with moving entities into unnamed namespacs and breaking ADL
      (as alluded to in comments in compilerplugins/clang/external.cxx) are
      illustrated by the fact that while
      
        struct S1 { int f() { return 0; } };
        int f(S1 s) { return s.f(); }
        namespace N {
          struct S2: S1 { int f() { return 1; } };
          int f(S2 s) { return s.f(); }
        }
        int main() { return f(N::S2()); }
      
      returns 1, both moving just the struct S2 into an nunnamed namespace,
      
        struct S1 { int f() { return 0; } };
        int f(S1 s) { return s.f(); }
        namespace N {
          namespace { struct S2: S1 { int f() { return 1; } }; }
          int f(S2 s) { return s.f(); }
        }
        int main() { return f(N::S2()); }
      
      as well as moving just the function f overload into an unnamed namespace,
      
        struct S1 { int f() { return 0; } };
        int f(S1 s) { return s.f(); }
        namespace N {
          struct S2: S1 { int f() { return 1; } };
          namespace { int f(S2 s) { return s.f(); } }
        }
        int main() { return f(N::S2()); }
      
      would each change the program to return 0 instead.
      
      Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c
      Reviewed-on: https://gerrit.libreoffice.org/60539
      Tested-by: Jenkins
      Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
      206b5b26
  2. 08 Eyl, 2018 1 kayıt (commit)
  3. 25 May, 2018 1 kayıt (commit)
  4. 14 Ara, 2017 1 kayıt (commit)
    • Stephan Bergmann's avatar
      No need to keep these whitelisted functions decorated with SAL_CALL · 6f4f5677
      Stephan Bergmann yazdı
      The only effect SAL_CALL effectively has on LO-internal code is to change non-
      static member functions from __thiscall to __cdecl in MSVC (where all other
      functions are __cdecl by default, anyway).  (For 3rd-party code, it could be
      argued that SAL_CALL is useful on function declarations in the URE stable
      interface other than non-static member functions, too, in case 3rd-party code
      uses a compiler switch to change the default calling convention to something
      other than __cdecl.  But loplugin:salcall exempts the URE stable interface,
      anyway.)
      
      One could argue that SAL_CALL, even if today it effectively only affects non-
      static member functions in MSVC, could be extended in the future to affect more
      functions on more platforms.  However, the current code would already not
      support that.  For example, 3af50058
      "loplugin:salcall fix functions" changed FrameControl_createInstance in
      UnoControls/source/base/registercontrols.cxx to no longer be SAL_CALL, even
      though its address (in ctl_component_getFacrory, in the same file) is passed to
      cppuhelper::createSingleFactory as an argument of type
      cppu::ComponentInstantiation, which is a pointer to SAL_CALL function.
      
      Change-Id: I3acbf7314a3d7868ed70e35bb5c47bc11a0b7ff6
      Reviewed-on: https://gerrit.libreoffice.org/46436Tested-by: 's avatarJenkins <ci@libreoffice.org>
      Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
      6f4f5677
  5. 11 Ara, 2017 1 kayıt (commit)
  6. 21 Eyl, 2017 1 kayıt (commit)
  7. 30 May, 2017 1 kayıt (commit)
  8. 20 May, 2017 1 kayıt (commit)
  9. 09 May, 2017 1 kayıt (commit)
  10. 07 May, 2017 1 kayıt (commit)
  11. 21 Nis, 2017 1 kayıt (commit)
  12. 06 Şub, 2017 1 kayıt (commit)
    • Stephan Bergmann's avatar
      Add missing #includes · 6dce9c67
      Stephan Bergmann yazdı
      ...and remove some unncessary using directives/declarations, in preparation of
      removing now-unnecessary #includes from cppumaker-generated files, post
      e57ca028 "Remove dynamic exception
      specifications".
      
      Change-Id: Iaf1f268871e2ee1d1c76cf90f03557527ebc9067
      6dce9c67
  13. 26 Ock, 2017 1 kayıt (commit)
    • Stephan Bergmann's avatar
      Remove dynamic exception specifications · e57ca028
      Stephan Bergmann yazdı
      ...(for now, from LIBO_INTERNAL_CODE only).  See the mail thread starting at
      <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html>
      "Dynamic Exception Specifications" for details.
      
      Most changes have been done automatically by the rewriting loplugin:dynexcspec
      (after enabling the rewriting mode, to be committed shortly).  The way it only
      removes exception specs from declarations if it also sees a definition, it
      identified some dead declarations-w/o-definitions (that have been removed
      manually) and some cases where a definition appeared in multiple include files
      (which have also been cleaned up manually).  There's also been cases of macro
      paramters (that were used to abstract over exception specs) that have become
      unused now (and been removed).
      
      Furthermore, some code needed to be cleaned up manually
      (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no
      configurations available that would actually build that code.  Missing @throws
      documentation has not been applied in such manual clean-up.
      
      Change-Id: I3408691256c9b0c12bc5332de976743626e13960
      Reviewed-on: https://gerrit.libreoffice.org/33574Tested-by: 's avatarJenkins <ci@libreoffice.org>
      Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
      e57ca028
  14. 19 Ock, 2017 1 kayıt (commit)
  15. 05 Ara, 2016 1 kayıt (commit)
  16. 13 Eyl, 2016 1 kayıt (commit)
    • Stephan Bergmann's avatar
      loplugin:override: No more need for the "MSVC dtor override" workaround · 91dd2db1
      Stephan Bergmann yazdı
      The issue of 362d4f0c "Explicitly mark
      overriding destructors as 'virtual'" appears to no longer be a problem with
      MSVC 2013.
      
      (The little change in the rewriting code of compilerplugins/clang/override.cxx
      was necessary to prevent an endless loop when adding "override" to
      
        OOO_DLLPUBLIC_CHARTTOOLS    virtual ~CloseableLifeTimeManager();
      
      in chart2/source/inc/LifeTime.hxx, getting stuck in the leading
      OOO_DLLPUBLIC_CHARTTOOLS macro.  Can't remember what that
      isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.)
      
      Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
      91dd2db1
  17. 20 Nis, 2016 1 kayıt (commit)
  18. 12 Şub, 2016 1 kayıt (commit)
  19. 09 Şub, 2016 1 kayıt (commit)
  20. 23 Ara, 2015 1 kayıt (commit)
  21. 10 Kas, 2015 1 kayıt (commit)
  22. 04 Kas, 2015 1 kayıt (commit)
    • Noel Grandin's avatar
      yyyyy · 59b072e2
      Noel Grandin yazdı
      Change-Id: I9a947beefd2dfe21da8239e841ea3fb416bd1548
      59b072e2
  23. 02 Kas, 2015 1 kayıt (commit)
  24. 01 Kas, 2015 1 kayıt (commit)
  25. 18 Eki, 2015 1 kayıt (commit)
  26. 12 Eki, 2015 1 kayıt (commit)
  27. 01 Eki, 2015 1 kayıt (commit)
  28. 05 Agu, 2015 1 kayıt (commit)
  29. 08 Haz, 2015 1 kayıt (commit)
  30. 15 Nis, 2015 1 kayıt (commit)
    • Noel Grandin's avatar
      remove unnecessary use of void in function declarations · 71b80995
      Noel Grandin yazdı
      ie.
          void f(void);
      becomes
          void f();
      
      I used the following command to make the changes:
      
        git grep -lP '\(\s*void\s*\)' -- *.cxx \
          | xargs perl -pi -w -e 's/(\w+)\s*\(\s*void\s*\)/$1\(\)/g;'
      
      and ran it for both .cxx and .hxx files.
      
      Change-Id: I314a1b56e9c14d10726e32841736b0ad5eef8ddd
      71b80995
  31. 07 Nis, 2015 1 kayıt (commit)
  32. 31 Mar, 2015 1 kayıt (commit)
  33. 11 Mar, 2015 1 kayıt (commit)
  34. 12 Kas, 2014 1 kayıt (commit)
  35. 24 May, 2014 1 kayıt (commit)
  36. 22 May, 2014 1 kayıt (commit)
  37. 22 Nis, 2014 1 kayıt (commit)
  38. 14 Nis, 2014 1 kayıt (commit)
  39. 01 Nis, 2014 1 kayıt (commit)
    • Stephan Bergmann's avatar
      Explicitly mark overriding destructors as "virtual" · 362d4f0c
      Stephan Bergmann yazdı
      It appears that the C++ standard allows overriding destructors to be marked
      "override," but at least some MSVC versions complain about it, so at least make
      sure such destructors are explicitly marked "virtual."
      
      Change-Id: I0e1cafa7584fd16ebdce61f569eae2373a71b0a1
      362d4f0c
  40. 26 Mar, 2014 1 kayıt (commit)