[gcc r12-10097] AVR: target/113156 - Fix ICE due to missing "Save" on -m[long-]double= options.
Georg-Johann Lay
gjl@gcc.gnu.org
Mon Jan 15 11:49:29 GMT 2024
https://gcc.gnu.org/g:2bce77d6e17efd801b2a6fee72e511c0597dc5c2
commit r12-10097-g2bce77d6e17efd801b2a6fee72e511c0597dc5c2
Author: Andrew Pinski <quic_apinski@quicinc.com>
Date: Mon Jan 15 10:31:36 2024 +0100
AVR: target/113156 - Fix ICE due to missing "Save" on -m[long-]double= options.
Multilib options -mdouble= and -mlong-double= are not orthogonal:
TARGET_HANDLE_OPTION = avr-common.cc::avr_handle_option() sets them
such that sizeof(double) <= sizeof(long double) is always true.
gcc/
PR target/113156
* config/avr/avr.opt (-mdouble, -mlong-double): Add "Save" flag.
(-mbranch-cost): Set "Optimization" flag.
(cherry picked from commit f1b0b1e4454d160564090a4cc1fa649ccefdcb1e)
Diff:
---
gcc/config/avr/avr.opt | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gcc/config/avr/avr.opt b/gcc/config/avr/avr.opt
index fdb1daee95a..d38d90df521 100644
--- a/gcc/config/avr/avr.opt
+++ b/gcc/config/avr/avr.opt
@@ -27,7 +27,7 @@ Target RejectNegative Joined Var(avr_mmcu) MissingArgError(missing device or arc
-mmcu=MCU Select the target MCU.
mgas-isr-prologues
-Target Var(avr_gasisr_prologues) UInteger Init(0)
+Target Var(avr_gasisr_prologues) UInteger Init(0) Optimization
Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues.
mn-flash=
@@ -61,11 +61,11 @@ Target RejectNegative Mask(NO_INTERRUPTS)
Change the stack pointer without disabling interrupts.
mbranch-cost=
-Target Joined RejectNegative UInteger Var(avr_branch_cost) Init(0)
+Target Joined RejectNegative UInteger Var(avr_branch_cost) Init(0) Optimization
Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 0.
mmain-is-OS_task
-Target Mask(MAIN_IS_OS_TASK)
+Target Mask(MAIN_IS_OS_TASK) Optimization
Treat main as if it had attribute OS_task.
morder1
@@ -116,11 +116,11 @@ Target Mask(ABSDATA)
Assume that all data in static storage can be accessed by LDS / STS. This option is only useful for reduced Tiny devices.
mdouble=
-Target Joined RejectNegative Var(avr_double) Init(0) Enum(avr_bits_e)
+Target Joined RejectNegative Var(avr_double) Init(0) Enum(avr_bits_e) Save
-mdouble=<BITS> Use <BITS> bits wide double type.
mlong-double=
-Target Joined RejectNegative Var(avr_long_double) Init(0) Enum(avr_bits_e)
+Target Joined RejectNegative Var(avr_long_double) Init(0) Enum(avr_bits_e) Save
-mlong-double=<BITS> Use <BITS> bits wide long double type.
nodevicelib
More information about the Gcc-cvs
mailing list