diff options
author | Moonchild <moonchild@palemoon.org> | 2022-09-05 11:13:36 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2022-09-05 11:13:36 +0000 |
commit | b1b57cefa34927cdf1461fd1700c88592a2ff602 (patch) | |
tree | 7b7ac1511050dfb06f315d9f4c1cca64d485e431 | |
parent | 74124f150b7167b69f0f4ae6657489c5db556ad3 (diff) | |
parent | 6619e475ab51abb9417ce52f230645df18bbc2bb (diff) | |
download | uxp-b1b57cefa34927cdf1461fd1700c88592a2ff602.tar.gz |
Merge pull request 'Stop using deprecated ext/hash_map and FreeBSD/clang fixes.' (#2001) from dbsoft/UXP:freebsdfix into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2001
-rwxr-xr-x | gfx/angle/src/compiler/translator/EmulateGLFragColorBroadcast.h | 4 | ||||
-rw-r--r-- | ipc/chromium/src/base/file_path.h | 23 | ||||
-rw-r--r-- | ipc/chromium/src/base/hash_tables.h | 111 | ||||
-rw-r--r-- | ipc/chromium/src/base/id_map.h | 4 | ||||
-rw-r--r-- | security/generate_mapfile.py | 4 |
5 files changed, 7 insertions, 139 deletions
diff --git a/gfx/angle/src/compiler/translator/EmulateGLFragColorBroadcast.h b/gfx/angle/src/compiler/translator/EmulateGLFragColorBroadcast.h index 627c4c67fe..34d4b79f9f 100755 --- a/gfx/angle/src/compiler/translator/EmulateGLFragColorBroadcast.h +++ b/gfx/angle/src/compiler/translator/EmulateGLFragColorBroadcast.h @@ -11,10 +11,12 @@ #define COMPILER_TRANSLATOR_EMULATEGLFRAGCOLORBROADCAST_H_ #include <vector> +// For COMPILER_EXPORT +#include "GLSLANG/ShaderLang.h" namespace sh { -struct OutputVariable; +struct COMPILER_EXPORT OutputVariable; } class TIntermNode; diff --git a/ipc/chromium/src/base/file_path.h b/ipc/chromium/src/base/file_path.h index 42708a5241..eda2596d2d 100644 --- a/ipc/chromium/src/base/file_path.h +++ b/ipc/chromium/src/base/file_path.h @@ -70,7 +70,6 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" -#include "base/hash_tables.h" // Windows-style drive letter support and pathname separator characters can be // enabled and disabled independently, to aid testing. These #defines are @@ -251,26 +250,4 @@ class FilePath { #define FILE_PATH_LITERAL(x) L ## x #endif // OS_WIN -// Implement hash function so that we can use FilePaths in hashsets and maps. -#if defined(COMPILER_GCC) -namespace __gnu_cxx { - -template<> -struct hash<FilePath> { - size_t operator()(const FilePath& f) const { - return hash<FilePath::StringType>()(f.value()); - } -}; - -} // namespace __gnu_cxx -#elif defined(COMPILER_MSVC) -namespace stdext { - -inline size_t hash_value(const FilePath& f) { - return hash_value(f.value()); -} - -} // namespace stdext -#endif // COMPILER - #endif // BASE_FILE_PATH_H_ diff --git a/ipc/chromium/src/base/hash_tables.h b/ipc/chromium/src/base/hash_tables.h deleted file mode 100644 index 1df618f43e..0000000000 --- a/ipc/chromium/src/base/hash_tables.h +++ /dev/null @@ -1,111 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// - -// -// Deal with the differences between Microsoft and GNU implemenations -// of hash_map. Allows all platforms to use |base::hash_map| and -// |base::hash_set|. -// eg: -// base::hash_map<int> my_map; -// base::hash_set<int> my_set; -// - -#ifndef BASE_HASH_TABLES_H_ -#define BASE_HASH_TABLES_H_ - -#include "build/build_config.h" - -#include "base/string16.h" - -#if defined(COMPILER_MSVC) -#pragma push_macro("_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS") -#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS - -#include <hash_map> -#include <hash_set> - -#pragma pop_macro("_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS") - -namespace base { -using stdext::hash_map; -using stdext::hash_set; -} -#elif defined(COMPILER_GCC) -// This is a hack to disable the gcc 4.4 warning about hash_map and hash_set -// being deprecated. We can get rid of this when we upgrade to VS2008 and we -// can use <tr1/unordered_map> and <tr1/unordered_set>. -#ifdef __DEPRECATED -#define CHROME_OLD__DEPRECATED __DEPRECATED -#undef __DEPRECATED -#endif - -#include <ext/hash_map> -#include <ext/hash_set> -#include <string> - -#ifdef CHROME_OLD__DEPRECATED -#define __DEPRECATED CHROME_OLD__DEPRECATED -#undef CHROME_OLD__DEPRECATED -#endif - -namespace base { -using __gnu_cxx::hash_map; -using __gnu_cxx::hash_set; -} // namespace base - -namespace __gnu_cxx { - -// The GNU C++ library provides identiy hash functions for many integral types, -// but not for |long long|. This hash function will truncate if |size_t| is -// narrower than |long long|. This is probably good enough for what we will -// use it for. - -#define DEFINE_TRIVIAL_HASH(integral_type) \ - template<> \ - struct hash<integral_type> { \ - std::size_t operator()(integral_type value) const { \ - return static_cast<std::size_t>(value); \ - } \ - } - -DEFINE_TRIVIAL_HASH(long long); -DEFINE_TRIVIAL_HASH(unsigned long long); - -#undef DEFINE_TRIVIAL_HASH - -// Implement string hash functions so that strings of various flavors can -// be used as keys in STL maps and sets. The hash algorithm comes from the -// GNU C++ library, in <tr1/functional>. It is duplicated here because GCC -// versions prior to 4.3.2 are unable to compile <tr1/functional> when RTTI -// is disabled, as it is in our build. - -#define DEFINE_STRING_HASH(string_type) \ - template<> \ - struct hash<string_type> { \ - std::size_t operator()(const string_type& s) const { \ - std::size_t result = 0; \ - for (string_type::const_iterator i = s.begin(); i != s.end(); ++i) \ - result = (result * 131) + *i; \ - return result; \ - } \ - } - -DEFINE_STRING_HASH(std::string); -DEFINE_STRING_HASH(std::wstring); - -#if defined(WCHAR_T_IS_UTF32) -// If string16 and std::wstring are not the same type, provide a -// specialization for string16. -DEFINE_STRING_HASH(string16); -#endif // WCHAR_T_IS_UTF32 - -#undef DEFINE_STRING_HASH - -} // namespace __gnu_cxx - -#endif // COMPILER - -#endif // BASE_HASH_TABLES_H_ diff --git a/ipc/chromium/src/base/id_map.h b/ipc/chromium/src/base/id_map.h index 6e15d504e7..bc69b0f041 100644 --- a/ipc/chromium/src/base/id_map.h +++ b/ipc/chromium/src/base/id_map.h @@ -7,8 +7,8 @@ #define BASE_ID_MAP_H__ #include "base/basictypes.h" -#include "base/hash_tables.h" #include "base/logging.h" +#include <unordered_map> // This object maintains a list of IDs that can be quickly converted to // pointers to objects. It is implemented as a hash table, optimized for @@ -21,7 +21,7 @@ template<class T> class IDMap { private: - typedef base::hash_map<int32_t, T*> HashTable; + typedef std::unordered_map<int32_t, T*> HashTable; typedef typename HashTable::iterator iterator; public: diff --git a/security/generate_mapfile.py b/security/generate_mapfile.py index 71e5066e78..3ae1de8816 100644 --- a/security/generate_mapfile.py +++ b/security/generate_mapfile.py @@ -19,10 +19,10 @@ import buildconfig def main(output, input): # There's a check in old-configure.in under the system-nss handling # that should match this. - if buildconfig.substs['OS_ARCH'] not in ('Linux', 'SunOS', 'Darwin'): + if buildconfig.substs['OS_ARCH'] not in ('Linux', 'SunOS', 'Darwin', 'FreeBSD'): print "Error: unhandled OS_ARCH %s" % buildconfig.substs['OS_ARCH'] return 1 - is_linux = buildconfig.substs['OS_ARCH'] in ('Linux', 'SunOS') + is_linux = buildconfig.substs['OS_ARCH'] in ('Linux', 'SunOS', 'FreeBSD') with open(input, 'rb') as f: for line in f: |