buildroot/package/odb/0008-Fix-GCC-8-adaptation-to-be-compatible-with-previous-.patch
Adam Duskett b2266009be package/odb: new package
ODB is an open-source, cross-platform, and cross-database
object-relational mapping (ORM) system for C++. It allows you to
persist C++ objects to a relational database without having to deal
with tables, columns, or SQL and without manually writing any mapping
code.

ODB supports MySQL, SQLite, PostgreSQL, Oracle, and Microsoft SQL
Server relational databases as well as C++98/03 and C++11 language
standards.  It also comes with optional profiles for Boost and Qt
which allow you to seamlessly use value types, containers, and smart
pointers from these libraries in your persistent C++ classes.

This package is used for auto-generating ODB specific header files
into useable code that can be linked against a seperate libodb and a
specific libodb database library.  As such, it is only needed as a
host program and is not user selectable.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
[Kamel: Fix incorrect odb license]
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
[Thomas: add patch fixing gcc10 build, add references to upstream
commits]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-07-12 12:44:43 +02:00

34 lines
1022 B
Diff

From 8cc165a2f7f945db36a18e462138553a000292cd Mon Sep 17 00:00:00 2001
From: Boris Kolpackov <boris@codesynthesis.com>
Date: Tue, 7 Nov 2017 16:57:35 +0200
Subject: [PATCH] Fix GCC 8 adaptation to be compatible with previous
versions
[Upstream: 006bbc5748a8197d7874550cc9186545f1c55ad8]
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
---
odb/validator.cxx | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/odb/validator.cxx b/odb/validator.cxx
index 196386c..f0edaaf 100644
--- a/odb/validator.cxx
+++ b/odb/validator.cxx
@@ -1231,7 +1231,13 @@ namespace
compiler, get_identifier ("has_lt_operator"), false, false);
if (has_lt_operator_ != error_mark_node)
+ {
+#if BUILDING_GCC_MAJOR >= 8
has_lt_operator_ = OVL_FIRST (has_lt_operator_);
+#else
+ has_lt_operator_ = OVL_CURRENT (has_lt_operator_);
+#endif
+ }
else
{
os << unit.file () << ": error: unable to resolve has_lt_operator "
--
2.25.0