Support old Glibmm only with libstdc++.

This commit is contained in:
Alexander Shaduri
2021-03-08 16:51:42 +04:00
parent fce77dc7d7
commit d101a92750
+6 -25
View File
@@ -16,31 +16,12 @@ Copyright:
// Glibmm before 2.50.1 uses throw(...) exception specifications which are invalid in C++17.
// Try to work around that.
#ifdef APP_GLIBMM_USES_THROW
// include stdlib, to avoid throw() macro errors there.
#include <typeinfo>
#include <bitset>
#include <functional>
#include <utility>
#include <new>
#include <memory>
#include <limits>
#include <exception>
#include <stdexcept>
#include <string>
#include <vector>
#include <deque>
#include <list>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <algorithm>
#include <iterator>
#include <ios>
#include <iostream>
#include <fstream>
#include <sstream>
#include <locale>
#if !__has_include(<bits/stdc++.h>)
#error "This version of GLibmm is incompatible with C++17. Use GLibmm 2.50.1 or later."
#endif
// include complete stdlib, to avoid throw() macro errors there.
#include <bits/stdc++.h> // libstdc++ only
#define throw(a) // glibmm uses dynamic exception specifications, remove them.
#include <glibmm.h>