diff options
-rw-r--r-- | Alc/compat.h | 2 | ||||
-rw-r--r-- | Alc/helpers.cpp | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/Alc/compat.h b/Alc/compat.h index 2e0ad1e7..4ffc40bf 100644 --- a/Alc/compat.h +++ b/Alc/compat.h @@ -76,10 +76,10 @@ public: ifstream(const wchar_t *filename, std::ios_base::openmode mode = std::ios_base::in); ifstream(const std::wstring &filename, std::ios_base::openmode mode = std::ios_base::in) : ifstream(filename.c_str(), mode) { } - ifstream(const char *filename, std::ios_base::openmode mode = std::ios_base::in); ifstream(const std::string &filename, std::ios_base::openmode mode = std::ios_base::in) : ifstream(filename.c_str(), mode) { } + ~ifstream() override; bool is_open() const noexcept { return mStreamBuf.is_open(); } }; diff --git a/Alc/helpers.cpp b/Alc/helpers.cpp index 3efa989d..ee0bb2dc 100644 --- a/Alc/helpers.cpp +++ b/Alc/helpers.cpp @@ -424,6 +424,12 @@ ifstream::ifstream(const char *filename, std::ios_base::openmode mode) clear(failbit); } +/* This is only here to ensure the compiler doesn't define an implicit + * destructor, which it tries to automatically inline and subsequently complain + * it can't inline without excessive code growth. + */ +ifstream::~ifstream() { } + } // namespace al const PathNamePair &GetProcBinary() |