summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2020-12-02 21:38:43 +0100
committerAkim Demaille <akim.demaille@gmail.com>2021-01-23 09:28:01 +0100
commit89d2b69c1b926c9dc1da3834ba2a7a924d4e2d4f (patch)
treec9fb5a47fdfc378489925e5431644d243c834dfe
parent1e0b0872448debb5e51c6393d11489a8d8166207 (diff)
downloadbison-89d2b69c1b926c9dc1da3834ba2a7a924d4e2d4f.tar.gz
c++: use noexcept where appropriate
Reported by Don Macpherson. https://github.com/akimd/bison/issues/63 https://github.com/akimd/bison/issues/64 * data/skeletons/c++.m4, data/skeletons/lalr1.cc: here.
-rw-r--r--data/skeletons/c++.m46
-rw-r--r--data/skeletons/lalr1.cc6
2 files changed, 6 insertions, 6 deletions
diff --git a/data/skeletons/c++.m4 b/data/skeletons/c++.m4
index 78c66def..5081273f 100644
--- a/data/skeletons/c++.m4
+++ b/data/skeletons/c++.m4
@@ -340,7 +340,7 @@ m4_define([b4_symbol_type_define],
}
/// Destroy contents, and record that is empty.
- void clear ()
+ void clear () YY_NOEXCEPT
{]b4_variant_if([[
// User destructor.
symbol_kind_type yykind = this->kind ();
@@ -424,7 +424,7 @@ m4_define([b4_symbol_type_define],
by_kind (kind_type t);
/// Record that this symbol is empty.
- void clear ();
+ void clear () YY_NOEXCEPT;
/// Steal the symbol kind from \a that.
void move (by_kind& that);
@@ -544,7 +544,7 @@ m4_define([b4_public_types_define],
{}
]b4_inline([$1])[void
- ]b4_parser_class[::by_kind::clear ()
+ ]b4_parser_class[::by_kind::clear () YY_NOEXCEPT
{
kind_ = ]b4_symbol(-2, kind)[;
}
diff --git a/data/skeletons/lalr1.cc b/data/skeletons/lalr1.cc
index b95f9aa9..6214f96f 100644
--- a/data/skeletons/lalr1.cc
+++ b/data/skeletons/lalr1.cc
@@ -271,9 +271,9 @@ m4_define([b4_shared_declarations],
{
public:
context (const ]b4_parser_class[& yyparser, const symbol_type& yyla);
- const symbol_type& lookahead () const { return yyla_; }
- symbol_kind_type token () const { return yyla_.kind (); }]b4_locations_if([[
- const location_type& location () const { return yyla_.location; }
+ const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
+ symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }]b4_locations_if([[
+ const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
]])[
/// Put in YYARG at most YYARGN of the expected tokens, and return the
/// number of tokens stored in YYARG. If YYARG is null, return the