aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2024-11-19 14:19:53 +0100
committerGeorg-Johann Lay <avr@gjlay.de>2024-11-19 18:26:44 +0100
commit49f4e96996e319d4c99a890597316c57188e2159 (patch)
treed2e0b8aed2583854dfcd92aa7f4f612a09e639ee
parentc9530a0e24e35a6fdce91b2002b798f44b62fd44 (diff)
downloadgcc-49f4e96996e319d4c99a890597316c57188e2159.zip
gcc-49f4e96996e319d4c99a890597316c57188e2159.tar.gz
gcc-49f4e96996e319d4c99a890597316c57188e2159.tar.bz2
AVR: Use more bool.
Now that the C default is C23, we can use bool in avr.h (which is still used in libgcc via tm.h). bool is a keyword in C23, so no stdbool.h is required in libgcc. gcc/ * config/avr/avr.h (avr_args.has_stack_args): Be a bool. (struct machine_function) <is_naked, is_noblock, is_OS_task, is_OS_task, sibcall_fails, attributes_checked_p, is_no_gccisr, use_L__stack_usage, gasisr.yes, gasisr.maybe>: Same. * config/avr/avr-protos.h (reg_unused_after) (test_hard_reg_class, jump_over_one_insn_p): Use bool as return type. * config/avr/avr.cc (reg_unused_after) (test_hard_reg_class, jump_over_one_insn_p): Same. (cfun->machine->attributes_checked_p, cum->has_stack_args) (cfun->machine->use_L__stack_usage, cfun->machine->gasisr.yes) (cfun->machine->sibcall_fails): Use like a bool.
-rw-r--r--gcc/config/avr/avr-protos.h6
-rw-r--r--gcc/config/avr/avr.cc28
-rw-r--r--gcc/config/avr/avr.h22
3 files changed, 28 insertions, 28 deletions
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index ae3cc62..d316e01 100644
--- a/gcc/config/avr/avr-protos.h
+++ b/gcc/config/avr/avr-protos.h
@@ -127,10 +127,10 @@ extern const char* avr_out_reload_inpsi (rtx*, rtx, int*);
extern const char* avr_out_lpm (rtx_insn *, rtx*, int*);
extern const char* avr_out_cmp_lsr (rtx_insn *, rtx*, int*);
extern void avr_maybe_cmp_lsr (rtx *);
-extern int reg_unused_after (rtx_insn *insn, rtx reg);
+extern bool reg_unused_after (rtx_insn *insn, rtx reg);
extern int avr_jump_mode (rtx x, rtx_insn *insn, int = 0);
-extern int test_hard_reg_class (enum reg_class rclass, rtx x);
-extern int jump_over_one_insn_p (rtx_insn *insn, rtx dest);
+extern bool test_hard_reg_class (enum reg_class rclass, rtx x);
+extern bool jump_over_one_insn_p (rtx_insn *insn, rtx dest);
extern void avr_final_prescan_insn (rtx_insn *insn, rtx *operand,
int num_operands);
diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index 8fab896..0a9d26a 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -920,7 +920,7 @@ avr_set_current_function (tree decl)
/* Don't print the above diagnostics more than once. */
- cfun->machine->attributes_checked_p = 1;
+ cfun->machine->attributes_checked_p = true;
}
@@ -973,7 +973,7 @@ static int
avr_regs_to_save (HARD_REG_SET *set)
{
int count = 0;
- int int_or_sig_p = cfun->machine->is_interrupt || cfun->machine->is_signal;
+ bool int_or_sig_p = cfun->machine->is_interrupt || cfun->machine->is_signal;
if (set)
CLEAR_HARD_REG_SET (*set);
@@ -1138,7 +1138,7 @@ avr_return_addr_rtx (int count, rtx tem)
else
r = gen_rtx_SYMBOL_REF (Pmode, ".L__stack_usage+1");
- cfun->machine->use_L__stack_usage = 1;
+ cfun->machine->use_L__stack_usage = true;
r = gen_rtx_PLUS (Pmode, tem, r);
r = gen_frame_mem (Pmode, memory_address (Pmode, r));
@@ -1637,7 +1637,7 @@ avr_expand_prologue (void)
ZERO_REG and TMP_REG and one additional, optional register for
us in an optimal way. This even scans through inline asm. */
- cfun->machine->gasisr.yes = 1;
+ cfun->machine->gasisr.yes = true;
// The optional reg or TMP_REG if we don't need one. If we need one,
// remove that reg from SET so that it's not puhed / popped twice.
@@ -2992,13 +2992,13 @@ avr_init_cumulative_args (CUMULATIVE_ARGS *cum, tree fntype, rtx libname,
{
cum->nregs = AVR_TINY ? 1 + REG_25 - REG_20 : 1 + REG_25 - REG_8;
cum->regno = FIRST_CUM_REG;
- cum->has_stack_args = 0;
+ cum->has_stack_args = false;
if (!libname && stdarg_p (fntype))
cum->nregs = 0;
/* Assume the calle may be tail called */
- cfun->machine->sibcall_fails = 0;
+ cfun->machine->sibcall_fails = false;
}
@@ -3031,7 +3031,7 @@ avr_function_arg (cumulative_args_t cum_v, const function_arg_info &arg)
if (cum->nregs && bytes <= cum->nregs)
return gen_rtx_REG (arg.mode, cum->regno - bytes);
- cum->has_stack_args = 1;
+ cum->has_stack_args = true;
return NULL_RTX;
}
@@ -3065,7 +3065,7 @@ avr_function_arg_advance (cumulative_args_t cum_v, const function_arg_info &arg)
pass &args_so_far, too. At present, CUMULATIVE_ARGS is target
dependent so that such an extension is not wanted. */
- cfun->machine->sibcall_fails = 1;
+ cfun->machine->sibcall_fails = true;
}
/* Test if all registers needed by the ABI are actually available. If the
@@ -3306,7 +3306,7 @@ _reg_unused_after (rtx_insn *insn, rtx reg, bool look_at_insn)
/* Return nonzero if register REG dead after INSN. */
-int
+bool
reg_unused_after (rtx_insn *insn, rtx reg)
{
return (dead_or_set_p (insn, reg)
@@ -13212,17 +13212,17 @@ avr_function_value (const_tree type, const_tree /*fn_decl_or_type*/,
return gen_rtx_REG (BLKmode, avr_ret_register () + 2 - offs);
}
-int
+bool
test_hard_reg_class (reg_class rclass, rtx x)
{
int regno = true_regnum (x);
if (regno < 0)
- return 0;
+ return false;
if (TEST_HARD_REG_CLASS (rclass, regno))
- return 1;
+ return true;
- return 0;
+ return false;
}
@@ -13276,7 +13276,7 @@ avr_2word_insn_p (rtx_insn *insn)
}
-int
+bool
jump_over_one_insn_p (rtx_insn *insn, rtx dest)
{
int uid = INSN_UID (GET_CODE (dest) == LABEL_REF
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index 3ef1897..df04622 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -340,7 +340,7 @@ typedef struct avr_args
/* Whether some of the arguments are passed on the stack,
and hence an arg pointer is needed. */
- int has_stack_args;
+ bool has_stack_args;
} CUMULATIVE_ARGS;
#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, FNDECL, N_NAMED_ARGS) \
@@ -553,7 +553,7 @@ extern const char *avr_no_devlib (int, const char**);
struct GTY(()) machine_function
{
/* 'true' - if current function is a naked function. */
- int is_naked;
+ bool is_naked;
/* 0 when no "interrupt" attribute is present.
1 when an "interrupt" attribute without arguments is present (and
@@ -571,45 +571,45 @@ struct GTY(()) machine_function
/* 'true' - if current function is a non-blocking interrupt service
routine as specified by the "isr_noblock" attribute. */
- int is_noblock;
+ bool is_noblock;
/* 'true' - if current function is a 'task' function
as specified by the "OS_task" attribute. */
- int is_OS_task;
+ bool is_OS_task;
/* 'true' - if current function is a 'main' function
as specified by the "OS_main" attribute. */
- int is_OS_main;
+ bool is_OS_main;
/* Current function stack size. */
int stack_usage;
/* 'true' if a callee might be tail called */
- int sibcall_fails;
+ bool sibcall_fails;
/* 'true' if the above is_foo predicates are sanity-checked to avoid
multiple diagnose for the same function. */
- int attributes_checked_p;
+ bool attributes_checked_p;
/* 'true' - if current function shall not use '__gcc_isr' pseudo
instructions as specified by the "no_gccisr" attribute. */
- int is_no_gccisr;
+ bool is_no_gccisr;
/* Used for `__gcc_isr' pseudo instruction handling of
non-naked ISR prologue / epilogue(s). */
struct
{
/* 'true' if this function actually uses "*gasisr" insns. */
- int yes;
+ bool yes;
/* 'true' if this function is allowed to use "*gasisr" insns. */
- int maybe;
+ bool maybe;
/* The register numer as printed by the Done chunk. */
int regno;
} gasisr;
/* 'true' if this function references .L__stack_usage like with
__builtin_return_address. */
- int use_L__stack_usage;
+ bool use_L__stack_usage;
};
/* AVR does not round pushes, but the existence of this macro is