@@ -255,6 +255,7 @@ class TestSimplifyTypedef : public TestFixture {
255255
256256 TEST_CASE (simplifyTypedefOriginalName1);
257257 TEST_CASE (simplifyTypedefOriginalName2);
258+ TEST_CASE (simplifyTypedefOriginalName3);
258259
259260 TEST_CASE (simplifyTypedefTokenColumn1);
260261 TEST_CASE (simplifyTypedefTokenColumn2);
@@ -4594,6 +4595,27 @@ class TestSimplifyTypedef : public TestFixture {
45944595 ASSERT_EQUALS (" A" , token->originalName ());
45954596 }
45964597
4598+ void simplifyTypedefOriginalName3 () {
4599+ const char code[] = " void f(void) {\n "
4600+ " typedef int A;\n "
4601+ " A a;\n "
4602+ " }\n " ;
4603+ TokenList tokenlist{ settings1, Standards::Language::C };
4604+ ASSERT (TokenListHelper::createTokensFromString (tokenlist, code, " file.c" ));
4605+ TokenizerTest tokenizer (std::move (tokenlist), *this );
4606+ tokenizer.createLinks ();
4607+ tokenizer.simplifyTypedef ();
4608+
4609+ try {
4610+ tokenizer.validate ();
4611+ }
4612+ catch (const InternalError&) {
4613+ ASSERT_EQUALS_MSG (false , true , " Validation of Tokenizer failed" );
4614+ }
4615+ const Token* token = Token::findsimplematch (tokenizer.list .front (), " int" );
4616+ ASSERT_EQUALS (" A" , token->originalName ());
4617+ }
4618+
45974619 void simplifyTypedefTokenColumn1 () { // #13155
45984620 const char code[] = " void foo(void) {\n "
45994621 " typedef signed int MY_INT;\n "
0 commit comments