This repository has been archived by the owner on May 7, 2024. It is now read-only.
Enable the constraints checking for assembler by default if possible. #173
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.
I get the request recently that the assembler's constraints checking break hardware exception test cases. Therefore I have disabled the checking in assembler by default, and people don't get the constraints error when writing assembly code. But we should enable the checking for the code which the compiler emits.
Beside, GCC also checks whether the assembler supports the options used to enable and disable the constraints checking. The basic logic is shown as follows,
.option checkconstraints
.option checkconstraints
-mcheck-constraints
.option checkconstraints
.option checkconstraints
-mno-check-constraints
.option checkconstraints
.option checkconstraints
One more thing is that, the
gcc_GAS_CHECK_FEATURE
doesn't seem to work for checking the.option xxx
. I think the reason may be that GAS report warning message rather than error when the.option xxx
isn't supported. However, I have added both GAS options and .option directives for theconstraints checking, so I check them both in the
gcc_GAS_CHECK_FEATURE
.