From 89d2b69c1b926c9dc1da3834ba2a7a924d4e2d4f Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Wed, 2 Dec 2020 21:38:43 +0100 Subject: [PATCH] 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. --- data/skeletons/c++.m4 | 6 +++--- data/skeletons/lalr1.cc | 6 +++--- 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 -- 2.11.4.GIT