setVarId: Support throw() in constructor implementations (#7123)
This commit is contained in:
parent
11915f84e2
commit
ee00925dc5
|
@ -2961,6 +2961,9 @@ void Tokenizer::setVarId()
|
||||||
setVarIdClassFunction(classname, start, start->link(), thisClassVars, structMembers, &_varId);
|
setVarIdClassFunction(classname, start, start->link(), thisClassVars, structMembers, &_varId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Token::Match(tok2, ") %name% ("))
|
||||||
|
tok2 = tok2->linkAt(2);
|
||||||
|
|
||||||
// constructor with initializer list
|
// constructor with initializer list
|
||||||
if (Token::Match(tok2, ") : %name% (|{|<")) {
|
if (Token::Match(tok2, ") : %name% (|{|<")) {
|
||||||
Token *tok3 = tok2;
|
Token *tok3 = tok2;
|
||||||
|
|
|
@ -1831,6 +1831,22 @@ private:
|
||||||
"3: int x@2 ; int y@3 ;\n"
|
"3: int x@2 ; int y@3 ;\n"
|
||||||
"4: } ;\n",
|
"4: } ;\n",
|
||||||
tokenize(code8));
|
tokenize(code8));
|
||||||
|
|
||||||
|
// #7123
|
||||||
|
const char code9[] = "class A {\n"
|
||||||
|
" double *work;\n"
|
||||||
|
" A(const Matrix &m) throw (e);\n"
|
||||||
|
"};\n"
|
||||||
|
"A::A(const Matrix &m) throw (e) : work(0)\n"
|
||||||
|
"{}";
|
||||||
|
ASSERT_EQUALS("\n\n##file 0\n"
|
||||||
|
"1: class A {\n"
|
||||||
|
"2: double * work@1 ;\n"
|
||||||
|
"3: A ( const Matrix & m@2 ) throw ( e ) ;\n"
|
||||||
|
"4: } ;\n"
|
||||||
|
"5: A :: A ( const Matrix & m@3 ) throw ( e ) : work@1 ( 0 )\n"
|
||||||
|
"6: { }\n",
|
||||||
|
tokenize(code9));
|
||||||
}
|
}
|
||||||
|
|
||||||
void varid_initListWithBaseTemplate() {
|
void varid_initListWithBaseTemplate() {
|
||||||
|
|
Loading…
Reference in New Issue