* Update buildroot-patches for 2020.11-rc1 buildroot * Update buildroot to 2020.11-rc1 Signed-off-by: Stefan Agner <stefan@agner.ch> * Don't rely on sfdisk --list-free output The --list-free (-F) argument does not allow machine readable mode. And it seems that the output format changes over time (different spacing, using size postfixes instead of raw blocks). Use sfdisk json output and calculate free partition space ourselfs. This works for 2.35 and 2.36 and is more robust since we rely on output which is meant for scripts to parse. * Migrate defconfigs for Buildroot 2020.11-rc1 In particular, rename BR2_TARGET_UBOOT_BOOT_SCRIPT(_SOURCE) to BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT(_SOURCE). * Rebase/remove systemd patches for systemd 246 * Drop apparmor/libapparmor from buildroot-external * hassos-persists: use /run as directory for lockfiles The U-Boot tools use /var/lock by default which is not created any more by systemd by default (it is under tmpfiles legacy.conf, which we no longer install). * Disable systemd-update-done.service The service is not suited for pure read-only systems. In particular the service needs to be able to write a file in /etc and /var. Remove the service. Note: This is a static service and cannot be removed using systemd-preset. * Disable apparmor.service for now The service loads all default profiles. Some might actually cause problems. E.g. the profile for ping seems not to match our setup for /etc/resolv.conf: [85503.634653] audit: type=1400 audit(1605286002.684:236): apparmor="DENIED" operation="open" profile="ping" name="/run/resolv.conf" pid=27585 comm="ping" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
352 lines
12 KiB
Diff
352 lines
12 KiB
Diff
From c5bea9562929c6b55ca208a530ae80033eeb1614 Mon Sep 17 00:00:00 2001
|
|
From: Boris Kolpackov <boris@codesynthesis.com>
|
|
Date: Tue, 7 Nov 2017 10:37:53 +0200
|
|
Subject: [PATCH] Switch to C++11, get rid of auto_ptr use
|
|
|
|
[Upstream: 6e374de9ae2f2978f2fca3390aba4ea3f72bfade]
|
|
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
|
|
---
|
|
odb/Makefile.am | 5 +++++
|
|
odb/context.cxx | 4 ++--
|
|
odb/context.hxx | 4 ++--
|
|
odb/generator.cxx | 18 +++++++++---------
|
|
odb/options.cli | 4 ++--
|
|
odb/parser.cxx | 14 ++++++++++----
|
|
odb/parser.hxx | 7 ++++---
|
|
odb/plugin.cxx | 10 +++++-----
|
|
odb/processor.cxx | 6 +++---
|
|
odb/validator.cxx | 2 +-
|
|
10 files changed, 43 insertions(+), 31 deletions(-)
|
|
|
|
diff --git a/odb/Makefile.am b/odb/Makefile.am
|
|
index 2f01398..d9e83d7 100644
|
|
--- a/odb/Makefile.am
|
|
+++ b/odb/Makefile.am
|
|
@@ -9,6 +9,11 @@ plugin_LTLIBRARIES = odb.la
|
|
|
|
AM_CPPFLAGS = -I'$(top_builddir)' -I'$(top_srcdir)'
|
|
|
|
+# Note: not passed by libtool when linking odb.so. Seems to be harmless for
|
|
+# now.
|
|
+#
|
|
+AM_CXXFLAGS = -std=c++0x
|
|
+
|
|
EXTRA_DIST = common-query.hxx common.hxx context.hxx context.ixx cxx-lexer.hxx cxx-token.hxx diagnostics.hxx emitter.hxx features.hxx gcc-fwd.hxx gcc.hxx generate.hxx generator.hxx instance.hxx location.hxx lookup.hxx option-functions.hxx option-parsers.hxx option-types.hxx options.hxx options.ixx parser.hxx pragma.hxx processor.hxx profile.hxx relational/common-query.hxx relational/common.hxx relational/common.txx relational/context.hxx relational/context.ixx relational/generate.hxx relational/header.hxx relational/inline.hxx relational/model.hxx relational/mssql/common.hxx relational/mssql/context.hxx relational/mysql/common.hxx relational/mysql/context.hxx relational/oracle/common.hxx relational/oracle/context.hxx relational/pgsql/common.hxx relational/pgsql/context.hxx relational/processor.hxx relational/schema-source.hxx relational/schema.hxx relational/source.hxx relational/sqlite/common.hxx relational/sqlite/context.hxx relational/validator.hxx semantics.hxx semantics/class-template.hxx semantics/class.hxx semantics/derived.hxx semantics/elements.hxx semantics/elements.ixx semantics/enum.hxx semantics/fundamental.hxx semantics/namespace.hxx semantics/relational.hxx semantics/relational/changelog.hxx semantics/relational/changeset.hxx semantics/relational/column.hxx semantics/relational/deferrable.hxx semantics/relational/elements.hxx semantics/relational/elements.txx semantics/relational/foreign-key.hxx semantics/relational/index.hxx semantics/relational/key.hxx semantics/relational/model.hxx semantics/relational/name.hxx semantics/relational/primary-key.hxx semantics/relational/table.hxx semantics/template.hxx semantics/union-template.hxx semantics/union.hxx semantics/unit.hxx sql-lexer.hxx sql-lexer.ixx sql-token.hxx sql-token.ixx traversal.hxx traversal/class-template.hxx traversal/class.hxx traversal/derived.hxx traversal/elements.hxx traversal/enum.hxx traversal/fundamental.hxx traversal/namespace.hxx traversal/relational.hxx traversal/relational/changelog.hxx traversal/relational/changeset.hxx traversal/relational/column.hxx traversal/relational/elements.hxx traversal/relational/foreign-key.hxx traversal/relational/index.hxx traversal/relational/key.hxx traversal/relational/model.hxx traversal/relational/primary-key.hxx traversal/relational/table.hxx traversal/template.hxx traversal/union-template.hxx traversal/union.hxx traversal/unit.hxx validator.hxx version.hxx options.cli
|
|
|
|
# Plugin.
|
|
diff --git a/odb/context.cxx b/odb/context.cxx
|
|
index d62fa88..87f1c32 100644
|
|
--- a/odb/context.cxx
|
|
+++ b/odb/context.cxx
|
|
@@ -564,14 +564,14 @@ namespace
|
|
};
|
|
}
|
|
|
|
-auto_ptr<context>
|
|
+unique_ptr<context>
|
|
create_context (ostream& os,
|
|
semantics::unit& unit,
|
|
options const& ops,
|
|
features& f,
|
|
semantics::relational::model* m)
|
|
{
|
|
- auto_ptr<context> r;
|
|
+ unique_ptr<context> r;
|
|
|
|
switch (ops.database ()[0])
|
|
{
|
|
diff --git a/odb/context.hxx b/odb/context.hxx
|
|
index 351bc61..10de237 100644
|
|
--- a/odb/context.hxx
|
|
+++ b/odb/context.hxx
|
|
@@ -13,7 +13,7 @@
|
|
#include <stack>
|
|
#include <vector>
|
|
#include <string>
|
|
-#include <memory> // std::auto_ptr
|
|
+#include <memory> // std::unique_ptr
|
|
#include <ostream>
|
|
#include <cstddef> // std::size_t
|
|
#include <iostream>
|
|
@@ -1691,7 +1691,7 @@ private:
|
|
|
|
// Create concrete database context.
|
|
//
|
|
-std::auto_ptr<context>
|
|
+std::unique_ptr<context>
|
|
create_context (std::ostream&,
|
|
semantics::unit&,
|
|
options const&,
|
|
diff --git a/odb/generator.cxx b/odb/generator.cxx
|
|
index 6aa5151..266b75f 100644
|
|
--- a/odb/generator.cxx
|
|
+++ b/odb/generator.cxx
|
|
@@ -4,7 +4,7 @@
|
|
|
|
#include <cctype> // std::toupper, std::is{alpha,upper,lower}
|
|
#include <string>
|
|
-#include <memory> // std::auto_ptr
|
|
+#include <memory> // std::unique_ptr
|
|
#include <iomanip>
|
|
#include <fstream>
|
|
#include <sstream>
|
|
@@ -141,7 +141,7 @@ generate (options const& ops,
|
|
|
|
if (gen_schema)
|
|
{
|
|
- auto_ptr<context> ctx (create_context (cerr, unit, ops, fts, 0));
|
|
+ unique_ptr<context> ctx (create_context (cerr, unit, ops, fts, 0));
|
|
|
|
switch (db)
|
|
{
|
|
@@ -471,7 +471,7 @@ generate (options const& ops,
|
|
//
|
|
if (gen_cxx)
|
|
{
|
|
- auto_ptr<context> ctx (
|
|
+ unique_ptr<context> ctx (
|
|
create_context (hxx, unit, ops, fts, model.get ()));
|
|
|
|
sloc_filter sloc (ctx->os);
|
|
@@ -581,7 +581,7 @@ generate (options const& ops,
|
|
//
|
|
if (gen_cxx)
|
|
{
|
|
- auto_ptr<context> ctx (
|
|
+ unique_ptr<context> ctx (
|
|
create_context (ixx, unit, ops, fts, model.get ()));
|
|
|
|
sloc_filter sloc (ctx->os);
|
|
@@ -641,7 +641,7 @@ generate (options const& ops,
|
|
//
|
|
if (gen_cxx && (db != database::common || md == multi_database::dynamic))
|
|
{
|
|
- auto_ptr<context> ctx (
|
|
+ unique_ptr<context> ctx (
|
|
create_context (cxx, unit, ops, fts, model.get ()));
|
|
|
|
sloc_filter sloc (ctx->os);
|
|
@@ -734,7 +734,7 @@ generate (options const& ops,
|
|
//
|
|
if (gen_sep_schema)
|
|
{
|
|
- auto_ptr<context> ctx (
|
|
+ unique_ptr<context> ctx (
|
|
create_context (sch, unit, ops, fts, model.get ()));
|
|
|
|
sloc_filter sloc (ctx->os);
|
|
@@ -799,7 +799,7 @@ generate (options const& ops,
|
|
//
|
|
if (gen_sql_schema)
|
|
{
|
|
- auto_ptr<context> ctx (
|
|
+ unique_ptr<context> ctx (
|
|
create_context (sql, unit, ops, fts, model.get ()));
|
|
|
|
switch (db)
|
|
@@ -865,7 +865,7 @@ generate (options const& ops,
|
|
//
|
|
{
|
|
ofstream& mig (*mig_pre[i]);
|
|
- auto_ptr<context> ctx (create_context (mig, unit, ops, fts, 0));
|
|
+ unique_ptr<context> ctx (create_context (mig, unit, ops, fts, 0));
|
|
|
|
switch (db)
|
|
{
|
|
@@ -908,7 +908,7 @@ generate (options const& ops,
|
|
//
|
|
{
|
|
ofstream& mig (*mig_post[i]);
|
|
- auto_ptr<context> ctx (create_context (mig, unit, ops, fts, 0));
|
|
+ unique_ptr<context> ctx (create_context (mig, unit, ops, fts, 0));
|
|
|
|
switch (db)
|
|
{
|
|
diff --git a/odb/options.cli b/odb/options.cli
|
|
index cf278cb..c994975 100644
|
|
--- a/odb/options.cli
|
|
+++ b/odb/options.cli
|
|
@@ -211,10 +211,10 @@ class options
|
|
\cb{db pointer} pragma will use this pointer by default. The value
|
|
of this option can be \cb{*} which denotes the raw pointer and is
|
|
the default, or qualified name of a smart pointer class template,
|
|
- for example, \cb{std::auto_ptr}. In the latter case, the ODB compiler
|
|
+ for example, \cb{std::shared_ptr}. In the latter case, the ODB compiler
|
|
constructs the object or view pointer by adding a single template
|
|
argument of the object or view type to the qualified name, for example
|
|
- \cb{std::auto_ptr<object>}. The ODB runtime uses object and view
|
|
+ \cb{std::shared_ptr<object>}. The ODB runtime uses object and view
|
|
pointers to return, and, in case of objects, pass and cache
|
|
dynamically allocated instances of object and view types.
|
|
|
|
diff --git a/odb/parser.cxx b/odb/parser.cxx
|
|
index 927063b..30e45af 100644
|
|
--- a/odb/parser.cxx
|
|
+++ b/odb/parser.cxx
|
|
@@ -26,7 +26,7 @@ public:
|
|
|
|
impl (options const&, loc_pragmas&, ns_loc_pragmas&, decl_pragmas&);
|
|
|
|
- auto_ptr<unit>
|
|
+ unique_ptr<unit>
|
|
parse (tree global_scope, path const& main_file);
|
|
|
|
private:
|
|
@@ -728,10 +728,10 @@ impl (options const& ops,
|
|
{
|
|
}
|
|
|
|
-auto_ptr<unit> parser::impl::
|
|
+unique_ptr<unit> parser::impl::
|
|
parse (tree global_scope, path const& main_file)
|
|
{
|
|
- auto_ptr<unit> u (new unit (main_file));
|
|
+ unique_ptr<unit> u (new unit (main_file));
|
|
u->insert (global_namespace, *u);
|
|
process_named_pragmas (global_namespace, *u);
|
|
|
|
@@ -2263,6 +2263,12 @@ fq_scope (tree decl)
|
|
// parser
|
|
//
|
|
|
|
+parser::
|
|
+~parser ()
|
|
+{
|
|
+ // Needs parser::impl definition.
|
|
+}
|
|
+
|
|
parser::
|
|
parser (options const& ops,
|
|
loc_pragmas& lp,
|
|
@@ -2272,7 +2278,7 @@ parser (options const& ops,
|
|
{
|
|
}
|
|
|
|
-auto_ptr<unit> parser::
|
|
+unique_ptr<unit> parser::
|
|
parse (tree global_scope, path const& main_file)
|
|
{
|
|
return impl_->parse (global_scope, main_file);
|
|
diff --git a/odb/parser.hxx b/odb/parser.hxx
|
|
index 80e4aa4..648337f 100644
|
|
--- a/odb/parser.hxx
|
|
+++ b/odb/parser.hxx
|
|
@@ -7,7 +7,7 @@
|
|
|
|
#include <odb/gcc.hxx>
|
|
|
|
-#include <memory> // std::auto_ptr
|
|
+#include <memory> // std::unique_ptr
|
|
|
|
#include <odb/pragma.hxx>
|
|
#include <odb/options.hxx>
|
|
@@ -18,9 +18,10 @@ class parser
|
|
public:
|
|
class failed {};
|
|
|
|
+ ~parser ();
|
|
parser (options const&, loc_pragmas&, ns_loc_pragmas&, decl_pragmas&);
|
|
|
|
- std::auto_ptr<semantics::unit>
|
|
+ std::unique_ptr<semantics::unit>
|
|
parse (tree global_scope, semantics::path const& main_file);
|
|
|
|
private:
|
|
@@ -31,7 +32,7 @@ private:
|
|
|
|
private:
|
|
class impl;
|
|
- std::auto_ptr<impl> impl_;
|
|
+ std::unique_ptr<impl> impl_;
|
|
};
|
|
|
|
#endif // ODB_PARSER_HXX
|
|
diff --git a/odb/plugin.cxx b/odb/plugin.cxx
|
|
index 779faed..0fac632 100644
|
|
--- a/odb/plugin.cxx
|
|
+++ b/odb/plugin.cxx
|
|
@@ -8,7 +8,7 @@
|
|
#include <sys/types.h> // stat
|
|
#include <sys/stat.h> // stat
|
|
|
|
-#include <memory> // std::auto_ptr
|
|
+#include <memory> // std::unique_ptr
|
|
#include <string>
|
|
#include <vector>
|
|
#include <cstring> // std::strcpy, std::strstr
|
|
@@ -39,7 +39,7 @@ using cutl::fs::invalid_path;
|
|
typedef vector<path> paths;
|
|
|
|
int plugin_is_GPL_compatible;
|
|
-auto_ptr<options const> options_;
|
|
+unique_ptr<options const> options_;
|
|
paths profile_paths_;
|
|
path file_; // File being compiled.
|
|
paths inputs_; // List of input files in at-once mode or just file_.
|
|
@@ -222,7 +222,7 @@ gate_callback (void*, void*)
|
|
// Parse the GCC tree to semantic graph.
|
|
//
|
|
parser p (*options_, loc_pragmas_, ns_loc_pragmas_, decl_pragmas_);
|
|
- auto_ptr<unit> u (p.parse (global_namespace, file_));
|
|
+ unique_ptr<unit> u (p.parse (global_namespace, file_));
|
|
|
|
features f;
|
|
|
|
@@ -377,14 +377,14 @@ plugin_init (plugin_name_args* plugin_info, plugin_gcc_version*)
|
|
oi[2].arg = &pd;
|
|
|
|
cli::argv_file_scanner scan (argc, &argv[0], oi, 3);
|
|
- auto_ptr<options> ops (
|
|
+ unique_ptr<options> ops (
|
|
new options (scan, cli::unknown_mode::fail, cli::unknown_mode::fail));
|
|
|
|
// Process options.
|
|
//
|
|
process_options (*ops);
|
|
|
|
- options_ = ops;
|
|
+ options_ = move (ops);
|
|
pragma_db_ = db;
|
|
pragma_multi_ = options_->multi_database ();
|
|
}
|
|
diff --git a/odb/processor.cxx b/odb/processor.cxx
|
|
index bea3624..c787e0d 100644
|
|
--- a/odb/processor.cxx
|
|
+++ b/odb/processor.cxx
|
|
@@ -120,8 +120,8 @@ namespace
|
|
// both the wrapper type and the wrapped type must be const.
|
|
// To see why, consider these possibilities:
|
|
//
|
|
- // auto_ptr<const T> - can modify by setting a new pointer
|
|
- // const auto_ptr<T> - can modify by changing the pointed-to value
|
|
+ // unique_ptr<const T> - can modify by setting a new pointer
|
|
+ // const unique_ptr<T> - can modify by changing the pointed-to value
|
|
//
|
|
if (const_type (m.type ()) &&
|
|
!(id (m) || version (m) || m.count ("inverse")))
|
|
@@ -3086,7 +3086,7 @@ process (options const& ops,
|
|
{
|
|
try
|
|
{
|
|
- auto_ptr<context> ctx (create_context (cerr, unit, ops, f, 0));
|
|
+ unique_ptr<context> ctx (create_context (cerr, unit, ops, f, 0));
|
|
|
|
// Common processing.
|
|
//
|
|
diff --git a/odb/validator.cxx b/odb/validator.cxx
|
|
index aac52e4..196386c 100644
|
|
--- a/odb/validator.cxx
|
|
+++ b/odb/validator.cxx
|
|
@@ -1516,7 +1516,7 @@ validate (options const& ops,
|
|
if (!valid)
|
|
throw validator_failed ();
|
|
|
|
- auto_ptr<context> ctx (create_context (cerr, u, ops, f, 0));
|
|
+ unique_ptr<context> ctx (create_context (cerr, u, ops, f, 0));
|
|
|
|
if (pass == 1)
|
|
{
|
|
--
|
|
2.25.0
|
|
|