| Submitter | Ramana Radhakrishnan |
|---|---|
| Date | Aug. 27, 2010, 10:12 a.m. |
| Message ID | <1282903951.23926.25.camel@e102325-lin.cambridge.arm.com> |
| Download | mbox | patch |
| Permalink | /patch/62843/ |
| State | New |
| Headers | show |
Comments
On 08/27/2010 12:12 PM, Ramana Radhakrishnan wrote: > Verified that stage2 proceeds further with this. Committing as obvious > in the next few minutes unless someone has any objections to this. > (define_attr "enabled" "no,yes" > (if_then_else (eq_attr "insn_enabled" "yes") > - (attr "arch_enabled") > + (if_then_else (eq_attr "arch_enabled" "yes") > + (const_string "yes") > + (const_string "no")) No real objection, but IMO it would be nicer to make this work in the generator programs. Bernd
Patch
Index: trunk/gcc/config/arm/arm.md =================================================================== --- trunk/gcc/config/arm/arm.md (revision 163581) +++ trunk/gcc/config/arm/arm.md (working copy) @@ -236,7 +236,9 @@ ; Enable all alternatives that are both arch_enabled and insn_enabled. (define_attr "enabled" "no,yes" (if_then_else (eq_attr "insn_enabled" "yes") - (attr "arch_enabled") + (if_then_else (eq_attr "arch_enabled" "yes") + (const_string "yes") + (const_string "no")) (const_string "no"))) ; POOL_RANGE is how far away from a constant pool entry that this insn
Hi, This unbreaks bootstraps on arm-linux-gnueabi which started failing because of issues with warnings of -Werror=c++-compat because the return value was being type-casted automatically from one enum type to another. error: enum conversion in return is invalid in C++ [-Werror=c++-compat] error: enum conversion in return is invalid in C++ [-Werror=c ++-compat] error: enum conversion in return is invalid in C++ [-Werror=c++-compat] Verified that stage2 proceeds further with this. Committing as obvious in the next few minutes unless someone has any objections to this. cheers Ramana * config/arm/arm.md (enabled): Test the value of arch_enabled rather than just using it.