aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Alc/compat.h2
-rw-r--r--Alc/helpers.cpp6
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()