Ignore #if
d out unknown directives.
#427
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #426
Makes the compiler slightly more future-proof by allowing us to do something like:
Currently to do that you need to do:
Or you get an error that
#message
(or anything else) is an unknown directive if the compiler doesn't recognise it, even if it is disabled.The only downside to this is that it makes it slightly harder to add new
#if
-like directives:A compiler that fails the first check AND doesn't recognise
#elif
will simply skip it and go all the way to#endif
. It will not evaluate it as#elseif
and potentially run the code within. It should somehow recognise#elif
as a#if
-like directive it just doesn't know and give an error. That would require some sort of hard convention we don't yet have. That, or we just define all possible ones now (even if they aren't implemented):Can't think of any more, but that doesn't mean there aren't any (does
iff
make any sense here?)