File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -786,6 +786,10 @@ namespace {
786786 tok2 = insertTokens (tok2, mRangeTypeQualifiers );
787787 Token* tok3 = tok2->insertToken (" )" );
788788 Token::createMutualLinks (tok, tok3);
789+ tok->insertTokenBefore (" (" );
790+ tok3 = tok3->linkAt (1 );
791+ tok3 = tok3->insertToken (" )" );
792+ Token::createMutualLinks (tok->tokAt (-1 ), tok3);
789793 }
790794 return ;
791795 }
Original file line number Diff line number Diff line change @@ -3387,7 +3387,7 @@ class TestSimplifyTypedef : public TestFixture {
33873387 // #11430
33883388 const char code3[] = " typedef char* T;\n "
33893389 " T f() { return T(\" abc\" ); }\n " ;
3390- ASSERT_EQUALS (" char * f ( ) { return ( char * ) ( \" abc\" ) ; }" , tok (code3));
3390+ ASSERT_EQUALS (" char * f ( ) { return ( ( char * ) ( \" abc\" ) ) ; }" , tok (code3));
33913391
33923392 const char code4[] = " typedef struct _a *A;\n " // #13104
33933393 " typedef struct _b* B;\n "
@@ -3399,6 +3399,17 @@ class TestSimplifyTypedef : public TestFixture {
33993399 ASSERT_EQUALS (" extern struct _a * ( * get ) ( struct _b * ) ; "
34003400 " struct _a * f ( ) { return get ( 0 ) ; }" ,
34013401 tok (code4));
3402+
3403+ const char code5[] = " struct S { int x; };\n " // #13182
3404+ " typedef S* PS;\n "
3405+ " void f(void* a[], int i) {\n "
3406+ " PS(a[i])->x = i;\n "
3407+ " }\n " ;
3408+ ASSERT_EQUALS (" struct S { int x ; } ; "
3409+ " void f ( void * a [ ] , int i ) { "
3410+ " ( ( S * ) ( a [ i ] ) ) . x = i ; "
3411+ " }" ,
3412+ tok (code5));
34023413 }
34033414
34043415 void simplifyTypedef143 () { // #11506
You can’t perform that action at this time.
0 commit comments