Skip to content

Tags: CipherOne/CacheLib

Tags

v2024.02.26.00

Toggle v2024.02.26.00's commit message
Fix deprecated behaviour in cachelib/common/PercentileStats.cpp

Summary:
Future C++ standards and compiler upgrades will eliminate deprecated behaviour. `-Wdeprecated` identifies this behaviour and has found some in this code!

Some examples.

**Dynamic exceptions**
```
error: dynamic exception specifications are deprecated [-Werror,-Wdeprecated-dynamic-exception-spec]
```
`throw(...)` has been deprecated since C++11 and removed in C++17. In most cases we can just use `noexcept` in the rest, we can remove this.

**Implicit copy constructors**
```
error: definition of implicit copy constructor for 'XXX' is deprecated because it has a user-declared destructor [-Werror,-Wdeprecated-copy-with-dtor]
```
If you define a destructor, you need to explicitly define a copy constructor.

**Out-ofline constexpr static**
```
error: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Werror,-Wdeprecated]
```
This can be simplified:
```
class MyClass {
    static constexpr my_const = 3;
};

static constexpr MyClass::my_const; // <- No longer needed!
```

Reviewed By: meyering

Differential Revision: D54158205

fbshipit-source-id: c6909e9542bdd36a096768013e791b4763975b6e

v20231228_RC5

Toggle v20231228_RC5's commit message
fix build for ubuntu 18 and centos 8.1