You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hint 1:
The function lex is used to invoke the lexer. It takes two arguments: pointer to a cell called lexvalue and a pointer to a char* called lexsym. It returns the token id and sets lexvalue to a number if it had just read a number or it sets lexsym if it had read a symbol. Internally, the lexer just copies an internal pointer (_lexstr) to *lexsym.
Suppose you read a symbol and obtained the name of the symbol through lexsym parameter. On the next invocation of lex, it may happen that your previous pointer contains something new (which could be "") instead of the old symbol.
By using that pointer to display an error message, you might not get expected results.
Hint 2:
The file sc5.c is the component which deals with displaying errors and warnings. The function which is used throughout the compiler codebase to trigger a warning is int error(int number,...). The number parameter takes the error/warning number. Despite being called error, it also issues warnings.
You can use your editor's search in all files function to find parts of the compiler which issue warning 224 by searching for error(224.
Uh oh!
There was an error while loading. Please reload this page.
Is this a BUG REPORT, FEATURE REQUEST or QUESTION?:
What happened:
warning 224: indeterminate array size in "sizeof" expression (symbol "")
The warning says
symbol ""
.What you expected to happen:
It must give the correct name of the symbol.
How to reproduce it (as minimally and precisely as possible):
Environment:
The text was updated successfully, but these errors were encountered: