summaryrefslogtreecommitdiff
path: root/src/macro_rules
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2019-10-26 17:15:23 +0800
committerJohn Hodge <tpg@mutabah.net>2019-10-26 17:15:23 +0800
commit99904636d2e1e335238552cbb5b8b23dd06b7295 (patch)
tree5fd6470fb702b2a26253d380d47d5b6fd232607f /src/macro_rules
parent7ca04e2d668fa44a1663158f844cb912e396cb32 (diff)
parentebd8edeb4f1861943cc82d310564b1f592e63272 (diff)
downloadmrust-99904636d2e1e335238552cbb5b8b23dd06b7295.tar.gz
Merge remote-tracking branch 'remotes/origin/master' into nightly-1.29
Diffstat (limited to 'src/macro_rules')
-rw-r--r--src/macro_rules/macro_rules_ptr.hpp2
-rw-r--r--src/macro_rules/mod.cpp6
-rw-r--r--src/macro_rules/parse.cpp1
3 files changed, 8 insertions, 1 deletions
diff --git a/src/macro_rules/macro_rules_ptr.hpp b/src/macro_rules/macro_rules_ptr.hpp
index fdb01fbe..5dbfd032 100644
--- a/src/macro_rules/macro_rules_ptr.hpp
+++ b/src/macro_rules/macro_rules_ptr.hpp
@@ -14,7 +14,7 @@ class MacroRulesPtr
MacroRules* m_ptr;
public:
MacroRulesPtr(): m_ptr(nullptr) {}
- MacroRulesPtr(MacroRules* p): m_ptr(p) {}
+ MacroRulesPtr(MacroRules* p);
MacroRulesPtr(MacroRulesPtr&& x):
m_ptr(x.m_ptr)
{
diff --git a/src/macro_rules/mod.cpp b/src/macro_rules/mod.cpp
index e9ecb504..2ad325b8 100644
--- a/src/macro_rules/mod.cpp
+++ b/src/macro_rules/mod.cpp
@@ -168,10 +168,16 @@ bool is_token_vis(eTokenType tt) {
}
}
+MacroRulesPtr::MacroRulesPtr(MacroRules* p):
+ m_ptr(p)
+{
+ //::std::cout << "MRP new " << m_ptr << ::std::endl;
+}
MacroRulesPtr::~MacroRulesPtr()
{
if(m_ptr)
{
+ //::std::cout << "MRP delete " << m_ptr << ::std::endl;
delete m_ptr;
m_ptr = nullptr;
}
diff --git a/src/macro_rules/parse.cpp b/src/macro_rules/parse.cpp
index 43ffb097..6a476ef1 100644
--- a/src/macro_rules/parse.cpp
+++ b/src/macro_rules/parse.cpp
@@ -265,6 +265,7 @@ MacroRule Parse_MacroRules_Var(TokenStream& lex)
{
case TOK_BRACE_OPEN: close = TOK_BRACE_CLOSE; break;
case TOK_PAREN_OPEN: close = TOK_PAREN_CLOSE; break;
+ case TOK_SQUARE_OPEN: close = TOK_SQUARE_CLOSE; break;
default:
throw ParseError::Unexpected(lex, tok);
}