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
`define test(a1,a2) ((a1) + (a2))
`test val
( 1,2)
</code>
Output will be
((val 1) + (2))
</code>
It should give an error since there is no opening parenthesis after the definition name "test". However, what happens is that everything between the definition name and opening parenthesis gets prepended into the first argument.
This issue can mess up the code without the user detecting any errors. For example, user forgets to pass arguments to the definition name and a few lines later has a function call with same number of arguments.
The text was updated successfully, but these errors were encountered:
Author Name: Topa Tota
Original Redmine Issue: 1659 from https://www.veripool.org
Original Assignee: Wilson Snyder (@wsnyder)
If you run the preprocessor on this code
Output will be
It should give an error since there is no opening parenthesis after the definition name "test". However, what happens is that everything between the definition name and opening parenthesis gets prepended into the first argument.
This issue can mess up the code without the user detecting any errors. For example, user forgets to pass arguments to the definition name and a few lines later has a function call with same number of arguments.
The text was updated successfully, but these errors were encountered: