![Adam Duskett](/assets/img/avatar_default.png)
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>
49 lines
1.5 KiB
Diff
49 lines
1.5 KiB
Diff
From 4584b69c45b701c3689d6a974f1ee560a79a243e 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
|
|
|
|
[Upstream: 61d13eb53ade9f30a64892a901401bda5e42c335]
|
|
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
|
|
---
|
|
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 feda9d4..a9d22fb 100644
|
|
--- a/odb/parser.cxx
|
|
+++ b/odb/parser.cxx
|
|
@@ -1831,6 +1831,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));
|
|
--
|
|
2.25.0
|
|
|