Skip to content

Commit 73433c2

Browse files
committed
Syntax error: Clarify a syntax error in audacity
1 parent b30d463 commit 73433c2

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

lib/tokenize.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9060,7 +9060,7 @@ void Tokenizer::findGarbageCode() const
90609060
while (prev && prev->isName())
90619061
prev = prev->previous();
90629062
if (Token::Match(prev, "%op%|%num%|%str%|%char%"))
9063-
syntaxError(tok);
9063+
syntaxError(tok, prev == tok->previous() ? (prev->str() + " " + tok->str()) : (prev->str() + " .. " + tok->str()));
90649064
}
90659065

90669066
// case keyword must be inside switch

test/testgarbage.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1656,7 +1656,7 @@ class TestGarbage : public TestFixture {
16561656
void syntaxErrorFuzzerCliType1() {
16571657
ASSERT_THROW(checkCode("void f(){x=0,return return''[]()}"), InternalError);
16581658
ASSERT_THROW(checkCode("void f(){x='0'++'0'(return)[];}"), InternalError); // #9063
1659-
checkCode("void f(){*(int *)42=0;}");
1659+
checkCode("void f(){*(int *)42=0;}"); // no syntax error
16601660
ASSERT_THROW(checkCode("void f() { x= 'x' > typedef name5 | ( , ;){ } (); }"), InternalError); // #9067
16611661
ASSERT_THROW(checkCode("void f() { x= {}( ) ( 'x')[ ] (); }"), InternalError); // #9068
16621662
ASSERT_THROW(checkCode("void f() { x= y{ } name5 y[ ] + y ^ name5 ^ name5 for ( ( y y y && y y y && name5 ++ int )); }"), InternalError); // #9069

0 commit comments

Comments
 (0)