![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>
35 lines
985 B
Diff
35 lines
985 B
Diff
From 029687831099bf1dcc944517f9e48af1db5b0361 Mon Sep 17 00:00:00 2001
|
|
From: Boris Kolpackov <boris@codesynthesis.com>
|
|
Date: Fri, 23 Dec 2016 10:18:01 +0200
|
|
Subject: [PATCH] Fix bug in GCC 6 input_location translation
|
|
|
|
[Upstream: ec777147024fde72e4411cc6b1e1e49f4a1d1804]
|
|
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
|
|
---
|
|
odb/cxx-lexer.cxx | 8 ++++++++
|
|
1 file changed, 8 insertions(+)
|
|
|
|
diff --git a/odb/cxx-lexer.cxx b/odb/cxx-lexer.cxx
|
|
index 64df296..ae045d9 100644
|
|
--- a/odb/cxx-lexer.cxx
|
|
+++ b/odb/cxx-lexer.cxx
|
|
@@ -106,7 +106,15 @@ next (string& token, tree* node)
|
|
location_t cxx_pragma_lexer::
|
|
location () const
|
|
{
|
|
+ // Starting from GCC 6 the input location seem to require the same
|
|
+ // translation as what we do in real_source_location().
|
|
+ //
|
|
+#if BUILDING_GCC_MAJOR >= 6
|
|
+ return linemap_resolve_location (
|
|
+ line_table, input_location, LRK_MACRO_EXPANSION_POINT, 0);
|
|
+#else
|
|
return input_location;
|
|
+#endif
|
|
}
|
|
|
|
string cxx_pragma_lexer::
|
|
--
|
|
2.25.0
|
|
|