diff options
author | Matteo Bernardini | 2022-02-16 20:10:33 +0100 |
---|---|---|
committer | Willy Sudiarto Raharjo | 2022-02-17 06:59:52 +0100 |
commit | b69cc3de96a9da07171ff76f8265b7eb7a75ed82 (patch) | |
tree | 8a9a1eb5ed13e9d9c016ed6ca435767631097632 /development/odb/odb_gcc6.patch | |
parent | bcaf34e7407dac0aa2a62f6e2134bacc0333e8ea (diff) | |
download | slackbuilds-b69cc3de96a9da07171ff76f8265b7eb7a75ed82.tar.gz |
development/odb: Removed (abandoned).
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'development/odb/odb_gcc6.patch')
-rw-r--r-- | development/odb/odb_gcc6.patch | 355 |
1 files changed, 0 insertions, 355 deletions
diff --git a/development/odb/odb_gcc6.patch b/development/odb/odb_gcc6.patch deleted file mode 100644 index 6f7c9005c4..0000000000 --- a/development/odb/odb_gcc6.patch +++ /dev/null @@ -1,355 +0,0 @@ -From 511dcf67322ad87fb32f97d1cf7725c129e83898 Mon Sep 17 00:00:00 2001 -From: Boris Kolpackov <boris@codesynthesis.com> -Date: Fri, 5 Feb 2016 16:01:42 +0200 -Subject: [PATCH] Initial work to make ODB compatible with GCC 6 - ---- - odb/cxx-lexer.cxx | 4 ++++ - odb/gcc-fwd.hxx | 23 ++++++++++++++++++++++- - odb/gcc.hxx | 10 ++++++++++ - odb/include.cxx | 31 +++++++++++++++++++++---------- - odb/parser.cxx | 8 ++++---- - odb/plugin.cxx | 29 +++++++++++++++++++++++++++-- - odb/semantics/elements.cxx | 4 ++-- - 7 files changed, 90 insertions(+), 19 deletions(-) - -diff --git a/odb/cxx-lexer.cxx b/odb/cxx-lexer.cxx -index 7029c7e..64df296 100644 ---- a/odb/cxx-lexer.cxx -+++ b/odb/cxx-lexer.cxx -@@ -135,8 +135,12 @@ cpp_error_callback ( - #if BUILDING_GCC_MAJOR > 4 || BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR > 5 - int /*reason*/, // Added in GCC 4.6.0. - #endif -+#if BUILDING_GCC_MAJOR <= 5 - location_t, - unsigned int, -+#else -+ rich_location*, -+#endif - char const* msg, - va_list *ap) - { -diff --git a/odb/gcc-fwd.hxx b/odb/gcc-fwd.hxx -index a120f05..618b106 100644 ---- a/odb/gcc-fwd.hxx -+++ b/odb/gcc-fwd.hxx -@@ -7,6 +7,24 @@ - - #include <bversion.h> - -+#if BUILDING_GCC_MAJOR >= 6 -+ -+// If we include <system.h> here, it pulls in all kinds of GCC trouble that -+// "poisons" standard C/C++ declarations; see safe-ctype.h. So instead we -+// are going to "exclude" safe-ctype.h. To compensate, however, we will -+// include it first thing in gcc.hxx. -+// -+# include <config.h> -+# define SAFE_CTYPE_H -+# include <system.h> -+# undef SAFE_CTYPE_H -+# include <coretypes.h> -+ -+typedef unsigned int source_location; // <line-map.h> -+typedef source_location location_t; // <input.h> -+ -+#else // GCC < 6 -+ - #if BUILDING_GCC_MAJOR > 4 || BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR > 8 - # include <limits.h> // CHAR_BIT - # include <config.h> -@@ -33,6 +51,9 @@ extern "C" - - typedef unsigned int source_location; // <line-map.h> - typedef source_location location_t; // <input.h> --} -+ -+} // extern "C" -+ -+#endif - - #endif // ODB_GCC_FWD_HXX -diff --git a/odb/gcc.hxx b/odb/gcc.hxx -index c953047..858d685 100644 ---- a/odb/gcc.hxx -+++ b/odb/gcc.hxx -@@ -7,6 +7,10 @@ - - #include <odb/gcc-fwd.hxx> - -+#if BUILDING_GCC_MAJOR >= 6 -+# include <safe-ctype.h> // See gcc-fwd.hxx. -+#endif -+ - // GCC header includes to get the plugin and parse tree declarations. - // The order is important and doesn't follow any kind of logic. - // -@@ -145,4 +149,10 @@ gcc_tree_code_name (gcc_tree_code_type tc) {return tree_code_name[tc];} - #define DECL_CHAIN(x) TREE_CHAIN(x) - #endif - -+// In GCC 6, ANON_AGGRNAME_P became anon_aggrname_p(). -+// -+#if BUILDING_GCC_MAJOR < 6 -+# define anon_aggrname_p(X) ANON_AGGRNAME_P(X) -+#endif -+ - #endif // ODB_GCC_HXX -diff --git a/odb/include.cxx b/odb/include.cxx -index 9c03f99..32d50a6 100644 ---- a/odb/include.cxx -+++ b/odb/include.cxx -@@ -30,9 +30,18 @@ namespace - path path_; - }; - -+#if BUILDING_GCC_MAJOR >= 6 -+ typedef line_map_ordinary line_map_type; -+#else -+ typedef line_map line_map_type; -+# ifndef linemap_check_ordinary -+# define linemap_check_ordinary(X) (X) -+# endif -+#endif -+ - struct includes - { -- typedef std::map<line_map const*, include_directive> map_type; -+ typedef std::map<line_map_type const*, include_directive> map_type; - bool trailing; // Included at the beginning or at the end of the main file. - map_type map; - }; -@@ -146,7 +155,9 @@ namespace - // - if (l > BUILTINS_LOCATION) - { -- line_map const* lm (linemap_lookup (line_table, l)); -+ line_map_type const* lm ( -+ linemap_check_ordinary ( -+ linemap_lookup (line_table, l))); - - if (lm != 0 && !MAIN_FILE_P (lm)) - { -@@ -539,20 +550,20 @@ namespace - // - #if BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR <= 6 - size_t used (line_table->used); -- line_map const* maps (line_table->maps); -+ line_map_type const* maps (line_table->maps); - #else - size_t used (line_table->info_ordinary.used); -- line_map const* maps (line_table->info_ordinary.maps); -+ line_map_type const* maps (line_table->info_ordinary.maps); - #endif - - for (size_t i (0); i < used; ++i) - { -- line_map const* m (maps + i); -+ line_map_type const* m (maps + i); - - if (MAIN_FILE_P (m) || m->reason != LC_ENTER) - continue; - -- line_map const* ifm (INCLUDED_FROM (line_table, m)); -+ line_map_type const* ifm (INCLUDED_FROM (line_table, m)); - - #if BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR <= 6 - path f (m->to_file); -@@ -582,7 +593,7 @@ namespace - for (includes::iterator j (i->second.begin ()); - j != i->second.end (); ++j) - { -- line_map const* lm (j->first); -+ line_map_type const* lm (j->first); - cerr << '\t' << lm->to_file << ":" << LAST_SOURCE_LINE (lm) << endl; - } - */ -@@ -591,13 +602,13 @@ namespace - // it is preferred over all others. Use the first one if there are - // several. - // -- line_map const* main_lm (0); -+ line_map_type const* main_lm (0); - include_directive* main_inc (0); - - for (includes::map_type::iterator j (i->second.map.begin ()); - j != i->second.map.end (); ++j) - { -- line_map const* lm (j->first); -+ line_map_type const* lm (j->first); - - if (MAIN_FILE_P (lm)) - { -@@ -638,7 +649,7 @@ namespace - for (includes::map_type::iterator j (i->second.map.begin ()); - j != i->second.map.end (); ++j) - { -- line_map const* lm (j->first); -+ line_map_type const* lm (j->first); - - #if BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR <= 6 - string f (lm->to_file); -diff --git a/odb/parser.cxx b/odb/parser.cxx -index 275da33..842611f 100644 ---- a/odb/parser.cxx -+++ b/odb/parser.cxx -@@ -1070,14 +1070,14 @@ emit_type_decl (tree decl) - // says that in typedef struct {} S; S becomes struct's - // name. - // -- if (ANON_AGGRNAME_P (decl_name)) -+ if (anon_aggrname_p (decl_name)) - { - tree d (TYPE_NAME (t)); - - if (d != NULL_TREE && - !DECL_ARTIFICIAL (d) && - DECL_NAME (d) != NULL_TREE && -- !ANON_AGGRNAME_P (DECL_NAME (d))) -+ !anon_aggrname_p (DECL_NAME (d))) - { - decl = d; - decl_name = DECL_NAME (decl); -@@ -1694,7 +1694,7 @@ create_type (tree t, - ts << "start anon/stub " << gcc_tree_code_name(tc) << " at " - << file << ":" << line << endl; - -- if (d == NULL_TREE || ANON_AGGRNAME_P (DECL_NAME (d))) -+ if (d == NULL_TREE || anon_aggrname_p (DECL_NAME (d))) - { - if (tc == RECORD_TYPE) - r = &emit_class<class_> (t, file, line, clmn); -@@ -1791,7 +1791,7 @@ create_type (tree t, - ts << "start anon/stub " << gcc_tree_code_name(tc) << " at " - << file << ":" << line << endl; - -- if (d == NULL_TREE || ANON_AGGRNAME_P (DECL_NAME (d))) -+ if (d == NULL_TREE || anon_aggrname_p (DECL_NAME (d))) - { - r = &emit_enum (t, access, file, line, clmn); - } -diff --git a/odb/plugin.cxx b/odb/plugin.cxx -index fbbfe46..bc98f3e 100644 ---- a/odb/plugin.cxx -+++ b/odb/plugin.cxx -@@ -45,14 +45,28 @@ path file_; // File being compiled. - paths inputs_; // List of input files in at-once mode or just file_. - - bool (*cpp_error_prev) ( -- cpp_reader*, int, int, location_t, unsigned int, const char*, va_list*); -+ cpp_reader*, -+ int, -+ int, -+#if BUILDING_GCC_MAJOR >= 6 -+ rich_location*, -+#else -+ location_t, -+ unsigned int, -+#endif -+ const char*, -+ va_list*); - - static bool - cpp_error_filter (cpp_reader* r, - int level, - int reason, -+#if BUILDING_GCC_MAJOR >= 6 -+ rich_location* l, -+#else - location_t l, - unsigned int column_override, -+#endif - const char* msg, - va_list* ap) - { -@@ -66,7 +80,18 @@ cpp_error_filter (cpp_reader* r, - if (strstr (msg, "#pragma once") != 0) - return true; - -- return cpp_error_prev (r, level, reason, l, column_override, msg, ap); -+ return cpp_error_prev ( -+ r, -+ level, -+ reason, -+#if BUILDING_GCC_MAJOR >= 6 -+ l, -+#else -+ l, -+ column_override, -+#endif -+ msg, -+ ap); - } - - // A prefix of the _cpp_file struct. This struct is not part of the -diff --git a/odb/semantics/elements.cxx b/odb/semantics/elements.cxx -index 43fb379..ae9e906 100644 ---- a/odb/semantics/elements.cxx -+++ b/odb/semantics/elements.cxx -@@ -76,7 +76,7 @@ namespace semantics - if (tree decl = TYPE_NAME (n)) - name = DECL_NAME (decl); - -- return name != 0 && ANON_AGGRNAME_P (name); -+ return name != 0 && anon_aggrname_p (name); - } - - return true; -@@ -125,7 +125,7 @@ namespace semantics - if (tree decl = TYPE_NAME (type)) - { - name = DECL_NAME (decl); -- if (name != 0 && ANON_AGGRNAME_P (name)) -+ if (name != 0 && anon_aggrname_p (name)) - return true; - - tree s (CP_DECL_CONTEXT (decl)); --- -1.7.10.4 - -m 61d13eb53ade9f30a64892a901401bda5e42c335 Mon Sep 17 00:00:00 2001 -From: Boris Kolpackov <boris@codesynthesis.com> -Date: Mon, 8 Feb 2016 18:39:21 +0200 -Subject: [PATCH] Make compilable with GCC 6 in C++14 mode - ---- - odb/gcc.hxx | 9 ++++++--- - odb/parser.cxx | 2 ++ - 2 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/odb/gcc.hxx b/odb/gcc.hxx -index 858d685..a22357d 100644 ---- a/odb/gcc.hxx -+++ b/odb/gcc.hxx -@@ -7,9 +7,12 @@ - - #include <odb/gcc-fwd.hxx> - --#if BUILDING_GCC_MAJOR >= 6 --# include <safe-ctype.h> // See gcc-fwd.hxx. --#endif -+// Actually, let's keep it out. With it included we can compile in C++98 -+// but not in C++14 (GCC 6 default). -+// -+// #if BUILDING_GCC_MAJOR >= 6 -+// # include <safe-ctype.h> // See gcc-fwd.hxx. -+// #endif - - // GCC header includes to get the plugin and parse tree declarations. - // The order is important and doesn't follow any kind of logic. -diff --git a/odb/parser.cxx b/odb/parser.cxx -index 842611f..6dfff6f 100644 ---- a/odb/parser.cxx -+++ b/odb/parser.cxx -@@ -1857,6 +1857,8 @@ create_type (tree t, - // the array type. In other words, we view it as "constant array" - // rather than "array of constant elements". - // -+ using semantics::array; // vs std::array. -+ - tree bt (TREE_TYPE (t)); - tree bt_mv (TYPE_MAIN_VARIANT (bt)); - type& bt_node (emit_type (bt_mv, access::public_, file, line, clmn)); --- -1.7.10.4 |