From: Richard Biener <richard.guenther@gmail.com>
To: Patrick Palka <ppalka@redhat.com>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] don't declare header-defined functions both static and inline
Date: Tue, 31 Jan 2023 08:05:15 +0100 [thread overview]
Message-ID: <CAFiYyc35A3J8hV7k+YYcxefWuLm1PmDJ1NmXSxVrt3n=TTHGfw@mail.gmail.com> (raw)
In-Reply-To: <20230131033707.2597685-1-ppalka@redhat.com>
On Tue, Jan 31, 2023 at 4:39 AM Patrick Palka via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Many functions defined in our headers are declared 'static inline' which
> is a vestige from when GCC's implementation language was C. But in C++
> the inline keyword is more than just a compiler hint, and is sufficient
> to give the function the intended semantics. In fact declaring a
> (namespace-scope) function both static and inline is a pessimization
> since static effectively disables the intended definition merging
> behavior that inline provides, and is also a source of (harmless) ODR
> violations when a static inline function gets called from a non-static
> inline one (such as tree_operand_length being called from
> tree_operand_check).
>
> This patch mechanically fixes the vast majority of occurrences of this
> anti-pattern throughout the compiler's headers via the command line
>
> echo gcc/*.h gcc/*/*.h | xargs sed -i 's/^static inline/inline/g'
>
> Besides fixing the ODR violations, this speeds up stage1 cc1plus by
> about 2% and reduces the size of its text segment by 1.5MB.
>
> Bootstrapped and regtested on x86_64-pc-linux-gnu, would this be OK to
> push now or wait for stage1?
Speeding up and reducing the size of cc1plus improves on continued
regression in this area. So I'd vote +1 to do this now, let's see what others
think.
Richard.
> gcc/ChangeLog:
>
> * addresses.h: Mechanically drop 'static' from 'static inline'
> functions via s/^static inline/inline/g.
> * asan.h: Likewise.
> * attribs.h: Likewise.
> * basic-block.h: Likewise.
> * bitmap.h: Likewise.
> * cfghooks.h: Likewise.
> * cfgloop.h: Likewise.
> * cgraph.h: Likewise.
> * cselib.h: Likewise.
> * data-streamer.h: Likewise.
> * debug.h: Likewise.
> * df.h: Likewise.
> * diagnostic.h: Likewise.
> * dominance.h: Likewise.
> * dumpfile.h: Likewise.
> * emit-rtl.h: Likewise.
> * except.h: Likewise.
> * expmed.h: Likewise.
> * expr.h: Likewise.
> * fixed-value.h: Likewise.
> * gengtype.h: Likewise.
> * gimple-expr.h: Likewise.
> * gimple-iterator.h: Likewise.
> * gimple-predict.h: Likewise.
> * gimple-range-fold.h: Likewise.
> * gimple-ssa.h: Likewise.
> * gimple.h: Likewise.
> * graphite.h: Likewise.
> * hard-reg-set.h: Likewise.
> * hash-map.h: Likewise.
> * hash-set.h: Likewise.
> * hash-table.h: Likewise.
> * hwint.h: Likewise.
> * input.h: Likewise.
> * insn-addr.h: Likewise.
> * internal-fn.h: Likewise.
> * ipa-fnsummary.h: Likewise.
> * ipa-icf-gimple.h: Likewise.
> * ipa-inline.h: Likewise.
> * ipa-modref.h: Likewise.
> * ipa-prop.h: Likewise.
> * ira-int.h: Likewise.
> * ira.h: Likewise.
> * lra-int.h: Likewise.
> * lra.h: Likewise.
> * lto-streamer.h: Likewise.
> * memmodel.h: Likewise.
> * omp-general.h: Likewise.
> * optabs-query.h: Likewise.
> * optabs.h: Likewise.
> * plugin.h: Likewise.
> * pretty-print.h: Likewise.
> * range.h: Likewise.
> * read-md.h: Likewise.
> * recog.h: Likewise.
> * regs.h: Likewise.
> * rtl-iter.h: Likewise.
> * rtl.h: Likewise.
> * sbitmap.h: Likewise.
> * sched-int.h: Likewise.
> * sel-sched-ir.h: Likewise.
> * sese.h: Likewise.
> * sparseset.h: Likewise.
> * ssa-iterators.h: Likewise.
> * system.h: Likewise.
> * target-globals.h: Likewise.
> * target.h: Likewise.
> * timevar.h: Likewise.
> * tree-chrec.h: Likewise.
> * tree-data-ref.h: Likewise.
> * tree-iterator.h: Likewise.
> * tree-outof-ssa.h: Likewise.
> * tree-phinodes.h: Likewise.
> * tree-scalar-evolution.h: Likewise.
> * tree-sra.h: Likewise.
> * tree-ssa-alias.h: Likewise.
> * tree-ssa-live.h: Likewise.
> * tree-ssa-loop-manip.h: Likewise.
> * tree-ssa-loop.h: Likewise.
> * tree-ssa-operands.h: Likewise.
> * tree-ssa-propagate.h: Likewise.
> * tree-ssa-sccvn.h: Likewise.
> * tree-ssa.h: Likewise.
> * tree-ssanames.h: Likewise.
> * tree-streamer.h: Likewise.
> * tree-switch-conversion.h: Likewise.
> * tree-vectorizer.h: Likewise.
> * tree.h: Likewise.
> * wide-int.h: Likewise.
>
> gcc/c-family/ChangeLog:
>
> * c-common.h: Mechanically drop static from static inline
> functions via s/^static inline/inline/g.
>
> gcc/c/ChangeLog:
>
> * c-parser.h: Mechanically drop static from static inline
> functions via s/^static inline/inline/g.
>
> gcc/cp/ChangeLog:
>
> * cp-tree.h: Mechanically drop static from static inline
> functions via s/^static inline/inline/g.
>
> gcc/fortran/ChangeLog:
>
> * gfortran.h: Mechanically drop static from static inline
> functions via s/^static inline/inline/g.
>
> gcc/jit/ChangeLog:
>
> * jit-dejagnu.h: Mechanically drop static from static inline
> functions via s/^static inline/inline/g.
> * jit-recording.h: Likewise.
>
> gcc/objc/ChangeLog:
>
> * objc-act.h: Mechanically drop static from static inline
> functions via s/^static inline/inline/g.
> * objc-map.h: Likewise.
> ---
> gcc/addresses.h | 6 +-
> gcc/asan.h | 14 +-
> gcc/attribs.h | 16 +-
> gcc/basic-block.h | 54 +-
> gcc/bitmap.h | 20 +-
> gcc/c-family/c-common.h | 2 +-
> gcc/c/c-parser.h | 6 +-
> gcc/cfghooks.h | 2 +-
> gcc/cfgloop.h | 36 +-
> gcc/cgraph.h | 6 +-
> gcc/cp/cp-tree.h | 2 +-
> gcc/cselib.h | 4 +-
> gcc/data-streamer.h | 30 +-
> gcc/debug.h | 2 +-
> gcc/df.h | 26 +-
> gcc/diagnostic.h | 12 +-
> gcc/dominance.h | 2 +-
> gcc/dumpfile.h | 16 +-
> gcc/emit-rtl.h | 14 +-
> gcc/except.h | 2 +-
> gcc/expmed.h | 102 ++--
> gcc/expr.h | 14 +-
> gcc/fixed-value.h | 2 +-
> gcc/fortran/gfortran.h | 4 +-
> gcc/gengtype.h | 12 +-
> gcc/gimple-expr.h | 18 +-
> gcc/gimple-iterator.h | 48 +-
> gcc/gimple-predict.h | 10 +-
> gcc/gimple-range-fold.h | 6 +-
> gcc/gimple-ssa.h | 14 +-
> gcc/gimple.h | 1026 +++++++++++++++++-----------------
> gcc/graphite.h | 24 +-
> gcc/hard-reg-set.h | 18 +-
> gcc/hash-map.h | 8 +-
> gcc/hash-set.h | 6 +-
> gcc/hash-table.h | 6 +-
> gcc/hwint.h | 26 +-
> gcc/input.h | 12 +-
> gcc/insn-addr.h | 2 +-
> gcc/internal-fn.h | 6 +-
> gcc/ipa-fnsummary.h | 2 +-
> gcc/ipa-icf-gimple.h | 6 +-
> gcc/ipa-inline.h | 10 +-
> gcc/ipa-modref.h | 2 +-
> gcc/ipa-prop.h | 70 +--
> gcc/ira-int.h | 50 +-
> gcc/ira.h | 2 +-
> gcc/jit/jit-dejagnu.h | 16 +-
> gcc/jit/jit-recording.h | 2 +-
> gcc/lra-int.h | 14 +-
> gcc/lra.h | 2 +-
> gcc/lto-streamer.h | 54 +-
> gcc/memmodel.h | 18 +-
> gcc/objc/objc-act.h | 6 +-
> gcc/objc/objc-map.h | 12 +-
> gcc/omp-general.h | 2 +-
> gcc/optabs-query.h | 8 +-
> gcc/optabs.h | 14 +-
> gcc/plugin.h | 2 +-
> gcc/pretty-print.h | 10 +-
> gcc/range.h | 6 +-
> gcc/read-md.h | 4 +-
> gcc/recog.h | 8 +-
> gcc/regs.h | 22 +-
> gcc/rtl-iter.h | 2 +-
> gcc/rtl.h | 34 +-
> gcc/sbitmap.h | 16 +-
> gcc/sched-int.h | 8 +-
> gcc/sel-sched-ir.h | 48 +-
> gcc/sese.h | 30 +-
> gcc/sparseset.h | 22 +-
> gcc/ssa-iterators.h | 86 +--
> gcc/system.h | 6 +-
> gcc/target-globals.h | 2 +-
> gcc/target.h | 6 +-
> gcc/timevar.h | 4 +-
> gcc/tree-chrec.h | 22 +-
> gcc/tree-data-ref.h | 24 +-
> gcc/tree-iterator.h | 16 +-
> gcc/tree-outof-ssa.h | 4 +-
> gcc/tree-phinodes.h | 4 +-
> gcc/tree-scalar-evolution.h | 6 +-
> gcc/tree-sra.h | 2 +-
> gcc/tree-ssa-alias.h | 2 +-
> gcc/tree-ssa-live.h | 24 +-
> gcc/tree-ssa-loop-manip.h | 2 +-
> gcc/tree-ssa-loop.h | 2 +-
> gcc/tree-ssa-operands.h | 4 +-
> gcc/tree-ssa-propagate.h | 4 +-
> gcc/tree-ssa-sccvn.h | 10 +-
> gcc/tree-ssa.h | 12 +-
> gcc/tree-ssanames.h | 10 +-
> gcc/tree-streamer.h | 8 +-
> gcc/tree-switch-conversion.h | 2 +-
> gcc/tree-vectorizer.h | 64 +--
> gcc/tree.h | 88 +--
> gcc/wide-int.h | 2 +-
> 97 files changed, 1277 insertions(+), 1277 deletions(-)
>
> diff --git a/gcc/addresses.h b/gcc/addresses.h
> index 05a2401730d..3519c241c6d 100644
> --- a/gcc/addresses.h
> +++ b/gcc/addresses.h
> @@ -24,7 +24,7 @@ along with GCC; see the file COPYING3. If not see
> #ifndef GCC_ADDRESSES_H
> #define GCC_ADDRESSES_H
>
> -static inline enum reg_class
> +inline enum reg_class
> base_reg_class (machine_mode mode ATTRIBUTE_UNUSED,
> addr_space_t as ATTRIBUTE_UNUSED,
> enum rtx_code outer_code ATTRIBUTE_UNUSED,
> @@ -51,7 +51,7 @@ base_reg_class (machine_mode mode ATTRIBUTE_UNUSED,
> REGNO_OK_FOR_BASE_P.
> Arguments as for the REGNO_MODE_CODE_OK_FOR_BASE_P macro. */
>
> -static inline bool
> +inline bool
> ok_for_base_p_1 (unsigned regno ATTRIBUTE_UNUSED,
> machine_mode mode ATTRIBUTE_UNUSED,
> addr_space_t as ATTRIBUTE_UNUSED,
> @@ -77,7 +77,7 @@ ok_for_base_p_1 (unsigned regno ATTRIBUTE_UNUSED,
> /* Wrapper around ok_for_base_p_1, for use after register allocation is
> complete. Arguments as for the called function. */
>
> -static inline bool
> +inline bool
> regno_ok_for_base_p (unsigned regno, machine_mode mode, addr_space_t as,
> enum rtx_code outer_code, enum rtx_code index_code)
> {
> diff --git a/gcc/asan.h b/gcc/asan.h
> index 902e93b848a..f047bbc1040 100644
> --- a/gcc/asan.h
> +++ b/gcc/asan.h
> @@ -139,7 +139,7 @@ extern bool asan_mark_p (gimple *stmt, enum asan_mark_flags flag);
> /* Return the size of padding needed to insert after a protected
> decl of SIZE. */
>
> -static inline unsigned int
> +inline unsigned int
> asan_red_zone_size (unsigned int size)
> {
> unsigned int c = size & (ASAN_RED_ZONE_SIZE - 1);
> @@ -149,7 +149,7 @@ asan_red_zone_size (unsigned int size)
> /* Return how much a stack variable occupis on a stack
> including a space for red zone. */
>
> -static inline unsigned HOST_WIDE_INT
> +inline unsigned HOST_WIDE_INT
> asan_var_and_redzone_size (unsigned HOST_WIDE_INT size)
> {
> if (size <= 4)
> @@ -181,7 +181,7 @@ extern hash_set<tree> *asan_handled_variables;
> /* Return TRUE if builtin with given FCODE will be intercepted by
> libasan. */
>
> -static inline bool
> +inline bool
> asan_intercepted_p (enum built_in_function fcode)
> {
> if (hwasan_sanitize_p ())
> @@ -212,7 +212,7 @@ asan_intercepted_p (enum built_in_function fcode)
>
> /* Return TRUE if we should instrument for use-after-scope sanity checking. */
>
> -static inline bool
> +inline bool
> asan_sanitize_use_after_scope (void)
> {
> return (flag_sanitize_address_use_after_scope
> @@ -221,7 +221,7 @@ asan_sanitize_use_after_scope (void)
>
> /* Return true if DECL should be guarded on the stack. */
>
> -static inline bool
> +inline bool
> asan_protect_stack_decl (tree decl)
> {
> return DECL_P (decl)
> @@ -232,7 +232,7 @@ asan_protect_stack_decl (tree decl)
> /* Return true when flag_sanitize & FLAG is non-zero. If FN is non-null,
> remove all flags mentioned in "no_sanitize" of DECL_ATTRIBUTES. */
>
> -static inline bool
> +inline bool
> sanitize_flags_p (unsigned int flag, const_tree fn = current_function_decl)
> {
> unsigned int result_flags = flag_sanitize & flag;
> @@ -251,7 +251,7 @@ sanitize_flags_p (unsigned int flag, const_tree fn = current_function_decl)
>
> /* Return true when coverage sanitization should happend for FN function. */
>
> -static inline bool
> +inline bool
> sanitize_coverage_p (const_tree fn = current_function_decl)
> {
> return (flag_sanitize_coverage
> diff --git a/gcc/attribs.h b/gcc/attribs.h
> index 140e70b64e0..84a43658a70 100644
> --- a/gcc/attribs.h
> +++ b/gcc/attribs.h
> @@ -148,7 +148,7 @@ canonicalize_attr_name (const char *&s, T &l)
> /* For a given IDENTIFIER_NODE, strip leading and trailing '_' characters
> so that we have a canonical form of attribute names. */
>
> -static inline tree
> +inline tree
> canonicalize_attr_name (tree attr_name)
> {
> size_t l = IDENTIFIER_LENGTH (attr_name);
> @@ -163,7 +163,7 @@ canonicalize_attr_name (tree attr_name)
> /* Compare attribute identifiers ATTR1 and ATTR2 with length ATTR1_LEN and
> ATTR2_LEN. */
>
> -static inline bool
> +inline bool
> cmp_attribs (const char *attr1, size_t attr1_len,
> const char *attr2, size_t attr2_len)
> {
> @@ -172,7 +172,7 @@ cmp_attribs (const char *attr1, size_t attr1_len,
>
> /* Compare attribute identifiers ATTR1 and ATTR2. */
>
> -static inline bool
> +inline bool
> cmp_attribs (const char *attr1, const char *attr2)
> {
> return cmp_attribs (attr1, strlen (attr1), attr2, strlen (attr2));
> @@ -181,7 +181,7 @@ cmp_attribs (const char *attr1, const char *attr2)
> /* Given an identifier node IDENT and a string ATTR_NAME, return true
> if the identifier node is a valid attribute name for the string. */
>
> -static inline bool
> +inline bool
> is_attribute_p (const char *attr_name, const_tree ident)
> {
> return cmp_attribs (attr_name, strlen (attr_name),
> @@ -193,7 +193,7 @@ is_attribute_p (const char *attr_name, const_tree ident)
> for standard attribute (NULL get_attribute_namespace) or "gnu"
> namespace. */
>
> -static inline bool
> +inline bool
> is_attribute_namespace_p (const char *attr_ns, const_tree attr)
> {
> tree ident = get_attribute_namespace (attr);
> @@ -212,7 +212,7 @@ is_attribute_namespace_p (const char *attr_ns, const_tree attr)
> occurrences are wanted. ATTR_NAME must be in the form 'text' (not
> '__text__'). */
>
> -static inline tree
> +inline tree
> lookup_attribute (const char *attr_name, tree list)
> {
> if (CHECKING_P && attr_name[0] != '_')
> @@ -236,7 +236,7 @@ lookup_attribute (const char *attr_name, tree list)
> /* Similar to lookup_attribute, but also match the attribute namespace.
> ATTR_NS "" stands for either standard attribute or "gnu" namespace. */
>
> -static inline tree
> +inline tree
> lookup_attribute (const char *attr_ns, const char *attr_name, tree list)
> {
> if (CHECKING_P && attr_name[0] != '_')
> @@ -269,7 +269,7 @@ lookup_attribute (const char *attr_ns, const char *attr_name, tree list)
> starts with ATTR_NAME. ATTR_NAME must be in the form 'text' (not
> '__text__'). */
>
> -static inline tree
> +inline tree
> lookup_attribute_by_prefix (const char *attr_name, tree list)
> {
> gcc_checking_assert (attr_name[0] != '_');
> diff --git a/gcc/basic-block.h b/gcc/basic-block.h
> index 7c06a7db45d..29191e56720 100644
> --- a/gcc/basic-block.h
> +++ b/gcc/basic-block.h
> @@ -309,7 +309,7 @@ enum cfg_bb_flags
>
> /* Returns true if BB has precisely one successor. */
>
> -static inline bool
> +inline bool
> single_succ_p (const_basic_block bb)
> {
> return EDGE_COUNT (bb->succs) == 1;
> @@ -317,7 +317,7 @@ single_succ_p (const_basic_block bb)
>
> /* Returns true if BB has precisely one predecessor. */
>
> -static inline bool
> +inline bool
> single_pred_p (const_basic_block bb)
> {
> return EDGE_COUNT (bb->preds) == 1;
> @@ -326,7 +326,7 @@ single_pred_p (const_basic_block bb)
> /* Returns the single successor edge of basic block BB. Aborts if
> BB does not have exactly one successor. */
>
> -static inline edge
> +inline edge
> single_succ_edge (const_basic_block bb)
> {
> gcc_checking_assert (single_succ_p (bb));
> @@ -336,7 +336,7 @@ single_succ_edge (const_basic_block bb)
> /* Returns the single predecessor edge of basic block BB. Aborts
> if BB does not have exactly one predecessor. */
>
> -static inline edge
> +inline edge
> single_pred_edge (const_basic_block bb)
> {
> gcc_checking_assert (single_pred_p (bb));
> @@ -346,7 +346,7 @@ single_pred_edge (const_basic_block bb)
> /* Returns the single successor block of basic block BB. Aborts
> if BB does not have exactly one successor. */
>
> -static inline basic_block
> +inline basic_block
> single_succ (const_basic_block bb)
> {
> return single_succ_edge (bb)->dest;
> @@ -355,7 +355,7 @@ single_succ (const_basic_block bb)
> /* Returns the single predecessor block of basic block BB. Aborts
> if BB does not have exactly one predecessor.*/
>
> -static inline basic_block
> +inline basic_block
> single_pred (const_basic_block bb)
> {
> return single_pred_edge (bb)->src;
> @@ -368,7 +368,7 @@ struct edge_iterator {
> vec<edge, va_gc> **container;
> };
>
> -static inline vec<edge, va_gc> *
> +inline vec<edge, va_gc> *
> ei_container (edge_iterator i)
> {
> gcc_checking_assert (i.container);
> @@ -379,7 +379,7 @@ ei_container (edge_iterator i)
> #define ei_last(iter) ei_last_1 (&(iter))
>
> /* Return an iterator pointing to the start of an edge vector. */
> -static inline edge_iterator
> +inline edge_iterator
> ei_start_1 (vec<edge, va_gc> **ev)
> {
> edge_iterator i;
> @@ -392,7 +392,7 @@ ei_start_1 (vec<edge, va_gc> **ev)
>
> /* Return an iterator pointing to the last element of an edge
> vector. */
> -static inline edge_iterator
> +inline edge_iterator
> ei_last_1 (vec<edge, va_gc> **ev)
> {
> edge_iterator i;
> @@ -404,7 +404,7 @@ ei_last_1 (vec<edge, va_gc> **ev)
> }
>
> /* Is the iterator `i' at the end of the sequence? */
> -static inline bool
> +inline bool
> ei_end_p (edge_iterator i)
> {
> return (i.index == EDGE_COUNT (ei_container (i)));
> @@ -412,14 +412,14 @@ ei_end_p (edge_iterator i)
>
> /* Is the iterator `i' at one position before the end of the
> sequence? */
> -static inline bool
> +inline bool
> ei_one_before_end_p (edge_iterator i)
> {
> return (i.index + 1 == EDGE_COUNT (ei_container (i)));
> }
>
> /* Advance the iterator to the next element. */
> -static inline void
> +inline void
> ei_next (edge_iterator *i)
> {
> gcc_checking_assert (i->index < EDGE_COUNT (ei_container (*i)));
> @@ -427,7 +427,7 @@ ei_next (edge_iterator *i)
> }
>
> /* Move the iterator to the previous element. */
> -static inline void
> +inline void
> ei_prev (edge_iterator *i)
> {
> gcc_checking_assert (i->index > 0);
> @@ -435,7 +435,7 @@ ei_prev (edge_iterator *i)
> }
>
> /* Return the edge pointed to by the iterator `i'. */
> -static inline edge
> +inline edge
> ei_edge (edge_iterator i)
> {
> return EDGE_I (ei_container (i), i.index);
> @@ -444,7 +444,7 @@ ei_edge (edge_iterator i)
> /* Return an edge pointed to by the iterator. Do it safely so that
> NULL is returned when the iterator is pointing at the end of the
> sequence. */
> -static inline edge
> +inline edge
> ei_safe_edge (edge_iterator i)
> {
> return !ei_end_p (i) ? ei_edge (i) : NULL;
> @@ -454,7 +454,7 @@ ei_safe_edge (edge_iterator i)
> *Edge P is set to the next edge if we are to continue to iterate
> and NULL otherwise. */
>
> -static inline bool
> +inline bool
> ei_cond (edge_iterator ei, edge *p)
> {
> if (!ei_end_p (ei))
> @@ -505,14 +505,14 @@ ei_cond (edge_iterator ei, edge *p)
>
> /* Return true if BB is in a transaction. */
>
> -static inline bool
> +inline bool
> bb_in_transaction (basic_block bb)
> {
> return bb->flags & BB_IN_TRANSACTION;
> }
>
> /* Return true when one of the predecessor edges of BB is marked with EDGE_EH. */
> -static inline bool
> +inline bool
> bb_has_eh_pred (basic_block bb)
> {
> edge e;
> @@ -527,7 +527,7 @@ bb_has_eh_pred (basic_block bb)
> }
>
> /* Return true when one of the predecessor edges of BB is marked with EDGE_ABNORMAL. */
> -static inline bool
> +inline bool
> bb_has_abnormal_pred (basic_block bb)
> {
> edge e;
> @@ -542,7 +542,7 @@ bb_has_abnormal_pred (basic_block bb)
> }
>
> /* Return the fallthru edge in EDGES if it exists, NULL otherwise. */
> -static inline edge
> +inline edge
> find_fallthru_edge (vec<edge, va_gc> *edges)
> {
> edge e;
> @@ -557,7 +557,7 @@ find_fallthru_edge (vec<edge, va_gc> *edges)
>
> /* Check tha probability is sane. */
>
> -static inline void
> +inline void
> check_probability (int prob)
> {
> gcc_checking_assert (prob >= 0 && prob <= REG_BR_PROB_BASE);
> @@ -566,7 +566,7 @@ check_probability (int prob)
> /* Given PROB1 and PROB2, return PROB1*PROB2/REG_BR_PROB_BASE.
> Used to combine BB probabilities. */
>
> -static inline int
> +inline int
> combine_probabilities (int prob1, int prob2)
> {
> check_probability (prob1);
> @@ -578,7 +578,7 @@ combine_probabilities (int prob1, int prob2)
> interface when potentially scaling up, so that SCALE is not
> constrained to be < REG_BR_PROB_BASE. */
>
> -static inline gcov_type
> +inline gcov_type
> apply_scale (gcov_type freq, gcov_type scale)
> {
> return RDIV (freq * scale, REG_BR_PROB_BASE);
> @@ -586,7 +586,7 @@ apply_scale (gcov_type freq, gcov_type scale)
>
> /* Apply probability PROB on frequency or count FREQ. */
>
> -static inline gcov_type
> +inline gcov_type
> apply_probability (gcov_type freq, int prob)
> {
> check_probability (prob);
> @@ -595,7 +595,7 @@ apply_probability (gcov_type freq, int prob)
>
> /* Return inverse probability for PROB. */
>
> -static inline int
> +inline int
> inverse_probability (int prob1)
> {
> check_probability (prob1);
> @@ -604,7 +604,7 @@ inverse_probability (int prob1)
>
> /* Return true if BB has at least one abnormal outgoing edge. */
>
> -static inline bool
> +inline bool
> has_abnormal_or_eh_outgoing_edge_p (basic_block bb)
> {
> edge e;
> @@ -620,7 +620,7 @@ has_abnormal_or_eh_outgoing_edge_p (basic_block bb)
> /* Return true when one of the predecessor edges of BB is marked with
> EDGE_ABNORMAL_CALL or EDGE_EH. */
>
> -static inline bool
> +inline bool
> has_abnormal_call_or_eh_pred_edge_p (basic_block bb)
> {
> edge e;
> diff --git a/gcc/bitmap.h b/gcc/bitmap.h
> index a439f933867..43337d2e9d9 100644
> --- a/gcc/bitmap.h
> +++ b/gcc/bitmap.h
> @@ -461,7 +461,7 @@ extern void dump_bitmap_statistics (void);
> /* Initialize a bitmap header. OBSTACK indicates the bitmap obstack
> to allocate from, NULL for GC'd bitmap. */
>
> -static inline void
> +inline void
> bitmap_initialize (bitmap head, bitmap_obstack *obstack CXX_MEM_STAT_INFO)
> {
> head->first = head->current = NULL;
> @@ -476,7 +476,7 @@ bitmap_initialize (bitmap head, bitmap_obstack *obstack CXX_MEM_STAT_INFO)
> /* Release a bitmap (but not its head). This is suitable for pairing with
> bitmap_initialize. */
>
> -static inline void
> +inline void
> bitmap_release (bitmap head)
> {
> bitmap_clear (head);
> @@ -532,7 +532,7 @@ struct bitmap_iterator
> /* Initialize a single bitmap iterator. START_BIT is the first bit to
> iterate from. */
>
> -static inline void
> +inline void
> bmp_iter_set_init (bitmap_iterator *bi, const_bitmap map,
> unsigned start_bit, unsigned *bit_no)
> {
> @@ -576,7 +576,7 @@ bmp_iter_set_init (bitmap_iterator *bi, const_bitmap map,
> /* Initialize an iterator to iterate over the intersection of two
> bitmaps. START_BIT is the bit to commence from. */
>
> -static inline void
> +inline void
> bmp_iter_and_init (bitmap_iterator *bi, const_bitmap map1, const_bitmap map2,
> unsigned start_bit, unsigned *bit_no)
> {
> @@ -645,7 +645,7 @@ bmp_iter_and_init (bitmap_iterator *bi, const_bitmap map1, const_bitmap map2,
>
> /* Initialize an iterator to iterate over the bits in MAP1 & ~MAP2. */
>
> -static inline void
> +inline void
> bmp_iter_and_compl_init (bitmap_iterator *bi,
> const_bitmap map1, const_bitmap map2,
> unsigned start_bit, unsigned *bit_no)
> @@ -696,7 +696,7 @@ bmp_iter_and_compl_init (bitmap_iterator *bi,
> /* Advance to the next bit in BI. We don't advance to the next
> nonzero bit yet. */
>
> -static inline void
> +inline void
> bmp_iter_next (bitmap_iterator *bi, unsigned *bit_no)
> {
> bi->bits >>= 1;
> @@ -705,7 +705,7 @@ bmp_iter_next (bitmap_iterator *bi, unsigned *bit_no)
>
> /* Advance to first set bit in BI. */
>
> -static inline void
> +inline void
> bmp_iter_next_bit (bitmap_iterator * bi, unsigned *bit_no)
> {
> #if (GCC_VERSION >= 3004)
> @@ -728,7 +728,7 @@ bmp_iter_next_bit (bitmap_iterator * bi, unsigned *bit_no)
> already advanced past the just iterated bit. Return true if there
> is a bit to iterate. */
>
> -static inline bool
> +inline bool
> bmp_iter_set (bitmap_iterator *bi, unsigned *bit_no)
> {
> /* If our current word is nonzero, it contains the bit we want. */
> @@ -774,7 +774,7 @@ bmp_iter_set (bitmap_iterator *bi, unsigned *bit_no)
> bitmaps. We will have already advanced past the just iterated bit.
> Return true if there is a bit to iterate. */
>
> -static inline bool
> +inline bool
> bmp_iter_and (bitmap_iterator *bi, unsigned *bit_no)
> {
> /* If our current word is nonzero, it contains the bit we want. */
> @@ -843,7 +843,7 @@ bmp_iter_and (bitmap_iterator *bi, unsigned *bit_no)
> complemented bitmaps. We will have already advanced past the just
> iterated bit. */
>
> -static inline bool
> +inline bool
> bmp_iter_and_compl (bitmap_iterator *bi, unsigned *bit_no)
> {
> /* If our current word is nonzero, it contains the bit we want. */
> diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
> index bb6271d4a83..259c4a32d30 100644
> --- a/gcc/c-family/c-common.h
> +++ b/gcc/c-family/c-common.h
> @@ -1326,7 +1326,7 @@ extern const struct c_omp_directive *c_omp_categorize_directive (const char *,
> const char *);
>
> /* Return next tree in the chain for chain_next walking of tree nodes. */
> -static inline tree
> +inline tree
> c_tree_chain_next (tree t)
> {
> /* TREE_CHAIN of a type is TYPE_STUB_DECL, which is different
> diff --git a/gcc/c/c-parser.h b/gcc/c/c-parser.h
> index 56924c0d83e..545f0f4d9eb 100644
> --- a/gcc/c/c-parser.h
> +++ b/gcc/c/c-parser.h
> @@ -161,7 +161,7 @@ extern bool old_style_parameter_scope (void);
> /* Return true if the next token from PARSER has the indicated
> TYPE. */
>
> -static inline bool
> +inline bool
> c_parser_next_token_is (c_parser *parser, enum cpp_ttype type)
> {
> return c_parser_peek_token (parser)->type == type;
> @@ -170,7 +170,7 @@ c_parser_next_token_is (c_parser *parser, enum cpp_ttype type)
> /* Return true if the next token from PARSER does not have the
> indicated TYPE. */
>
> -static inline bool
> +inline bool
> c_parser_next_token_is_not (c_parser *parser, enum cpp_ttype type)
> {
> return !c_parser_next_token_is (parser, type);
> @@ -179,7 +179,7 @@ c_parser_next_token_is_not (c_parser *parser, enum cpp_ttype type)
> /* Return true if the next token from PARSER is the indicated
> KEYWORD. */
>
> -static inline bool
> +inline bool
> c_parser_next_token_is_keyword (c_parser *parser, enum rid keyword)
> {
> return c_parser_peek_token (parser)->keyword == keyword;
> diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
> index aebd080cf8b..7c87712c8d7 100644
> --- a/gcc/cfghooks.h
> +++ b/gcc/cfghooks.h
> @@ -206,7 +206,7 @@ extern void verify_flow_info (void);
> /* Check control flow invariants, if internal consistency checks are
> enabled. */
>
> -static inline void
> +inline void
> checking_verify_flow_info (void)
> {
> /* TODO: Add a separate option for -fchecking=cfg. */
> diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
> index e98ad06f9b5..e7ac2b5f3db 100644
> --- a/gcc/cfgloop.h
> +++ b/gcc/cfgloop.h
> @@ -280,21 +280,21 @@ public:
> #define LOOP_C_FINITE (1 << 1)
>
> /* Set C to the LOOP constraint. */
> -static inline void
> +inline void
> loop_constraint_set (class loop *loop, unsigned c)
> {
> loop->constraints |= c;
> }
>
> /* Clear C from the LOOP constraint. */
> -static inline void
> +inline void
> loop_constraint_clear (class loop *loop, unsigned c)
> {
> loop->constraints &= ~c;
> }
>
> /* Check if C is set in the LOOP constraint. */
> -static inline bool
> +inline bool
> loop_constraint_set_p (class loop *loop, unsigned c)
> {
> return (loop->constraints & c) == c;
> @@ -508,7 +508,7 @@ extern void iv_analysis_done (void);
> extern class niter_desc *get_simple_loop_desc (class loop *loop);
> extern void free_simple_loop_desc (class loop *loop);
>
> -static inline class niter_desc *
> +inline class niter_desc *
> simple_loop_desc (class loop *loop)
> {
> return loop->simple_loop_desc;
> @@ -518,7 +518,7 @@ simple_loop_desc (class loop *loop)
>
> /* Returns the loop with index NUM from FNs loop tree. */
>
> -static inline class loop *
> +inline class loop *
> get_loop (struct function *fn, unsigned num)
> {
> return (*loops_for_fn (fn)->larray)[num];
> @@ -526,7 +526,7 @@ get_loop (struct function *fn, unsigned num)
>
> /* Returns the number of superloops of LOOP. */
>
> -static inline unsigned
> +inline unsigned
> loop_depth (const class loop *loop)
> {
> return vec_safe_length (loop->superloops);
> @@ -535,7 +535,7 @@ loop_depth (const class loop *loop)
> /* Returns the immediate superloop of LOOP, or NULL if LOOP is the outermost
> loop. */
>
> -static inline class loop *
> +inline class loop *
> loop_outer (const class loop *loop)
> {
> unsigned n = vec_safe_length (loop->superloops);
> @@ -548,7 +548,7 @@ loop_outer (const class loop *loop)
>
> /* Returns true if LOOP has at least one exit edge. */
>
> -static inline bool
> +inline bool
> loop_has_exit_edges (const class loop *loop)
> {
> return loop->exits->next->e != NULL;
> @@ -569,7 +569,7 @@ get_loops (struct function *fn)
> /* Returns the number of loops in FN (including the removed
> ones and the fake loop that forms the root of the loop tree). */
>
> -static inline unsigned
> +inline unsigned
> number_of_loops (struct function *fn)
> {
> struct loops *loops = loops_for_fn (fn);
> @@ -582,13 +582,13 @@ number_of_loops (struct function *fn)
> /* Returns true if state of the loops satisfies all properties
> described by FLAGS. */
>
> -static inline bool
> +inline bool
> loops_state_satisfies_p (function *fn, unsigned flags)
> {
> return (loops_for_fn (fn)->state & flags) == flags;
> }
>
> -static inline bool
> +inline bool
> loops_state_satisfies_p (unsigned flags)
> {
> return loops_state_satisfies_p (cfun, flags);
> @@ -596,13 +596,13 @@ loops_state_satisfies_p (unsigned flags)
>
> /* Sets FLAGS to the loops state. */
>
> -static inline void
> +inline void
> loops_state_set (function *fn, unsigned flags)
> {
> loops_for_fn (fn)->state |= flags;
> }
>
> -static inline void
> +inline void
> loops_state_set (unsigned flags)
> {
> loops_state_set (cfun, flags);
> @@ -610,13 +610,13 @@ loops_state_set (unsigned flags)
>
> /* Clears FLAGS from the loops state. */
>
> -static inline void
> +inline void
> loops_state_clear (function *fn, unsigned flags)
> {
> loops_for_fn (fn)->state &= ~flags;
> }
>
> -static inline void
> +inline void
> loops_state_clear (unsigned flags)
> {
> if (!current_loops)
> @@ -627,7 +627,7 @@ loops_state_clear (unsigned flags)
> /* Check loop structure invariants, if internal consistency checks are
> enabled. */
>
> -static inline void
> +inline void
> checking_verify_loop_structure (void)
> {
> /* VERIFY_LOOP_STRUCTURE essentially asserts that no loops need fixups.
> @@ -897,7 +897,7 @@ extern void move_loop_invariants (void);
> extern auto_vec<basic_block> get_loop_hot_path (const class loop *loop);
>
> /* Returns the outermost loop of the loop nest that contains LOOP.*/
> -static inline class loop *
> +inline class loop *
> loop_outermost (class loop *loop)
> {
> unsigned n = vec_safe_length (loop->superloops);
> @@ -919,7 +919,7 @@ extern int bb_loop_depth (const_basic_block);
>
> /* Converts VAL to widest_int. */
>
> -static inline widest_int
> +inline widest_int
> gcov_type_to_wide_int (gcov_type val)
> {
> HOST_WIDE_INT a[2];
> diff --git a/gcc/cgraph.h b/gcc/cgraph.h
> index 5d3ced1b5d5..b5fc739f1b0 100644
> --- a/gcc/cgraph.h
> +++ b/gcc/cgraph.h
> @@ -2650,7 +2650,7 @@ symtab_node::real_symbol_p (void)
> /* Return true if DECL should have entry in symbol table if used.
> Those are functions and static & external variables. */
>
> -static inline bool
> +inline bool
> decl_in_symtab_p (const_tree decl)
> {
> return (TREE_CODE (decl) == FUNCTION_DECL
> @@ -3323,7 +3323,7 @@ cgraph_edge::frequency ()
>
>
> /* Return true if the TM_CLONE bit is set for a given FNDECL. */
> -static inline bool
> +inline bool
> decl_is_tm_clone (const_tree fndecl)
> {
> cgraph_node *n = cgraph_node::get (fndecl);
> @@ -3539,7 +3539,7 @@ ipa_polymorphic_call_context::useless_p () const
> the name documents the intent. We require that no GC can occur
> within the fprintf call. */
>
> -static inline const char *
> +inline const char *
> xstrdup_for_dump (const char *transient_str)
> {
> return ggc_strdup (transient_str);
> diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
> index 9f188724cf2..54997a1adf3 100644
> --- a/gcc/cp/cp-tree.h
> +++ b/gcc/cp/cp-tree.h
> @@ -4238,7 +4238,7 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter)
> /* We have an expression tree T that represents a call, either CALL_EXPR
> or AGGR_INIT_EXPR. Return a reference to the Nth argument. */
>
> -static inline tree&
> +inline tree&
> get_nth_callarg (tree t, int n)
> {
> switch (TREE_CODE (t))
> diff --git a/gcc/cselib.h b/gcc/cselib.h
> index 12e54a43d21..e2fa8e8c2c1 100644
> --- a/gcc/cselib.h
> +++ b/gcc/cselib.h
> @@ -113,7 +113,7 @@ extern void dump_cselib_table (FILE *);
> /* Return the canonical value for VAL, following the equivalence chain
> towards the earliest (== lowest uid) equivalent value. */
>
> -static inline cselib_val *
> +inline cselib_val *
> canonical_cselib_val (cselib_val *val)
> {
> cselib_val *canon;
> @@ -131,7 +131,7 @@ canonical_cselib_val (cselib_val *val)
> /* Return nonzero if we can prove that X and Y contain the same value, taking
> our gathered information into account. */
>
> -static inline int
> +inline int
> rtx_equal_for_cselib_p (rtx x, rtx y)
> {
> if (x == y)
> diff --git a/gcc/data-streamer.h b/gcc/data-streamer.h
> index c91c5ab75e8..d8c7e21dad9 100644
> --- a/gcc/data-streamer.h
> +++ b/gcc/data-streamer.h
> @@ -91,7 +91,7 @@ wide_int streamer_read_wide_int (class lto_input_block *);
> widest_int streamer_read_widest_int (class lto_input_block *);
>
> /* Returns a new bit-packing context for bit-packing into S. */
> -static inline struct bitpack_d
> +inline struct bitpack_d
> bitpack_create (struct lto_output_stream *s)
> {
> struct bitpack_d bp;
> @@ -102,7 +102,7 @@ bitpack_create (struct lto_output_stream *s)
> }
>
> /* Pack the NBITS bit sized value VAL into the bit-packing context BP. */
> -static inline void
> +inline void
> bp_pack_value (struct bitpack_d *bp, bitpack_word_t val, unsigned nbits)
> {
> bitpack_word_t word = bp->word;
> @@ -132,7 +132,7 @@ bp_pack_value (struct bitpack_d *bp, bitpack_word_t val, unsigned nbits)
>
> /* Pack VAL into the bit-packing context BP, using NBITS for each
> coefficient. */
> -static inline void
> +inline void
> bp_pack_poly_value (struct bitpack_d *bp,
> const poly_int<NUM_POLY_INT_COEFFS, bitpack_word_t> &val,
> unsigned nbits)
> @@ -142,7 +142,7 @@ bp_pack_poly_value (struct bitpack_d *bp,
> }
>
> /* Finishes bit-packing of BP. */
> -static inline void
> +inline void
> streamer_write_bitpack (struct bitpack_d *bp)
> {
> streamer_write_uhwi_stream ((struct lto_output_stream *) bp->stream,
> @@ -152,7 +152,7 @@ streamer_write_bitpack (struct bitpack_d *bp)
> }
>
> /* Returns a new bit-packing context for bit-unpacking from IB. */
> -static inline struct bitpack_d
> +inline struct bitpack_d
> streamer_read_bitpack (class lto_input_block *ib)
> {
> struct bitpack_d bp;
> @@ -163,7 +163,7 @@ streamer_read_bitpack (class lto_input_block *ib)
> }
>
> /* Unpacks NBITS bits from the bit-packing context BP and returns them. */
> -static inline bitpack_word_t
> +inline bitpack_word_t
> bp_unpack_value (struct bitpack_d *bp, unsigned nbits)
> {
> bitpack_word_t mask, val;
> @@ -191,7 +191,7 @@ bp_unpack_value (struct bitpack_d *bp, unsigned nbits)
>
> /* Unpacks a polynomial value from the bit-packing context BP in which each
> coefficient has NBITS bits. */
> -static inline poly_int<NUM_POLY_INT_COEFFS, bitpack_word_t>
> +inline poly_int<NUM_POLY_INT_COEFFS, bitpack_word_t>
> bp_unpack_poly_value (struct bitpack_d *bp, unsigned nbits)
> {
> poly_int_pod<NUM_POLY_INT_COEFFS, bitpack_word_t> x;
> @@ -203,7 +203,7 @@ bp_unpack_poly_value (struct bitpack_d *bp, unsigned nbits)
>
> /* Write a character to the output block. */
>
> -static inline void
> +inline void
> streamer_write_char_stream (struct lto_output_stream *obs, char c)
> {
> /* No space left. */
> @@ -221,7 +221,7 @@ streamer_write_char_stream (struct lto_output_stream *obs, char c)
>
> /* Read byte from the input block. */
>
> -static inline unsigned char
> +inline unsigned char
> streamer_read_uchar (class lto_input_block *ib)
> {
> if (ib->p >= ib->len)
> @@ -233,7 +233,7 @@ streamer_read_uchar (class lto_input_block *ib)
> to be compile time constant.
> Be host independent, limit range to 31bits. */
>
> -static inline void
> +inline void
> streamer_write_hwi_in_range (struct lto_output_stream *obs,
> HOST_WIDE_INT min,
> HOST_WIDE_INT max,
> @@ -251,7 +251,7 @@ streamer_write_hwi_in_range (struct lto_output_stream *obs,
> /* Input VAL into OBS and verify it is in range MIN...MAX that is supposed
> to be compile time constant. PURPOSE is used for error reporting. */
>
> -static inline HOST_WIDE_INT
> +inline HOST_WIDE_INT
> streamer_read_hwi_in_range (class lto_input_block *ib,
> const char *purpose,
> HOST_WIDE_INT min,
> @@ -272,7 +272,7 @@ streamer_read_hwi_in_range (class lto_input_block *ib,
> to be compile time constant.
> Be host independent, limit range to 31bits. */
>
> -static inline void
> +inline void
> bp_pack_int_in_range (struct bitpack_d *bp,
> HOST_WIDE_INT min,
> HOST_WIDE_INT max,
> @@ -291,7 +291,7 @@ bp_pack_int_in_range (struct bitpack_d *bp,
> /* Input VAL into BP and verify it is in range MIN...MAX that is supposed
> to be compile time constant. PURPOSE is used for error reporting. */
>
> -static inline HOST_WIDE_INT
> +inline HOST_WIDE_INT
> bp_unpack_int_in_range (struct bitpack_d *bp,
> const char *purpose,
> HOST_WIDE_INT min,
> @@ -332,7 +332,7 @@ bp_unpack_int_in_range (struct bitpack_d *bp,
>
> /* Output the start of a record with TAG to output block OB. */
>
> -static inline void
> +inline void
> streamer_write_record_start (struct output_block *ob, enum LTO_tags tag)
> {
> streamer_write_enum (ob->main_stream, LTO_tags, LTO_NUM_TAGS, tag);
> @@ -340,7 +340,7 @@ streamer_write_record_start (struct output_block *ob, enum LTO_tags tag)
>
> /* Return the next tag in the input block IB. */
>
> -static inline enum LTO_tags
> +inline enum LTO_tags
> streamer_read_record_start (class lto_input_block *ib)
> {
> return streamer_read_enum (ib, LTO_tags, LTO_NUM_TAGS);
> diff --git a/gcc/debug.h b/gcc/debug.h
> index 799d5e316a2..05512bce48c 100644
> --- a/gcc/debug.h
> +++ b/gcc/debug.h
> @@ -270,7 +270,7 @@ extern decl_to_instance_map_t *decl_to_instance_map;
> /* Allocate decl_to_instance_map with COUNT slots to begin wtih, if it
> * hasn't been allocated yet. */
>
> -static inline decl_to_instance_map_t *
> +inline decl_to_instance_map_t *
> maybe_create_decl_to_instance_map (int count = 13)
> {
> if (!decl_to_instance_map)
> diff --git a/gcc/df.h b/gcc/df.h
> index b2d1300f6d4..aec2223591a 100644
> --- a/gcc/df.h
> +++ b/gcc/df.h
> @@ -1097,7 +1097,7 @@ extern void df_scan_verify (void);
> Public functions access functions for the dataflow problems.
> ----------------------------------------------------------------------------*/
>
> -static inline struct df_scan_bb_info *
> +inline struct df_scan_bb_info *
> df_scan_get_bb_info (unsigned int index)
> {
> if (index < df_scan->block_info_size)
> @@ -1106,7 +1106,7 @@ df_scan_get_bb_info (unsigned int index)
> return NULL;
> }
>
> -static inline class df_rd_bb_info *
> +inline class df_rd_bb_info *
> df_rd_get_bb_info (unsigned int index)
> {
> if (index < df_rd->block_info_size)
> @@ -1115,7 +1115,7 @@ df_rd_get_bb_info (unsigned int index)
> return NULL;
> }
>
> -static inline class df_lr_bb_info *
> +inline class df_lr_bb_info *
> df_lr_get_bb_info (unsigned int index)
> {
> if (index < df_lr->block_info_size)
> @@ -1124,7 +1124,7 @@ df_lr_get_bb_info (unsigned int index)
> return NULL;
> }
>
> -static inline class df_md_bb_info *
> +inline class df_md_bb_info *
> df_md_get_bb_info (unsigned int index)
> {
> if (index < df_md->block_info_size)
> @@ -1133,7 +1133,7 @@ df_md_get_bb_info (unsigned int index)
> return NULL;
> }
>
> -static inline class df_live_bb_info *
> +inline class df_live_bb_info *
> df_live_get_bb_info (unsigned int index)
> {
> if (index < df_live->block_info_size)
> @@ -1142,7 +1142,7 @@ df_live_get_bb_info (unsigned int index)
> return NULL;
> }
>
> -static inline class df_word_lr_bb_info *
> +inline class df_word_lr_bb_info *
> df_word_lr_get_bb_info (unsigned int index)
> {
> if (index < df_word_lr->block_info_size)
> @@ -1151,7 +1151,7 @@ df_word_lr_get_bb_info (unsigned int index)
> return NULL;
> }
>
> -static inline class df_mir_bb_info *
> +inline class df_mir_bb_info *
> df_mir_get_bb_info (unsigned int index)
> {
> if (index < df_mir->block_info_size)
> @@ -1165,7 +1165,7 @@ df_mir_get_bb_info (unsigned int index)
> choose different dataflow problems depending on the optimization
> level. */
>
> -static inline bitmap
> +inline bitmap
> df_get_live_out (basic_block bb)
> {
> gcc_checking_assert (df_lr);
> @@ -1181,7 +1181,7 @@ df_get_live_out (basic_block bb)
> choose different dataflow problems depending on the optimization
> level. */
>
> -static inline bitmap
> +inline bitmap
> df_get_live_in (basic_block bb)
> {
> gcc_checking_assert (df_lr);
> @@ -1195,7 +1195,7 @@ df_get_live_in (basic_block bb)
> /* Get basic block info. */
> /* Get the artificial defs for a basic block. */
>
> -static inline df_ref
> +inline df_ref
> df_get_artificial_defs (unsigned int bb_index)
> {
> return df_scan_get_bb_info (bb_index)->artificial_defs;
> @@ -1204,7 +1204,7 @@ df_get_artificial_defs (unsigned int bb_index)
>
> /* Get the artificial uses for a basic block. */
>
> -static inline df_ref
> +inline df_ref
> df_get_artificial_uses (unsigned int bb_index)
> {
> return df_scan_get_bb_info (bb_index)->artificial_uses;
> @@ -1213,7 +1213,7 @@ df_get_artificial_uses (unsigned int bb_index)
> /* If INSN defines exactly one register, return the associated reference,
> otherwise return null. */
>
> -static inline df_ref
> +inline df_ref
> df_single_def (const df_insn_info *info)
> {
> df_ref defs = DF_INSN_INFO_DEFS (info);
> @@ -1223,7 +1223,7 @@ df_single_def (const df_insn_info *info)
> /* If INSN uses exactly one register, return the associated reference,
> otherwise return null. */
>
> -static inline df_ref
> +inline df_ref
> df_single_use (const df_insn_info *info)
> {
> df_ref uses = DF_INSN_INFO_USES (info);
> diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h
> index e20f6edfc81..e7390e49554 100644
> --- a/gcc/diagnostic.h
> +++ b/gcc/diagnostic.h
> @@ -416,7 +416,7 @@ struct diagnostic_context
> diagnostic_client_data_hooks *m_client_data_hooks;
> };
>
> -static inline void
> +inline void
> diagnostic_inhibit_notes (diagnostic_context * context)
> {
> context->inhibit_notes_p = true;
> @@ -474,7 +474,7 @@ extern diagnostic_context *global_dc;
> /* Override the option index to be used for reporting a
> diagnostic. */
>
> -static inline void
> +inline void
> diagnostic_override_option_index (diagnostic_info *info, int optidx)
> {
> info->option_index = optidx;
> @@ -546,7 +546,7 @@ int get_terminal_width (void);
> /* Return the location associated to this diagnostic. Parameter WHICH
> specifies which location. By default, expand the first one. */
>
> -static inline location_t
> +inline location_t
> diagnostic_location (const diagnostic_info * diagnostic, int which = 0)
> {
> return diagnostic->message.get_location (which);
> @@ -554,7 +554,7 @@ diagnostic_location (const diagnostic_info * diagnostic, int which = 0)
>
> /* Return the number of locations to be printed in DIAGNOSTIC. */
>
> -static inline unsigned int
> +inline unsigned int
> diagnostic_num_locations (const diagnostic_info * diagnostic)
> {
> return diagnostic->message.m_richloc->get_num_locations ();
> @@ -564,7 +564,7 @@ diagnostic_num_locations (const diagnostic_info * diagnostic)
> consistency. Parameter WHICH specifies which location. By default,
> expand the first one. */
>
> -static inline expanded_location
> +inline expanded_location
> diagnostic_expand_location (const diagnostic_info * diagnostic, int which = 0)
> {
> return diagnostic->richloc->get_expanded_location (which);
> @@ -579,7 +579,7 @@ const int CARET_LINE_MARGIN = 10;
> caret line. This is used to build a prefix and also to determine
> whether to print one or two caret lines. */
>
> -static inline bool
> +inline bool
> diagnostic_same_line (const diagnostic_context *context,
> expanded_location s1, expanded_location s2)
> {
> diff --git a/gcc/dominance.h b/gcc/dominance.h
> index 3c5a345f478..ddac0f58050 100644
> --- a/gcc/dominance.h
> +++ b/gcc/dominance.h
> @@ -69,7 +69,7 @@ extern void verify_dominators (enum cdi_direction);
> /* Verify invariants of computed dominance information, if internal consistency
> checks are enabled. */
>
> -static inline void
> +inline void
> checking_verify_dominators (cdi_direction dir)
> {
> if (flag_checking)
> diff --git a/gcc/dumpfile.h b/gcc/dumpfile.h
> index 5b97c5ca8b5..7d5eca899dc 100644
> --- a/gcc/dumpfile.h
> +++ b/gcc/dumpfile.h
> @@ -208,27 +208,27 @@ enum dump_flag : uint32_t
>
> typedef enum dump_flag dump_flags_t;
>
> -static inline dump_flags_t
> +inline dump_flags_t
> operator| (dump_flags_t lhs, dump_flags_t rhs)
> {
> return (dump_flags_t)((std::underlying_type<dump_flags_t>::type)lhs
> | (std::underlying_type<dump_flags_t>::type)rhs);
> }
>
> -static inline dump_flags_t
> +inline dump_flags_t
> operator& (dump_flags_t lhs, dump_flags_t rhs)
> {
> return (dump_flags_t)((std::underlying_type<dump_flags_t>::type)lhs
> & (std::underlying_type<dump_flags_t>::type)rhs);
> }
>
> -static inline dump_flags_t
> +inline dump_flags_t
> operator~ (dump_flags_t flags)
> {
> return (dump_flags_t)~((std::underlying_type<dump_flags_t>::type)flags);
> }
>
> -static inline dump_flags_t &
> +inline dump_flags_t &
> operator|= (dump_flags_t &lhs, dump_flags_t rhs)
> {
> lhs = (dump_flags_t)((std::underlying_type<dump_flags_t>::type)lhs
> @@ -236,7 +236,7 @@ operator|= (dump_flags_t &lhs, dump_flags_t rhs)
> return lhs;
> }
>
> -static inline dump_flags_t &
> +inline dump_flags_t &
> operator&= (dump_flags_t &lhs, dump_flags_t rhs)
> {
> lhs = (dump_flags_t)((std::underlying_type<dump_flags_t>::type)lhs
> @@ -276,14 +276,14 @@ enum optgroup_flag
>
> typedef enum optgroup_flag optgroup_flags_t;
>
> -static inline optgroup_flags_t
> +inline optgroup_flags_t
> operator| (optgroup_flags_t lhs, optgroup_flags_t rhs)
> {
> return (optgroup_flags_t)((std::underlying_type<dump_flags_t>::type)lhs
> | (std::underlying_type<dump_flags_t>::type)rhs);
> }
>
> -static inline optgroup_flags_t &
> +inline optgroup_flags_t &
> operator|= (optgroup_flags_t &lhs, optgroup_flags_t rhs)
> {
> lhs = (optgroup_flags_t)((std::underlying_type<dump_flags_t>::type)lhs
> @@ -528,7 +528,7 @@ extern bool dumps_are_enabled;
> extern void set_dump_file (FILE *new_dump_file);
>
> /* Return true if any of the dumps is enabled, false otherwise. */
> -static inline bool
> +inline bool
> dump_enabled_p (void)
> {
> return dumps_are_enabled;
> diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h
> index 483e0bb96ee..c472c736cb6 100644
> --- a/gcc/emit-rtl.h
> +++ b/gcc/emit-rtl.h
> @@ -400,7 +400,7 @@ extern bool need_atomic_barrier_p (enum memmodel, bool);
>
> /* Return the current sequence. */
>
> -static inline struct sequence_stack *
> +inline struct sequence_stack *
> get_current_sequence (void)
> {
> return &crtl->emit.seq;
> @@ -408,7 +408,7 @@ get_current_sequence (void)
>
> /* Return the outermost sequence. */
>
> -static inline struct sequence_stack *
> +inline struct sequence_stack *
> get_topmost_sequence (void)
> {
> struct sequence_stack *seq, *top;
> @@ -424,7 +424,7 @@ get_topmost_sequence (void)
>
> /* Return the first insn of the current sequence or current function. */
>
> -static inline rtx_insn *
> +inline rtx_insn *
> get_insns (void)
> {
> return get_current_sequence ()->first;
> @@ -432,7 +432,7 @@ get_insns (void)
>
> /* Specify a new insn as the first in the chain. */
>
> -static inline void
> +inline void
> set_first_insn (rtx_insn *insn)
> {
> gcc_checking_assert (!insn || !PREV_INSN (insn));
> @@ -441,7 +441,7 @@ set_first_insn (rtx_insn *insn)
>
> /* Return the last insn emitted in current sequence or current function. */
>
> -static inline rtx_insn *
> +inline rtx_insn *
> get_last_insn (void)
> {
> return get_current_sequence ()->last;
> @@ -449,7 +449,7 @@ get_last_insn (void)
>
> /* Specify a new insn as the last in the chain. */
>
> -static inline void
> +inline void
> set_last_insn (rtx_insn *insn)
> {
> gcc_checking_assert (!insn || !NEXT_INSN (insn));
> @@ -458,7 +458,7 @@ set_last_insn (rtx_insn *insn)
>
> /* Return a number larger than any instruction's uid in this function. */
>
> -static inline int
> +inline int
> get_max_uid (void)
> {
> return crtl->emit.x_cur_insn_uid;
> diff --git a/gcc/except.h b/gcc/except.h
> index 2b5c9feb705..5ecdbc0d1dc 100644
> --- a/gcc/except.h
> +++ b/gcc/except.h
> @@ -302,7 +302,7 @@ function_needs_eh_personality (struct function *);
>
> /* Pre-order iteration within the eh_region tree. */
>
> -static inline eh_region
> +inline eh_region
> ehr_next (eh_region r, eh_region start)
> {
> if (r->inner)
> diff --git a/gcc/expmed.h b/gcc/expmed.h
> index 0419e2dac85..c1aee00c616 100644
> --- a/gcc/expmed.h
> +++ b/gcc/expmed.h
> @@ -191,7 +191,7 @@ extern struct target_expmed *this_target_expmed;
>
> /* Return a pointer to the alg_hash_entry at IDX. */
>
> -static inline struct alg_hash_entry *
> +inline struct alg_hash_entry *
> alg_hash_entry_ptr (int idx)
> {
> return &this_target_expmed->x_alg_hash[idx];
> @@ -199,7 +199,7 @@ alg_hash_entry_ptr (int idx)
>
> /* Return true if the x_alg_hash field might have been used. */
>
> -static inline bool
> +inline bool
> alg_hash_used_p (void)
> {
> return this_target_expmed->x_alg_hash_used_p;
> @@ -207,7 +207,7 @@ alg_hash_used_p (void)
>
> /* Set whether the x_alg_hash field might have been used. */
>
> -static inline void
> +inline void
> set_alg_hash_used_p (bool usedp)
> {
> this_target_expmed->x_alg_hash_used_p = usedp;
> @@ -215,7 +215,7 @@ set_alg_hash_used_p (bool usedp)
>
> /* Compute an index into the cost arrays by mode class. */
>
> -static inline int
> +inline int
> expmed_mode_index (machine_mode mode)
> {
> switch (GET_MODE_CLASS (mode))
> @@ -244,7 +244,7 @@ expmed_mode_index (machine_mode mode)
> a particular operation performed in MODE is cheap when optimizing
> for SPEED. */
>
> -static inline bool *
> +inline bool *
> expmed_op_cheap_ptr (struct expmed_op_cheap *eoc, bool speed,
> machine_mode mode)
> {
> @@ -255,7 +255,7 @@ expmed_op_cheap_ptr (struct expmed_op_cheap *eoc, bool speed,
> /* Return a pointer to a cost contained in COSTS when a particular
> operation is performed in MODE when optimizing for SPEED. */
>
> -static inline int *
> +inline int *
> expmed_op_cost_ptr (struct expmed_op_costs *costs, bool speed,
> machine_mode mode)
> {
> @@ -265,7 +265,7 @@ expmed_op_cost_ptr (struct expmed_op_costs *costs, bool speed,
>
> /* Subroutine of {set_,}sdiv_pow2_cheap. Not to be used otherwise. */
>
> -static inline bool *
> +inline bool *
> sdiv_pow2_cheap_ptr (bool speed, machine_mode mode)
> {
> return expmed_op_cheap_ptr (&this_target_expmed->x_sdiv_pow2_cheap,
> @@ -275,7 +275,7 @@ sdiv_pow2_cheap_ptr (bool speed, machine_mode mode)
> /* Set whether a signed division by a power of 2 is cheap in MODE
> when optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_sdiv_pow2_cheap (bool speed, machine_mode mode, bool cheap_p)
> {
> *sdiv_pow2_cheap_ptr (speed, mode) = cheap_p;
> @@ -284,7 +284,7 @@ set_sdiv_pow2_cheap (bool speed, machine_mode mode, bool cheap_p)
> /* Return whether a signed division by a power of 2 is cheap in MODE
> when optimizing for SPEED. */
>
> -static inline bool
> +inline bool
> sdiv_pow2_cheap (bool speed, machine_mode mode)
> {
> return *sdiv_pow2_cheap_ptr (speed, mode);
> @@ -292,7 +292,7 @@ sdiv_pow2_cheap (bool speed, machine_mode mode)
>
> /* Subroutine of {set_,}smod_pow2_cheap. Not to be used otherwise. */
>
> -static inline bool *
> +inline bool *
> smod_pow2_cheap_ptr (bool speed, machine_mode mode)
> {
> return expmed_op_cheap_ptr (&this_target_expmed->x_smod_pow2_cheap,
> @@ -302,7 +302,7 @@ smod_pow2_cheap_ptr (bool speed, machine_mode mode)
> /* Set whether a signed modulo by a power of 2 is CHEAP in MODE when
> optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_smod_pow2_cheap (bool speed, machine_mode mode, bool cheap)
> {
> *smod_pow2_cheap_ptr (speed, mode) = cheap;
> @@ -311,7 +311,7 @@ set_smod_pow2_cheap (bool speed, machine_mode mode, bool cheap)
> /* Return whether a signed modulo by a power of 2 is cheap in MODE
> when optimizing for SPEED. */
>
> -static inline bool
> +inline bool
> smod_pow2_cheap (bool speed, machine_mode mode)
> {
> return *smod_pow2_cheap_ptr (speed, mode);
> @@ -319,7 +319,7 @@ smod_pow2_cheap (bool speed, machine_mode mode)
>
> /* Subroutine of {set_,}zero_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> zero_cost_ptr (bool speed)
> {
> return &this_target_expmed->x_zero_cost[speed];
> @@ -327,7 +327,7 @@ zero_cost_ptr (bool speed)
>
> /* Set the COST of loading zero when optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_zero_cost (bool speed, int cost)
> {
> *zero_cost_ptr (speed) = cost;
> @@ -335,7 +335,7 @@ set_zero_cost (bool speed, int cost)
>
> /* Return the COST of loading zero when optimizing for SPEED. */
>
> -static inline int
> +inline int
> zero_cost (bool speed)
> {
> return *zero_cost_ptr (speed);
> @@ -343,7 +343,7 @@ zero_cost (bool speed)
>
> /* Subroutine of {set_,}add_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> add_cost_ptr (bool speed, machine_mode mode)
> {
> return expmed_op_cost_ptr (&this_target_expmed->x_add_cost, speed, mode);
> @@ -351,7 +351,7 @@ add_cost_ptr (bool speed, machine_mode mode)
>
> /* Set the COST of computing an add in MODE when optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_add_cost (bool speed, machine_mode mode, int cost)
> {
> *add_cost_ptr (speed, mode) = cost;
> @@ -359,7 +359,7 @@ set_add_cost (bool speed, machine_mode mode, int cost)
>
> /* Return the cost of computing an add in MODE when optimizing for SPEED. */
>
> -static inline int
> +inline int
> add_cost (bool speed, machine_mode mode)
> {
> return *add_cost_ptr (speed, mode);
> @@ -367,7 +367,7 @@ add_cost (bool speed, machine_mode mode)
>
> /* Subroutine of {set_,}neg_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> neg_cost_ptr (bool speed, machine_mode mode)
> {
> return expmed_op_cost_ptr (&this_target_expmed->x_neg_cost, speed, mode);
> @@ -375,7 +375,7 @@ neg_cost_ptr (bool speed, machine_mode mode)
>
> /* Set the COST of computing a negation in MODE when optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_neg_cost (bool speed, machine_mode mode, int cost)
> {
> *neg_cost_ptr (speed, mode) = cost;
> @@ -384,7 +384,7 @@ set_neg_cost (bool speed, machine_mode mode, int cost)
> /* Return the cost of computing a negation in MODE when optimizing for
> SPEED. */
>
> -static inline int
> +inline int
> neg_cost (bool speed, machine_mode mode)
> {
> return *neg_cost_ptr (speed, mode);
> @@ -392,7 +392,7 @@ neg_cost (bool speed, machine_mode mode)
>
> /* Subroutine of {set_,}shift_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> shift_cost_ptr (bool speed, machine_mode mode, int bits)
> {
> return expmed_op_cost_ptr (&this_target_expmed->x_shift_cost[bits],
> @@ -401,7 +401,7 @@ shift_cost_ptr (bool speed, machine_mode mode, int bits)
>
> /* Set the COST of doing a shift in MODE by BITS when optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_shift_cost (bool speed, machine_mode mode, int bits, int cost)
> {
> *shift_cost_ptr (speed, mode, bits) = cost;
> @@ -410,7 +410,7 @@ set_shift_cost (bool speed, machine_mode mode, int bits, int cost)
> /* Return the cost of doing a shift in MODE by BITS when optimizing for
> SPEED. */
>
> -static inline int
> +inline int
> shift_cost (bool speed, machine_mode mode, int bits)
> {
> return *shift_cost_ptr (speed, mode, bits);
> @@ -418,7 +418,7 @@ shift_cost (bool speed, machine_mode mode, int bits)
>
> /* Subroutine of {set_,}shiftadd_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> shiftadd_cost_ptr (bool speed, machine_mode mode, int bits)
> {
> return expmed_op_cost_ptr (&this_target_expmed->x_shiftadd_cost[bits],
> @@ -428,7 +428,7 @@ shiftadd_cost_ptr (bool speed, machine_mode mode, int bits)
> /* Set the COST of doing a shift in MODE by BITS followed by an add when
> optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_shiftadd_cost (bool speed, machine_mode mode, int bits, int cost)
> {
> *shiftadd_cost_ptr (speed, mode, bits) = cost;
> @@ -437,7 +437,7 @@ set_shiftadd_cost (bool speed, machine_mode mode, int bits, int cost)
> /* Return the cost of doing a shift in MODE by BITS followed by an add
> when optimizing for SPEED. */
>
> -static inline int
> +inline int
> shiftadd_cost (bool speed, machine_mode mode, int bits)
> {
> return *shiftadd_cost_ptr (speed, mode, bits);
> @@ -445,7 +445,7 @@ shiftadd_cost (bool speed, machine_mode mode, int bits)
>
> /* Subroutine of {set_,}shiftsub0_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> shiftsub0_cost_ptr (bool speed, machine_mode mode, int bits)
> {
> return expmed_op_cost_ptr (&this_target_expmed->x_shiftsub0_cost[bits],
> @@ -455,7 +455,7 @@ shiftsub0_cost_ptr (bool speed, machine_mode mode, int bits)
> /* Set the COST of doing a shift in MODE by BITS and then subtracting a
> value when optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_shiftsub0_cost (bool speed, machine_mode mode, int bits, int cost)
> {
> *shiftsub0_cost_ptr (speed, mode, bits) = cost;
> @@ -464,7 +464,7 @@ set_shiftsub0_cost (bool speed, machine_mode mode, int bits, int cost)
> /* Return the cost of doing a shift in MODE by BITS and then subtracting
> a value when optimizing for SPEED. */
>
> -static inline int
> +inline int
> shiftsub0_cost (bool speed, machine_mode mode, int bits)
> {
> return *shiftsub0_cost_ptr (speed, mode, bits);
> @@ -472,7 +472,7 @@ shiftsub0_cost (bool speed, machine_mode mode, int bits)
>
> /* Subroutine of {set_,}shiftsub1_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> shiftsub1_cost_ptr (bool speed, machine_mode mode, int bits)
> {
> return expmed_op_cost_ptr (&this_target_expmed->x_shiftsub1_cost[bits],
> @@ -482,7 +482,7 @@ shiftsub1_cost_ptr (bool speed, machine_mode mode, int bits)
> /* Set the COST of subtracting a shift in MODE by BITS from a value when
> optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_shiftsub1_cost (bool speed, machine_mode mode, int bits, int cost)
> {
> *shiftsub1_cost_ptr (speed, mode, bits) = cost;
> @@ -491,7 +491,7 @@ set_shiftsub1_cost (bool speed, machine_mode mode, int bits, int cost)
> /* Return the cost of subtracting a shift in MODE by BITS from a value
> when optimizing for SPEED. */
>
> -static inline int
> +inline int
> shiftsub1_cost (bool speed, machine_mode mode, int bits)
> {
> return *shiftsub1_cost_ptr (speed, mode, bits);
> @@ -499,7 +499,7 @@ shiftsub1_cost (bool speed, machine_mode mode, int bits)
>
> /* Subroutine of {set_,}mul_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> mul_cost_ptr (bool speed, machine_mode mode)
> {
> return expmed_op_cost_ptr (&this_target_expmed->x_mul_cost, speed, mode);
> @@ -508,7 +508,7 @@ mul_cost_ptr (bool speed, machine_mode mode)
> /* Set the COST of doing a multiplication in MODE when optimizing for
> SPEED. */
>
> -static inline void
> +inline void
> set_mul_cost (bool speed, machine_mode mode, int cost)
> {
> *mul_cost_ptr (speed, mode) = cost;
> @@ -517,7 +517,7 @@ set_mul_cost (bool speed, machine_mode mode, int cost)
> /* Return the cost of doing a multiplication in MODE when optimizing
> for SPEED. */
>
> -static inline int
> +inline int
> mul_cost (bool speed, machine_mode mode)
> {
> return *mul_cost_ptr (speed, mode);
> @@ -525,7 +525,7 @@ mul_cost (bool speed, machine_mode mode)
>
> /* Subroutine of {set_,}sdiv_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> sdiv_cost_ptr (bool speed, machine_mode mode)
> {
> return expmed_op_cost_ptr (&this_target_expmed->x_sdiv_cost, speed, mode);
> @@ -534,7 +534,7 @@ sdiv_cost_ptr (bool speed, machine_mode mode)
> /* Set the COST of doing a signed division in MODE when optimizing
> for SPEED. */
>
> -static inline void
> +inline void
> set_sdiv_cost (bool speed, machine_mode mode, int cost)
> {
> *sdiv_cost_ptr (speed, mode) = cost;
> @@ -543,7 +543,7 @@ set_sdiv_cost (bool speed, machine_mode mode, int cost)
> /* Return the cost of doing a signed division in MODE when optimizing
> for SPEED. */
>
> -static inline int
> +inline int
> sdiv_cost (bool speed, machine_mode mode)
> {
> return *sdiv_cost_ptr (speed, mode);
> @@ -551,7 +551,7 @@ sdiv_cost (bool speed, machine_mode mode)
>
> /* Subroutine of {set_,}udiv_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> udiv_cost_ptr (bool speed, machine_mode mode)
> {
> return expmed_op_cost_ptr (&this_target_expmed->x_udiv_cost, speed, mode);
> @@ -560,7 +560,7 @@ udiv_cost_ptr (bool speed, machine_mode mode)
> /* Set the COST of doing an unsigned division in MODE when optimizing
> for SPEED. */
>
> -static inline void
> +inline void
> set_udiv_cost (bool speed, machine_mode mode, int cost)
> {
> *udiv_cost_ptr (speed, mode) = cost;
> @@ -569,7 +569,7 @@ set_udiv_cost (bool speed, machine_mode mode, int cost)
> /* Return the cost of doing an unsigned division in MODE when
> optimizing for SPEED. */
>
> -static inline int
> +inline int
> udiv_cost (bool speed, machine_mode mode)
> {
> return *udiv_cost_ptr (speed, mode);
> @@ -577,7 +577,7 @@ udiv_cost (bool speed, machine_mode mode)
>
> /* Subroutine of {set_,}mul_widen_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> mul_widen_cost_ptr (bool speed, machine_mode mode)
> {
> gcc_assert (GET_MODE_CLASS (mode) == MODE_INT);
> @@ -588,7 +588,7 @@ mul_widen_cost_ptr (bool speed, machine_mode mode)
> /* Set the COST for computing a widening multiplication in MODE when
> optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_mul_widen_cost (bool speed, machine_mode mode, int cost)
> {
> *mul_widen_cost_ptr (speed, mode) = cost;
> @@ -597,7 +597,7 @@ set_mul_widen_cost (bool speed, machine_mode mode, int cost)
> /* Return the cost for computing a widening multiplication in MODE when
> optimizing for SPEED. */
>
> -static inline int
> +inline int
> mul_widen_cost (bool speed, machine_mode mode)
> {
> return *mul_widen_cost_ptr (speed, mode);
> @@ -605,7 +605,7 @@ mul_widen_cost (bool speed, machine_mode mode)
>
> /* Subroutine of {set_,}mul_highpart_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> mul_highpart_cost_ptr (bool speed, machine_mode mode)
> {
> gcc_assert (GET_MODE_CLASS (mode) == MODE_INT);
> @@ -618,7 +618,7 @@ mul_highpart_cost_ptr (bool speed, machine_mode mode)
> /* Set the COST for computing the high part of a multiplication in MODE
> when optimizing for SPEED. */
>
> -static inline void
> +inline void
> set_mul_highpart_cost (bool speed, machine_mode mode, int cost)
> {
> *mul_highpart_cost_ptr (speed, mode) = cost;
> @@ -627,7 +627,7 @@ set_mul_highpart_cost (bool speed, machine_mode mode, int cost)
> /* Return the cost for computing the high part of a multiplication in MODE
> when optimizing for SPEED. */
>
> -static inline int
> +inline int
> mul_highpart_cost (bool speed, machine_mode mode)
> {
> return *mul_highpart_cost_ptr (speed, mode);
> @@ -635,7 +635,7 @@ mul_highpart_cost (bool speed, machine_mode mode)
>
> /* Subroutine of {set_,}convert_cost. Not to be used otherwise. */
>
> -static inline int *
> +inline int *
> convert_cost_ptr (machine_mode to_mode, machine_mode from_mode,
> bool speed)
> {
> @@ -651,7 +651,7 @@ convert_cost_ptr (machine_mode to_mode, machine_mode from_mode,
> /* Set the COST for converting from FROM_MODE to TO_MODE when optimizing
> for SPEED. */
>
> -static inline void
> +inline void
> set_convert_cost (machine_mode to_mode, machine_mode from_mode,
> bool speed, int cost)
> {
> @@ -661,7 +661,7 @@ set_convert_cost (machine_mode to_mode, machine_mode from_mode,
> /* Return the cost for converting from FROM_MODE to TO_MODE when optimizing
> for SPEED. */
>
> -static inline int
> +inline int
> convert_cost (machine_mode to_mode, machine_mode from_mode,
> bool speed)
> {
> diff --git a/gcc/expr.h b/gcc/expr.h
> index e3ba9eb5370..0c059ed9023 100644
> --- a/gcc/expr.h
> +++ b/gcc/expr.h
> @@ -84,19 +84,19 @@ extern rtx convert_wider_int_to_float (machine_mode mode, machine_mode imode,
> extern rtx emit_block_op_via_libcall (enum built_in_function, rtx, rtx, rtx,
> bool);
>
> -static inline rtx
> +inline rtx
> emit_block_copy_via_libcall (rtx dst, rtx src, rtx size, bool tailcall = false)
> {
> return emit_block_op_via_libcall (BUILT_IN_MEMCPY, dst, src, size, tailcall);
> }
>
> -static inline rtx
> +inline rtx
> emit_block_move_via_libcall (rtx dst, rtx src, rtx size, bool tailcall = false)
> {
> return emit_block_op_via_libcall (BUILT_IN_MEMMOVE, dst, src, size, tailcall);
> }
>
> -static inline rtx
> +inline rtx
> emit_block_comp_via_libcall (rtx dst, rtx src, rtx size, bool tailcall = false)
> {
> return emit_block_op_via_libcall (BUILT_IN_MEMCMP, dst, src, size, tailcall);
> @@ -178,14 +178,14 @@ extern void clobber_reg_mode (rtx *, rtx, machine_mode);
> extern rtx copy_blkmode_to_reg (machine_mode, tree);
>
> /* Mark REG as holding a parameter for the next CALL_INSN. */
> -static inline void
> +inline void
> use_reg (rtx *fusage, rtx reg)
> {
> use_reg_mode (fusage, reg, VOIDmode);
> }
>
> /* Mark REG as clobbered by the call with FUSAGE as CALL_INSN_FUNCTION_USAGE. */
> -static inline void
> +inline void
> clobber_reg (rtx *fusage, rtx reg)
> {
> clobber_reg_mode (fusage, reg, VOIDmode);
> @@ -303,14 +303,14 @@ extern rtx expand_expr_real_2 (sepops, rtx, machine_mode,
> /* Generate code for computing expression EXP.
> An rtx for the computed value is returned. The value is never null.
> In the case of a void EXP, const0_rtx is returned. */
> -static inline rtx
> +inline rtx
> expand_expr (tree exp, rtx target, machine_mode mode,
> enum expand_modifier modifier)
> {
> return expand_expr_real (exp, target, mode, modifier, NULL, false);
> }
>
> -static inline rtx
> +inline rtx
> expand_normal (tree exp)
> {
> return expand_expr_real (exp, NULL_RTX, VOIDmode, EXPAND_NORMAL, NULL, false);
> diff --git a/gcc/fixed-value.h b/gcc/fixed-value.h
> index f16e41a32fa..8d1002ac6f0 100644
> --- a/gcc/fixed-value.h
> +++ b/gcc/fixed-value.h
> @@ -51,7 +51,7 @@ extern FIXED_VALUE_TYPE fixed_from_double_int (double_int, scalar_mode);
>
> /* Return a CONST_FIXED from a bit payload and machine mode MODE.
> The bits in PAYLOAD are sign-extended/zero-extended according to MODE. */
> -static inline rtx
> +inline rtx
> const_fixed_from_double_int (double_int payload,
> scalar_mode mode)
> {
> diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
> index 9884a55882b..2fd15004534 100644
> --- a/gcc/fortran/gfortran.h
> +++ b/gcc/fortran/gfortran.h
> @@ -3273,7 +3273,7 @@ void gfc_done_2 (void);
> int get_c_kind (const char *, CInteropKind_t *);
>
> const char *gfc_closest_fuzzy_match (const char *, char **);
> -static inline void
> +inline void
> vec_push (char **&optr, size_t &osz, const char *elt)
> {
> /* {auto,}vec.safe_push () replacement. Don't ask.. */
> @@ -3549,7 +3549,7 @@ void gfc_intrinsic_done_1 (void);
>
> char gfc_type_letter (bt, bool logical_equals_int = false);
> int gfc_type_abi_kind (bt, int);
> -static inline int
> +inline int
> gfc_type_abi_kind (gfc_typespec *ts)
> {
> return gfc_type_abi_kind (ts->type, ts->kind);
> diff --git a/gcc/gengtype.h b/gcc/gengtype.h
> index 03264feb623..4e5df544fbf 100644
> --- a/gcc/gengtype.h
> +++ b/gcc/gengtype.h
> @@ -77,7 +77,7 @@ input_file* input_file_by_name (const char* name);
> const char *get_file_srcdir_relative_path (const input_file *inpf);
>
> /* Get the name of an input file. */
> -static inline const char*
> +inline const char*
> get_input_file_name (const input_file *inpf)
> {
> if (inpf)
> @@ -94,7 +94,7 @@ get_input_file_name (const input_file *inpf)
> some GC roots may be missed, which is a much harder-to-debug problem.
> */
>
> -static inline lang_bitmap
> +inline lang_bitmap
> get_lang_bitmap (const input_file* inpf)
> {
> if (inpf == NULL)
> @@ -104,7 +104,7 @@ get_lang_bitmap (const input_file* inpf)
>
> /* Set the bitmap returned by get_lang_bitmap. The only legitimate
> callers of this function are read_input_list & read_state_*. */
> -static inline void
> +inline void
> set_lang_bitmap (input_file* inpf, lang_bitmap n)
> {
> gcc_assert (inpf);
> @@ -346,7 +346,7 @@ extern struct type callback_type;
>
> /* Test if a type is a union or a structure, perhaps a language
> specific one. */
> -static inline bool
> +inline bool
> union_or_struct_p (enum typekind kind)
> {
> return (kind == TYPE_UNION
> @@ -355,14 +355,14 @@ union_or_struct_p (enum typekind kind)
> || kind == TYPE_USER_STRUCT);
> }
>
> -static inline bool
> +inline bool
> union_or_struct_p (const_type_p x)
> {
> return union_or_struct_p (x->kind);
> }
>
> /* Give the file location of a type, if any. */
> -static inline struct fileloc*
> +inline struct fileloc*
> type_fileloc (type_p t)
> {
> if (!t)
> diff --git a/gcc/gimple-expr.h b/gcc/gimple-expr.h
> index 42a16764be9..e89f7e20fc8 100644
> --- a/gcc/gimple-expr.h
> +++ b/gcc/gimple-expr.h
> @@ -60,7 +60,7 @@ extern tree canonicalize_cond_expr_cond (tree);
> /* Return true if a conversion from either type of TYPE1 and TYPE2
> to the other is not required. Otherwise return false. */
>
> -static inline bool
> +inline bool
> types_compatible_p (tree type1, tree type2)
> {
> return (type1 == type2
> @@ -70,7 +70,7 @@ types_compatible_p (tree type1, tree type2)
>
> /* Return true if TYPE is a suitable type for a scalar register variable. */
>
> -static inline bool
> +inline bool
> is_gimple_reg_type (tree type)
> {
> return !AGGREGATE_TYPE_P (type);
> @@ -78,7 +78,7 @@ is_gimple_reg_type (tree type)
>
> /* Return true if T is a variable. */
>
> -static inline bool
> +inline bool
> is_gimple_variable (tree t)
> {
> return (TREE_CODE (t) == VAR_DECL
> @@ -89,7 +89,7 @@ is_gimple_variable (tree t)
>
> /* Return true if T is a GIMPLE identifier (something with an address). */
>
> -static inline bool
> +inline bool
> is_gimple_id (tree t)
> {
> return (is_gimple_variable (t)
> @@ -102,7 +102,7 @@ is_gimple_id (tree t)
>
> /* Return true if OP, an SSA name or a DECL is a virtual operand. */
>
> -static inline bool
> +inline bool
> virtual_operand_p (tree op)
> {
> if (TREE_CODE (op) == SSA_NAME)
> @@ -116,7 +116,7 @@ virtual_operand_p (tree op)
>
> /* Return true if T is something whose address can be taken. */
>
> -static inline bool
> +inline bool
> is_gimple_addressable (tree t)
> {
> return (is_gimple_id (t) || handled_component_p (t)
> @@ -126,7 +126,7 @@ is_gimple_addressable (tree t)
>
> /* Return true if T is a valid gimple constant. */
>
> -static inline bool
> +inline bool
> is_gimple_constant (const_tree t)
> {
> switch (TREE_CODE (t))
> @@ -148,7 +148,7 @@ is_gimple_constant (const_tree t)
> /* A wrapper around extract_ops_from_tree with 3 ops, for callers which
> expect to see only a maximum of two operands. */
>
> -static inline void
> +inline void
> extract_ops_from_tree (tree expr, enum tree_code *code, tree *op0,
> tree *op1)
> {
> @@ -160,7 +160,7 @@ extract_ops_from_tree (tree expr, enum tree_code *code, tree *op0,
> /* Given a valid GIMPLE_CALL function address return the FUNCTION_DECL
> associated with the callee if known. Otherwise return NULL_TREE. */
>
> -static inline tree
> +inline tree
> gimple_call_addr_fndecl (const_tree fn)
> {
> if (fn && TREE_CODE (fn) == ADDR_EXPR)
> diff --git a/gcc/gimple-iterator.h b/gcc/gimple-iterator.h
> index 8857a7e94bc..38352aa95af 100644
> --- a/gcc/gimple-iterator.h
> +++ b/gcc/gimple-iterator.h
> @@ -95,7 +95,7 @@ extern void update_modified_stmts (gimple_seq);
>
> /* Return a new iterator pointing to GIMPLE_SEQ's first statement. */
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_start (gimple_seq &seq)
> {
> gimple_stmt_iterator i;
> @@ -107,7 +107,7 @@ gsi_start (gimple_seq &seq)
> return i;
> }
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_none (void)
> {
> gimple_stmt_iterator i;
> @@ -119,7 +119,7 @@ gsi_none (void)
>
> /* Return a new iterator pointing to the first statement in basic block BB. */
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_start_bb (basic_block bb)
> {
> gimple_stmt_iterator i;
> @@ -137,7 +137,7 @@ gimple_stmt_iterator gsi_start_edge (edge e);
>
> /* Return a new iterator initially pointing to GIMPLE_SEQ's last statement. */
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_last (gimple_seq &seq)
> {
> gimple_stmt_iterator i;
> @@ -151,7 +151,7 @@ gsi_last (gimple_seq &seq)
>
> /* Return a new iterator pointing to the last statement in basic block BB. */
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_last_bb (basic_block bb)
> {
> gimple_stmt_iterator i;
> @@ -167,7 +167,7 @@ gsi_last_bb (basic_block bb)
>
> /* Return true if I is at the end of its sequence. */
>
> -static inline bool
> +inline bool
> gsi_end_p (gimple_stmt_iterator i)
> {
> return i.ptr == NULL;
> @@ -175,7 +175,7 @@ gsi_end_p (gimple_stmt_iterator i)
>
> /* Return true if I is one statement before the end of its sequence. */
>
> -static inline bool
> +inline bool
> gsi_one_before_end_p (gimple_stmt_iterator i)
> {
> return i.ptr != NULL && i.ptr->next == NULL;
> @@ -183,7 +183,7 @@ gsi_one_before_end_p (gimple_stmt_iterator i)
>
> /* Advance the iterator to the next gimple statement. */
>
> -static inline void
> +inline void
> gsi_next (gimple_stmt_iterator *i)
> {
> i->ptr = i->ptr->next;
> @@ -191,7 +191,7 @@ gsi_next (gimple_stmt_iterator *i)
>
> /* Advance the iterator to the previous gimple statement. */
>
> -static inline void
> +inline void
> gsi_prev (gimple_stmt_iterator *i)
> {
> gimple *prev = i->ptr->prev;
> @@ -203,7 +203,7 @@ gsi_prev (gimple_stmt_iterator *i)
>
> /* Return the current stmt. */
>
> -static inline gimple *
> +inline gimple *
> gsi_stmt (gimple_stmt_iterator i)
> {
> return i.ptr;
> @@ -212,7 +212,7 @@ gsi_stmt (gimple_stmt_iterator i)
> /* Return a block statement iterator that points to the first
> non-label statement in block BB. */
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_after_labels (basic_block bb)
> {
> gimple_stmt_iterator gsi = gsi_start_bb (bb);
> @@ -231,7 +231,7 @@ gsi_after_labels (basic_block bb)
> /* Return a statement iterator that points to the first
> non-label statement in sequence SEQ. */
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_after_labels (gimple_seq &seq)
> {
> gimple_stmt_iterator gsi = gsi_start (seq);
> @@ -249,7 +249,7 @@ gsi_after_labels (gimple_seq &seq)
>
> /* Advance the iterator to the next non-debug gimple statement. */
>
> -static inline void
> +inline void
> gsi_next_nondebug (gimple_stmt_iterator *i)
> {
> do
> @@ -261,7 +261,7 @@ gsi_next_nondebug (gimple_stmt_iterator *i)
>
> /* Advance the iterator to the previous non-debug gimple statement. */
>
> -static inline void
> +inline void
> gsi_prev_nondebug (gimple_stmt_iterator *i)
> {
> do
> @@ -274,7 +274,7 @@ gsi_prev_nondebug (gimple_stmt_iterator *i)
> /* Return a new iterator pointing to the first non-debug statement in
> SEQ. */
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_start_nondebug (gimple_seq seq)
> {
> gimple_stmt_iterator gsi = gsi_start (seq);
> @@ -287,7 +287,7 @@ gsi_start_nondebug (gimple_seq seq)
> /* Return a new iterator pointing to the first non-debug statement in
> basic block BB. */
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_start_nondebug_bb (basic_block bb)
> {
> gimple_stmt_iterator i = gsi_start_bb (bb);
> @@ -301,7 +301,7 @@ gsi_start_nondebug_bb (basic_block bb)
> /* Return a new iterator pointing to the first non-debug non-label statement in
> basic block BB. */
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_start_nondebug_after_labels_bb (basic_block bb)
> {
> gimple_stmt_iterator i = gsi_after_labels (bb);
> @@ -315,7 +315,7 @@ gsi_start_nondebug_after_labels_bb (basic_block bb)
> /* Return a new iterator pointing to the last non-debug statement in
> basic block BB. */
>
> -static inline gimple_stmt_iterator
> +inline gimple_stmt_iterator
> gsi_last_nondebug_bb (basic_block bb)
> {
> gimple_stmt_iterator i = gsi_last_bb (bb);
> @@ -329,7 +329,7 @@ gsi_last_nondebug_bb (basic_block bb)
> /* Return true if I is followed only by debug statements in its
> sequence. */
>
> -static inline bool
> +inline bool
> gsi_one_nondebug_before_end_p (gimple_stmt_iterator i)
> {
> if (gsi_one_before_end_p (i))
> @@ -343,7 +343,7 @@ gsi_one_nondebug_before_end_p (gimple_stmt_iterator i)
> /* Advance I statement iterator to the next non-virtual GIMPLE_PHI
> statement. */
>
> -static inline void
> +inline void
> gsi_next_nonvirtual_phi (gphi_iterator *i)
> {
> do
> @@ -356,7 +356,7 @@ gsi_next_nonvirtual_phi (gphi_iterator *i)
> /* Return a new iterator pointing to the first non-virtual phi statement in
> basic block BB. */
>
> -static inline gphi_iterator
> +inline gphi_iterator
> gsi_start_nonvirtual_phis (basic_block bb)
> {
> gphi_iterator i = gsi_start_phis (bb);
> @@ -369,7 +369,7 @@ gsi_start_nonvirtual_phis (basic_block bb)
>
> /* Return the basic block associated with this iterator. */
>
> -static inline basic_block
> +inline basic_block
> gsi_bb (gimple_stmt_iterator i)
> {
> return i.bb;
> @@ -377,7 +377,7 @@ gsi_bb (gimple_stmt_iterator i)
>
> /* Return the sequence associated with this iterator. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gsi_seq (gimple_stmt_iterator i)
> {
> return *i.seq;
> @@ -385,7 +385,7 @@ gsi_seq (gimple_stmt_iterator i)
>
> /* Determine whether SEQ is a nondebug singleton. */
>
> -static inline bool
> +inline bool
> gimple_seq_nondebug_singleton_p (gimple_seq seq)
> {
> gimple_stmt_iterator gsi;
> diff --git a/gcc/gimple-predict.h b/gcc/gimple-predict.h
> index c557b76f17b..6c085a93ea7 100644
> --- a/gcc/gimple-predict.h
> +++ b/gcc/gimple-predict.h
> @@ -25,7 +25,7 @@ along with GCC; see the file COPYING3. If not see
>
> /* Return the predictor of GIMPLE_PREDICT statement GS. */
>
> -static inline enum br_predictor
> +inline enum br_predictor
> gimple_predict_predictor (const gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_PREDICT);
> @@ -35,7 +35,7 @@ gimple_predict_predictor (const gimple *gs)
>
> /* Set the predictor of GIMPLE_PREDICT statement GS to PREDICT. */
>
> -static inline void
> +inline void
> gimple_predict_set_predictor (gimple *gs, enum br_predictor predictor)
> {
> GIMPLE_CHECK (gs, GIMPLE_PREDICT);
> @@ -46,7 +46,7 @@ gimple_predict_set_predictor (gimple *gs, enum br_predictor predictor)
>
> /* Return the outcome of GIMPLE_PREDICT statement GS. */
>
> -static inline enum prediction
> +inline enum prediction
> gimple_predict_outcome (const gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_PREDICT);
> @@ -56,7 +56,7 @@ gimple_predict_outcome (const gimple *gs)
>
> /* Set the outcome of GIMPLE_PREDICT statement GS to OUTCOME. */
>
> -static inline void
> +inline void
> gimple_predict_set_outcome (gimple *gs, enum prediction outcome)
> {
> GIMPLE_CHECK (gs, GIMPLE_PREDICT);
> @@ -82,7 +82,7 @@ gimple_build_predict (enum br_predictor predictor, enum prediction outcome)
>
> /* Return true if GS is a GIMPLE_PREDICT statement. */
>
> -static inline bool
> +inline bool
> is_gimple_predict (const gimple *gs)
> {
> return gimple_code (gs) == GIMPLE_PREDICT;
> diff --git a/gcc/gimple-range-fold.h b/gcc/gimple-range-fold.h
> index b7098c22b7b..10b5c18b858 100644
> --- a/gcc/gimple-range-fold.h
> +++ b/gcc/gimple-range-fold.h
> @@ -44,7 +44,7 @@ bool fold_range (vrange &r, gimple *s, unsigned num_elements, vrange **vector);
> // Return the type of range which statement S calculates. If the type is
> // unsupported or no type can be determined, return NULL_TREE.
>
> -static inline tree
> +inline tree
> gimple_range_type (const gimple *s)
> {
> tree lhs = gimple_get_lhs (s);
> @@ -73,7 +73,7 @@ gimple_range_type (const gimple *s)
>
> // Return EXP if it is an SSA_NAME with a type supported by gimple ranges.
>
> -static inline tree
> +inline tree
> gimple_range_ssa_p (tree exp)
> {
> if (exp && TREE_CODE (exp) == SSA_NAME &&
> @@ -86,7 +86,7 @@ gimple_range_ssa_p (tree exp)
>
> // Return true if TYPE1 and TYPE2 are compatible range types.
>
> -static inline bool
> +inline bool
> range_compatible_p (tree type1, tree type2)
> {
> // types_compatible_p requires conversion in both directions to be useless.
> diff --git a/gcc/gimple-ssa.h b/gcc/gimple-ssa.h
> index 98d5bc6d47d..604af8b96b7 100644
> --- a/gcc/gimple-ssa.h
> +++ b/gcc/gimple-ssa.h
> @@ -119,14 +119,14 @@ struct GTY(()) gimple_df {
> gimple_in_ssa_p is queried by gimplifier in various early stages before SSA
> infrastructure is initialized. Check for presence of the datastructures
> at first place. */
> -static inline bool
> +inline bool
> gimple_in_ssa_p (const struct function *fun)
> {
> return fun && fun->gimple_df && fun->gimple_df->in_ssa_p;
> }
>
> /* Artificial variable used for the virtual operand FUD chain. */
> -static inline tree
> +inline tree
> gimple_vop (const struct function *fun)
> {
> gcc_checking_assert (fun && fun->gimple_df);
> @@ -135,7 +135,7 @@ gimple_vop (const struct function *fun)
>
> /* Return the set of VUSE operand for statement G. */
>
> -static inline use_operand_p
> +inline use_operand_p
> gimple_vuse_op (const gimple *g)
> {
> struct use_optype_d *ops;
> @@ -152,7 +152,7 @@ gimple_vuse_op (const gimple *g)
>
> /* Return the set of VDEF operand for statement G. */
>
> -static inline def_operand_p
> +inline def_operand_p
> gimple_vdef_op (gimple *g)
> {
> gimple_statement_with_memory_ops *mem_ops_stmt =
> @@ -166,7 +166,7 @@ gimple_vdef_op (gimple *g)
>
> /* Mark statement S as modified, and update it. */
>
> -static inline void
> +inline void
> update_stmt (gimple *s)
> {
> if (gimple_has_ops (s))
> @@ -178,7 +178,7 @@ update_stmt (gimple *s)
>
> /* Update statement S if it has been optimized. */
>
> -static inline void
> +inline void
> update_stmt_if_modified (gimple *s)
> {
> if (gimple_modified_p (s))
> @@ -187,7 +187,7 @@ update_stmt_if_modified (gimple *s)
>
> /* Mark statement S as modified, and update it. */
>
> -static inline void
> +inline void
> update_stmt_fn (struct function *fn, gimple *s)
> {
> if (gimple_has_ops (s))
> diff --git a/gcc/gimple.h b/gcc/gimple.h
> index ddb9a4c0f5f..081d18e425a 100644
> --- a/gcc/gimple.h
> +++ b/gcc/gimple.h
> @@ -57,7 +57,7 @@ extern void gimple_check_failed (const gimple *, const char *, int, \
> (CODE), ERROR_MARK); \
> } while (0)
> template <typename T>
> -static inline T
> +inline T
> GIMPLE_CHECK2(const gimple *gs,
> #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
> const char *file = __builtin_FILE (),
> @@ -76,7 +76,7 @@ GIMPLE_CHECK2(const gimple *gs,
> return ret;
> }
> template <typename T>
> -static inline T
> +inline T
> GIMPLE_CHECK2(gimple *gs,
> #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
> const char *file = __builtin_FILE (),
> @@ -98,13 +98,13 @@ GIMPLE_CHECK2(gimple *gs,
> #define gcc_gimple_checking_assert(EXPR) ((void)(0 && (EXPR)))
> #define GIMPLE_CHECK(GS, CODE) (void)0
> template <typename T>
> -static inline T
> +inline T
> GIMPLE_CHECK2(gimple *gs)
> {
> return as_a <T> (gs);
> }
> template <typename T>
> -static inline T
> +inline T
> GIMPLE_CHECK2(const gimple *gs)
> {
> return as_a <T> (gs);
> @@ -1701,21 +1701,21 @@ typedef struct gimple_temp_hash_elt
> } elt_t;
>
> /* Get the number of the next statement uid to be allocated. */
> -static inline unsigned int
> +inline unsigned int
> gimple_stmt_max_uid (struct function *fn)
> {
> return fn->last_stmt_uid;
> }
>
> /* Set the number of the next statement uid to be allocated. */
> -static inline void
> +inline void
> set_gimple_stmt_max_uid (struct function *fn, unsigned int maxid)
> {
> fn->last_stmt_uid = maxid;
> }
>
> /* Set the number of the next statement uid to be allocated. */
> -static inline unsigned int
> +inline unsigned int
> inc_gimple_stmt_max_uid (struct function *fn)
> {
> return fn->last_stmt_uid++;
> @@ -1723,7 +1723,7 @@ inc_gimple_stmt_max_uid (struct function *fn)
>
> /* Return the first node in GIMPLE sequence S. */
>
> -static inline gimple_seq_node
> +inline gimple_seq_node
> gimple_seq_first (gimple_seq s)
> {
> return s;
> @@ -1732,7 +1732,7 @@ gimple_seq_first (gimple_seq s)
>
> /* Return the first statement in GIMPLE sequence S. */
>
> -static inline gimple *
> +inline gimple *
> gimple_seq_first_stmt (gimple_seq s)
> {
> gimple_seq_node n = gimple_seq_first (s);
> @@ -1742,7 +1742,7 @@ gimple_seq_first_stmt (gimple_seq s)
> /* Return the first statement in GIMPLE sequence S as a gbind *,
> verifying that it has code GIMPLE_BIND in a checked build. */
>
> -static inline gbind *
> +inline gbind *
> gimple_seq_first_stmt_as_a_bind (gimple_seq s)
> {
> gimple_seq_node n = gimple_seq_first (s);
> @@ -1752,7 +1752,7 @@ gimple_seq_first_stmt_as_a_bind (gimple_seq s)
>
> /* Return the last node in GIMPLE sequence S. */
>
> -static inline gimple_seq_node
> +inline gimple_seq_node
> gimple_seq_last (gimple_seq s)
> {
> return s ? s->prev : NULL;
> @@ -1761,7 +1761,7 @@ gimple_seq_last (gimple_seq s)
>
> /* Return the last statement in GIMPLE sequence S. */
>
> -static inline gimple *
> +inline gimple *
> gimple_seq_last_stmt (gimple_seq s)
> {
> gimple_seq_node n = gimple_seq_last (s);
> @@ -1771,7 +1771,7 @@ gimple_seq_last_stmt (gimple_seq s)
>
> /* Set the last node in GIMPLE sequence *PS to LAST. */
>
> -static inline void
> +inline void
> gimple_seq_set_last (gimple_seq *ps, gimple_seq_node last)
> {
> (*ps)->prev = last;
> @@ -1780,7 +1780,7 @@ gimple_seq_set_last (gimple_seq *ps, gimple_seq_node last)
>
> /* Set the first node in GIMPLE sequence *PS to FIRST. */
>
> -static inline void
> +inline void
> gimple_seq_set_first (gimple_seq *ps, gimple_seq_node first)
> {
> *ps = first;
> @@ -1789,7 +1789,7 @@ gimple_seq_set_first (gimple_seq *ps, gimple_seq_node first)
>
> /* Return true if GIMPLE sequence S is empty. */
>
> -static inline bool
> +inline bool
> gimple_seq_empty_p (gimple_seq s)
> {
> return s == NULL;
> @@ -1797,7 +1797,7 @@ gimple_seq_empty_p (gimple_seq s)
>
> /* Allocate a new sequence and initialize its first element with STMT. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_seq_alloc_with_stmt (gimple *stmt)
> {
> gimple_seq seq = NULL;
> @@ -1808,13 +1808,13 @@ gimple_seq_alloc_with_stmt (gimple *stmt)
>
> /* Returns the sequence of statements in BB. */
>
> -static inline gimple_seq
> +inline gimple_seq
> bb_seq (const_basic_block bb)
> {
> return (!(bb->flags & BB_RTL)) ? bb->il.gimple.seq : NULL;
> }
>
> -static inline gimple_seq *
> +inline gimple_seq *
> bb_seq_addr (basic_block bb)
> {
> return (!(bb->flags & BB_RTL)) ? &bb->il.gimple.seq : NULL;
> @@ -1822,7 +1822,7 @@ bb_seq_addr (basic_block bb)
>
> /* Sets the sequence of statements in BB to SEQ. */
>
> -static inline void
> +inline void
> set_bb_seq (basic_block bb, gimple_seq seq)
> {
> gcc_checking_assert (!(bb->flags & BB_RTL));
> @@ -1832,7 +1832,7 @@ set_bb_seq (basic_block bb, gimple_seq seq)
>
> /* Return the code for GIMPLE statement G. */
>
> -static inline enum gimple_code
> +inline enum gimple_code
> gimple_code (const gimple *g)
> {
> return g->code;
> @@ -1841,7 +1841,7 @@ gimple_code (const gimple *g)
>
> /* Return the GSS code used by a GIMPLE code. */
>
> -static inline enum gimple_statement_structure_enum
> +inline enum gimple_statement_structure_enum
> gss_for_code (enum gimple_code code)
> {
> gcc_gimple_checking_assert ((unsigned int)code < LAST_AND_UNUSED_GIMPLE_CODE);
> @@ -1851,7 +1851,7 @@ gss_for_code (enum gimple_code code)
>
> /* Return which GSS code is used by GS. */
>
> -static inline enum gimple_statement_structure_enum
> +inline enum gimple_statement_structure_enum
> gimple_statement_structure (gimple *gs)
> {
> return gss_for_code (gimple_code (gs));
> @@ -1861,7 +1861,7 @@ gimple_statement_structure (gimple *gs)
> /* Return true if statement G has sub-statements. This is only true for
> High GIMPLE statements. */
>
> -static inline bool
> +inline bool
> gimple_has_substatements (gimple *g)
> {
> switch (gimple_code (g))
> @@ -1898,7 +1898,7 @@ gimple_has_substatements (gimple *g)
>
> /* Return the basic block holding statement G. */
>
> -static inline basic_block
> +inline basic_block
> gimple_bb (const gimple *g)
> {
> return g->bb;
> @@ -1907,18 +1907,18 @@ gimple_bb (const gimple *g)
>
> /* Return the lexical scope block holding statement G. */
>
> -static inline tree
> +inline tree
> gimple_block (const gimple *g)
> {
> return LOCATION_BLOCK (g->location);
> }
>
> /* Forward declare. */
> -static inline void gimple_set_location (gimple *, location_t);
> +inline void gimple_set_location (gimple *, location_t);
>
> /* Set BLOCK to be the lexical scope block holding statement G. */
>
> -static inline void
> +inline void
> gimple_set_block (gimple *g, tree block)
> {
> gimple_set_location (g, set_block (g->location, block));
> @@ -1926,7 +1926,7 @@ gimple_set_block (gimple *g, tree block)
>
> /* Return location information for statement G. */
>
> -static inline location_t
> +inline location_t
> gimple_location (const gimple *g)
> {
> return g->location;
> @@ -1935,7 +1935,7 @@ gimple_location (const gimple *g)
> /* Return location information for statement G if g is not NULL.
> Otherwise, UNKNOWN_LOCATION is returned. */
>
> -static inline location_t
> +inline location_t
> gimple_location_safe (const gimple *g)
> {
> return g ? gimple_location (g) : UNKNOWN_LOCATION;
> @@ -1943,7 +1943,7 @@ gimple_location_safe (const gimple *g)
>
> /* Set location information for statement G. */
>
> -static inline void
> +inline void
> gimple_set_location (gimple *g, location_t location)
> {
> /* Copy the no-warning data to the statement location. */
> @@ -1954,7 +1954,7 @@ gimple_set_location (gimple *g, location_t location)
>
> /* Return address of the location information for statement G. */
>
> -static inline location_t *
> +inline location_t *
> gimple_location_ptr (gimple *g)
> {
> return &g->location;
> @@ -1963,7 +1963,7 @@ gimple_location_ptr (gimple *g)
>
> /* Return true if G contains location information. */
>
> -static inline bool
> +inline bool
> gimple_has_location (const gimple *g)
> {
> return LOCATION_LOCUS (gimple_location (g)) != UNKNOWN_LOCATION;
> @@ -1972,7 +1972,7 @@ gimple_has_location (const gimple *g)
>
> /* Return non-artificial location information for statement G. */
>
> -static inline location_t
> +inline location_t
> gimple_nonartificial_location (const gimple *g)
> {
> location_t *ploc = NULL;
> @@ -1986,7 +1986,7 @@ gimple_nonartificial_location (const gimple *g)
>
> /* Return the file name of the location of STMT. */
>
> -static inline const char *
> +inline const char *
> gimple_filename (const gimple *stmt)
> {
> return LOCATION_FILE (gimple_location (stmt));
> @@ -1995,7 +1995,7 @@ gimple_filename (const gimple *stmt)
>
> /* Return the line number of the location of STMT. */
>
> -static inline int
> +inline int
> gimple_lineno (const gimple *stmt)
> {
> return LOCATION_LINE (gimple_location (stmt));
> @@ -2004,7 +2004,7 @@ gimple_lineno (const gimple *stmt)
>
> /* Determine whether SEQ is a singleton. */
>
> -static inline bool
> +inline bool
> gimple_seq_singleton_p (gimple_seq seq)
> {
> return ((gimple_seq_first (seq) != NULL)
> @@ -2013,7 +2013,7 @@ gimple_seq_singleton_p (gimple_seq seq)
>
> /* Return true if no warnings should be emitted for statement STMT. */
>
> -static inline bool
> +inline bool
> gimple_no_warning_p (const gimple *stmt)
> {
> return stmt->no_warning;
> @@ -2021,7 +2021,7 @@ gimple_no_warning_p (const gimple *stmt)
>
> /* Set the no_warning flag of STMT to NO_WARNING. */
>
> -static inline void
> +inline void
> gimple_set_no_warning (gimple *stmt, bool no_warning)
> {
> stmt->no_warning = (unsigned) no_warning;
> @@ -2039,7 +2039,7 @@ gimple_set_no_warning (gimple *stmt, bool no_warning)
> struct gimple.
> */
>
> -static inline void
> +inline void
> gimple_set_visited (gimple *stmt, bool visited_p)
> {
> stmt->visited = (unsigned) visited_p;
> @@ -2057,7 +2057,7 @@ gimple_set_visited (gimple *stmt, bool visited_p)
> statement by reading the comments of the 'visited' data member of
> struct gimple. */
>
> -static inline bool
> +inline bool
> gimple_visited_p (gimple *stmt)
> {
> return stmt->visited;
> @@ -2074,7 +2074,7 @@ gimple_visited_p (gimple *stmt)
> You can learn more about the PLF property by reading the comment of
> the 'plf' data member of struct gimple_statement_structure. */
>
> -static inline void
> +inline void
> gimple_set_plf (gimple *stmt, enum plf_mask plf, bool val_p)
> {
> if (val_p)
> @@ -2094,7 +2094,7 @@ gimple_set_plf (gimple *stmt, enum plf_mask plf, bool val_p)
> You can learn more about the plf property by reading the comment of
> the 'plf' data member of struct gimple_statement_structure. */
>
> -static inline unsigned int
> +inline unsigned int
> gimple_plf (gimple *stmt, enum plf_mask plf)
> {
> return stmt->plf & ((unsigned int) plf);
> @@ -2108,7 +2108,7 @@ gimple_plf (gimple *stmt, enum plf_mask plf)
> contains any useful value when the pass starts and thus can set it
> to any value it sees fit. */
>
> -static inline void
> +inline void
> gimple_set_uid (gimple *g, unsigned uid)
> {
> g->uid = uid;
> @@ -2122,7 +2122,7 @@ gimple_set_uid (gimple *g, unsigned uid)
> contains any useful value when the pass starts and thus can set it
> to any value it sees fit. */
>
> -static inline unsigned
> +inline unsigned
> gimple_uid (const gimple *g)
> {
> return g->uid;
> @@ -2131,7 +2131,7 @@ gimple_uid (const gimple *g)
>
> /* Make statement G a singleton sequence. */
>
> -static inline void
> +inline void
> gimple_init_singleton (gimple *g)
> {
> g->next = NULL;
> @@ -2141,7 +2141,7 @@ gimple_init_singleton (gimple *g)
>
> /* Return true if GIMPLE statement G has register or memory operands. */
>
> -static inline bool
> +inline bool
> gimple_has_ops (const gimple *g)
> {
> return gimple_code (g) >= GIMPLE_COND && gimple_code (g) <= GIMPLE_RETURN;
> @@ -2165,7 +2165,7 @@ is_a_helper <gimple_statement_with_ops *>::test (gimple *gs)
>
> /* Return true if GIMPLE statement G has memory operands. */
>
> -static inline bool
> +inline bool
> gimple_has_mem_ops (const gimple *g)
> {
> return gimple_code (g) >= GIMPLE_ASSIGN && gimple_code (g) <= GIMPLE_RETURN;
> @@ -2189,7 +2189,7 @@ is_a_helper <gimple_statement_with_memory_ops *>::test (gimple *gs)
>
> /* Return the set of USE operands for statement G. */
>
> -static inline struct use_optype_d *
> +inline struct use_optype_d *
> gimple_use_ops (const gimple *g)
> {
> const gimple_statement_with_ops *ops_stmt =
> @@ -2202,7 +2202,7 @@ gimple_use_ops (const gimple *g)
>
> /* Set USE to be the set of USE operands for statement G. */
>
> -static inline void
> +inline void
> gimple_set_use_ops (gimple *g, struct use_optype_d *use)
> {
> gimple_statement_with_ops *ops_stmt =
> @@ -2213,7 +2213,7 @@ gimple_set_use_ops (gimple *g, struct use_optype_d *use)
>
> /* Return the single VUSE operand of the statement G. */
>
> -static inline tree
> +inline tree
> gimple_vuse (const gimple *g)
> {
> const gimple_statement_with_memory_ops *mem_ops_stmt =
> @@ -2225,7 +2225,7 @@ gimple_vuse (const gimple *g)
>
> /* Return the single VDEF operand of the statement G. */
>
> -static inline tree
> +inline tree
> gimple_vdef (const gimple *g)
> {
> const gimple_statement_with_memory_ops *mem_ops_stmt =
> @@ -2237,7 +2237,7 @@ gimple_vdef (const gimple *g)
>
> /* Return the single VUSE operand of the statement G. */
>
> -static inline tree *
> +inline tree *
> gimple_vuse_ptr (gimple *g)
> {
> gimple_statement_with_memory_ops *mem_ops_stmt =
> @@ -2249,7 +2249,7 @@ gimple_vuse_ptr (gimple *g)
>
> /* Return the single VDEF operand of the statement G. */
>
> -static inline tree *
> +inline tree *
> gimple_vdef_ptr (gimple *g)
> {
> gimple_statement_with_memory_ops *mem_ops_stmt =
> @@ -2261,7 +2261,7 @@ gimple_vdef_ptr (gimple *g)
>
> /* Set the single VUSE operand of the statement G. */
>
> -static inline void
> +inline void
> gimple_set_vuse (gimple *g, tree vuse)
> {
> gimple_statement_with_memory_ops *mem_ops_stmt =
> @@ -2271,7 +2271,7 @@ gimple_set_vuse (gimple *g, tree vuse)
>
> /* Set the single VDEF operand of the statement G. */
>
> -static inline void
> +inline void
> gimple_set_vdef (gimple *g, tree vdef)
> {
> gimple_statement_with_memory_ops *mem_ops_stmt =
> @@ -2283,7 +2283,7 @@ gimple_set_vdef (gimple *g, tree vdef)
> /* Return true if statement G has operands and the modified field has
> been set. */
>
> -static inline bool
> +inline bool
> gimple_modified_p (const gimple *g)
> {
> return (gimple_has_ops (g)) ? (bool) g->modified : false;
> @@ -2293,7 +2293,7 @@ gimple_modified_p (const gimple *g)
> /* Set the MODIFIED flag to MODIFIEDP, iff the gimple statement G has
> a MODIFIED field. */
>
> -static inline void
> +inline void
> gimple_set_modified (gimple *s, bool modifiedp)
> {
> if (gimple_has_ops (s))
> @@ -2303,7 +2303,7 @@ gimple_set_modified (gimple *s, bool modifiedp)
>
> /* Return true if statement STMT contains volatile operands. */
>
> -static inline bool
> +inline bool
> gimple_has_volatile_ops (const gimple *stmt)
> {
> if (gimple_has_mem_ops (stmt))
> @@ -2315,7 +2315,7 @@ gimple_has_volatile_ops (const gimple *stmt)
>
> /* Set the HAS_VOLATILE_OPS flag to VOLATILEP. */
>
> -static inline void
> +inline void
> gimple_set_has_volatile_ops (gimple *stmt, bool volatilep)
> {
> if (gimple_has_mem_ops (stmt))
> @@ -2324,7 +2324,7 @@ gimple_set_has_volatile_ops (gimple *stmt, bool volatilep)
>
> /* Return true if STMT is in a transaction. */
>
> -static inline bool
> +inline bool
> gimple_in_transaction (const gimple *stmt)
> {
> return bb_in_transaction (gimple_bb (stmt));
> @@ -2332,7 +2332,7 @@ gimple_in_transaction (const gimple *stmt)
>
> /* Return true if statement STMT may access memory. */
>
> -static inline bool
> +inline bool
> gimple_references_memory_p (gimple *stmt)
> {
> return gimple_has_mem_ops (stmt) && gimple_vuse (stmt);
> @@ -2341,7 +2341,7 @@ gimple_references_memory_p (gimple *stmt)
>
> /* Return the subcode for OMP statement S. */
>
> -static inline unsigned
> +inline unsigned
> gimple_omp_subcode (const gimple *s)
> {
> gcc_gimple_checking_assert (gimple_code (s) >= GIMPLE_OMP_ATOMIC_LOAD
> @@ -2351,7 +2351,7 @@ gimple_omp_subcode (const gimple *s)
>
> /* Set the subcode for OMP statement S to SUBCODE. */
>
> -static inline void
> +inline void
> gimple_omp_set_subcode (gimple *s, unsigned int subcode)
> {
> /* We only have 16 bits for the subcode. Assert that we are not
> @@ -2362,7 +2362,7 @@ gimple_omp_set_subcode (gimple *s, unsigned int subcode)
>
> /* Set the nowait flag on OMP_RETURN statement S. */
>
> -static inline void
> +inline void
> gimple_omp_return_set_nowait (gimple *s)
> {
> GIMPLE_CHECK (s, GIMPLE_OMP_RETURN);
> @@ -2373,7 +2373,7 @@ gimple_omp_return_set_nowait (gimple *s)
> /* Return true if OMP return statement G has the GF_OMP_RETURN_NOWAIT
> flag set. */
>
> -static inline bool
> +inline bool
> gimple_omp_return_nowait_p (const gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_RETURN);
> @@ -2383,7 +2383,7 @@ gimple_omp_return_nowait_p (const gimple *g)
>
> /* Set the LHS of OMP return. */
>
> -static inline void
> +inline void
> gimple_omp_return_set_lhs (gimple *g, tree lhs)
> {
> gimple_statement_omp_return *omp_return_stmt =
> @@ -2394,7 +2394,7 @@ gimple_omp_return_set_lhs (gimple *g, tree lhs)
>
> /* Get the LHS of OMP return. */
>
> -static inline tree
> +inline tree
> gimple_omp_return_lhs (const gimple *g)
> {
> const gimple_statement_omp_return *omp_return_stmt =
> @@ -2405,7 +2405,7 @@ gimple_omp_return_lhs (const gimple *g)
>
> /* Return a pointer to the LHS of OMP return. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_return_lhs_ptr (gimple *g)
> {
> gimple_statement_omp_return *omp_return_stmt =
> @@ -2417,7 +2417,7 @@ gimple_omp_return_lhs_ptr (gimple *g)
> /* Return true if OMP section statement G has the GF_OMP_SECTION_LAST
> flag set. */
>
> -static inline bool
> +inline bool
> gimple_omp_section_last_p (const gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_SECTION);
> @@ -2427,7 +2427,7 @@ gimple_omp_section_last_p (const gimple *g)
>
> /* Set the GF_OMP_SECTION_LAST flag on G. */
>
> -static inline void
> +inline void
> gimple_omp_section_set_last (gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_SECTION);
> @@ -2438,7 +2438,7 @@ gimple_omp_section_set_last (gimple *g)
> /* Return true if OMP ordered construct is stand-alone
> (G has the GF_OMP_ORDERED_STANDALONE flag set). */
>
> -static inline bool
> +inline bool
> gimple_omp_ordered_standalone_p (const gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_ORDERED);
> @@ -2448,7 +2448,7 @@ gimple_omp_ordered_standalone_p (const gimple *g)
>
> /* Set the GF_OMP_ORDERED_STANDALONE flag on G. */
>
> -static inline void
> +inline void
> gimple_omp_ordered_standalone (gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_ORDERED);
> @@ -2459,7 +2459,7 @@ gimple_omp_ordered_standalone (gimple *g)
> /* Return true if OMP parallel statement G has the
> GF_OMP_PARALLEL_COMBINED flag set. */
>
> -static inline bool
> +inline bool
> gimple_omp_parallel_combined_p (const gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_PARALLEL);
> @@ -2470,7 +2470,7 @@ gimple_omp_parallel_combined_p (const gimple *g)
> /* Set the GF_OMP_PARALLEL_COMBINED field in G depending on the boolean
> value of COMBINED_P. */
>
> -static inline void
> +inline void
> gimple_omp_parallel_set_combined_p (gimple *g, bool combined_p)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_PARALLEL);
> @@ -2484,7 +2484,7 @@ gimple_omp_parallel_set_combined_p (gimple *g, bool combined_p)
> /* Return true if OMP atomic load/store statement G has the
> GF_OMP_ATOMIC_NEED_VALUE flag set. */
>
> -static inline bool
> +inline bool
> gimple_omp_atomic_need_value_p (const gimple *g)
> {
> if (gimple_code (g) != GIMPLE_OMP_ATOMIC_LOAD)
> @@ -2495,7 +2495,7 @@ gimple_omp_atomic_need_value_p (const gimple *g)
>
> /* Set the GF_OMP_ATOMIC_NEED_VALUE flag on G. */
>
> -static inline void
> +inline void
> gimple_omp_atomic_set_need_value (gimple *g)
> {
> if (gimple_code (g) != GIMPLE_OMP_ATOMIC_LOAD)
> @@ -2507,7 +2507,7 @@ gimple_omp_atomic_set_need_value (gimple *g)
> /* Return true if OMP atomic load/store statement G has the
> GF_OMP_ATOMIC_WEAK flag set. */
>
> -static inline bool
> +inline bool
> gimple_omp_atomic_weak_p (const gimple *g)
> {
> if (gimple_code (g) != GIMPLE_OMP_ATOMIC_LOAD)
> @@ -2518,7 +2518,7 @@ gimple_omp_atomic_weak_p (const gimple *g)
>
> /* Set the GF_OMP_ATOMIC_WEAK flag on G. */
>
> -static inline void
> +inline void
> gimple_omp_atomic_set_weak (gimple *g)
> {
> if (gimple_code (g) != GIMPLE_OMP_ATOMIC_LOAD)
> @@ -2529,7 +2529,7 @@ gimple_omp_atomic_set_weak (gimple *g)
>
> /* Return the memory order of the OMP atomic load/store statement G. */
>
> -static inline enum omp_memory_order
> +inline enum omp_memory_order
> gimple_omp_atomic_memory_order (const gimple *g)
> {
> if (gimple_code (g) != GIMPLE_OMP_ATOMIC_LOAD)
> @@ -2541,7 +2541,7 @@ gimple_omp_atomic_memory_order (const gimple *g)
>
> /* Set the memory order on G. */
>
> -static inline void
> +inline void
> gimple_omp_atomic_set_memory_order (gimple *g, enum omp_memory_order mo)
> {
> if (gimple_code (g) != GIMPLE_OMP_ATOMIC_LOAD)
> @@ -2553,7 +2553,7 @@ gimple_omp_atomic_set_memory_order (gimple *g, enum omp_memory_order mo)
>
> /* Return the number of operands for statement GS. */
>
> -static inline unsigned
> +inline unsigned
> gimple_num_ops (const gimple *gs)
> {
> return gs->num_ops;
> @@ -2562,7 +2562,7 @@ gimple_num_ops (const gimple *gs)
>
> /* Set the number of operands for statement GS. */
>
> -static inline void
> +inline void
> gimple_set_num_ops (gimple *gs, unsigned num_ops)
> {
> gs->num_ops = num_ops;
> @@ -2571,7 +2571,7 @@ gimple_set_num_ops (gimple *gs, unsigned num_ops)
>
> /* Return the array of operands for statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_ops (gimple *gs)
> {
> size_t off;
> @@ -2588,7 +2588,7 @@ gimple_ops (gimple *gs)
>
> /* Return operand I for statement GS. */
>
> -static inline tree
> +inline tree
> gimple_op (const gimple *gs, unsigned i)
> {
> if (gimple_has_ops (gs))
> @@ -2602,7 +2602,7 @@ gimple_op (const gimple *gs, unsigned i)
>
> /* Return a pointer to operand I for statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_op_ptr (gimple *gs, unsigned i)
> {
> if (gimple_has_ops (gs))
> @@ -2616,7 +2616,7 @@ gimple_op_ptr (gimple *gs, unsigned i)
>
> /* Set operand I of statement GS to OP. */
>
> -static inline void
> +inline void
> gimple_set_op (gimple *gs, unsigned i, tree op)
> {
> gcc_gimple_checking_assert (gimple_has_ops (gs) && i < gimple_num_ops (gs));
> @@ -2630,7 +2630,7 @@ gimple_set_op (gimple *gs, unsigned i, tree op)
>
> /* Return true if GS is a GIMPLE_ASSIGN. */
>
> -static inline bool
> +inline bool
> is_gimple_assign (const gimple *gs)
> {
> return gimple_code (gs) == GIMPLE_ASSIGN;
> @@ -2639,7 +2639,7 @@ is_gimple_assign (const gimple *gs)
> /* Determine if expression CODE is one of the valid expressions that can
> be used on the RHS of GIMPLE assignments. */
>
> -static inline enum gimple_rhs_class
> +inline enum gimple_rhs_class
> get_gimple_rhs_class (enum tree_code code)
> {
> return (enum gimple_rhs_class) gimple_rhs_class_table[(int) code];
> @@ -2647,13 +2647,13 @@ get_gimple_rhs_class (enum tree_code code)
>
> /* Return the LHS of assignment statement GS. */
>
> -static inline tree
> +inline tree
> gimple_assign_lhs (const gassign *gs)
> {
> return gs->op[0];
> }
>
> -static inline tree
> +inline tree
> gimple_assign_lhs (const gimple *gs)
> {
> const gassign *ass = GIMPLE_CHECK2<const gassign *> (gs);
> @@ -2663,13 +2663,13 @@ gimple_assign_lhs (const gimple *gs)
>
> /* Return a pointer to the LHS of assignment statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_assign_lhs_ptr (gassign *gs)
> {
> return &gs->op[0];
> }
>
> -static inline tree *
> +inline tree *
> gimple_assign_lhs_ptr (gimple *gs)
> {
> gassign *ass = GIMPLE_CHECK2<gassign *> (gs);
> @@ -2679,7 +2679,7 @@ gimple_assign_lhs_ptr (gimple *gs)
>
> /* Set LHS to be the LHS operand of assignment statement GS. */
>
> -static inline void
> +inline void
> gimple_assign_set_lhs (gassign *gs, tree lhs)
> {
> gs->op[0] = lhs;
> @@ -2688,7 +2688,7 @@ gimple_assign_set_lhs (gassign *gs, tree lhs)
> SSA_NAME_DEF_STMT (lhs) = gs;
> }
>
> -static inline void
> +inline void
> gimple_assign_set_lhs (gimple *gs, tree lhs)
> {
> gassign *ass = GIMPLE_CHECK2<gassign *> (gs);
> @@ -2698,13 +2698,13 @@ gimple_assign_set_lhs (gimple *gs, tree lhs)
>
> /* Return the first operand on the RHS of assignment statement GS. */
>
> -static inline tree
> +inline tree
> gimple_assign_rhs1 (const gassign *gs)
> {
> return gs->op[1];
> }
>
> -static inline tree
> +inline tree
> gimple_assign_rhs1 (const gimple *gs)
> {
> const gassign *ass = GIMPLE_CHECK2<const gassign *> (gs);
> @@ -2715,13 +2715,13 @@ gimple_assign_rhs1 (const gimple *gs)
> /* Return a pointer to the first operand on the RHS of assignment
> statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_assign_rhs1_ptr (gassign *gs)
> {
> return &gs->op[1];
> }
>
> -static inline tree *
> +inline tree *
> gimple_assign_rhs1_ptr (gimple *gs)
> {
> gassign *ass = GIMPLE_CHECK2<gassign *> (gs);
> @@ -2730,13 +2730,13 @@ gimple_assign_rhs1_ptr (gimple *gs)
>
> /* Set RHS to be the first operand on the RHS of assignment statement GS. */
>
> -static inline void
> +inline void
> gimple_assign_set_rhs1 (gassign *gs, tree rhs)
> {
> gs->op[1] = rhs;
> }
>
> -static inline void
> +inline void
> gimple_assign_set_rhs1 (gimple *gs, tree rhs)
> {
> gassign *ass = GIMPLE_CHECK2<gassign *> (gs);
> @@ -2747,7 +2747,7 @@ gimple_assign_set_rhs1 (gimple *gs, tree rhs)
> /* Return the second operand on the RHS of assignment statement GS.
> If GS does not have two operands, NULL is returned instead. */
>
> -static inline tree
> +inline tree
> gimple_assign_rhs2 (const gassign *gs)
> {
> if (gimple_num_ops (gs) >= 3)
> @@ -2756,7 +2756,7 @@ gimple_assign_rhs2 (const gassign *gs)
> return NULL_TREE;
> }
>
> -static inline tree
> +inline tree
> gimple_assign_rhs2 (const gimple *gs)
> {
> const gassign *ass = GIMPLE_CHECK2<const gassign *> (gs);
> @@ -2767,14 +2767,14 @@ gimple_assign_rhs2 (const gimple *gs)
> /* Return a pointer to the second operand on the RHS of assignment
> statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_assign_rhs2_ptr (gassign *gs)
> {
> gcc_gimple_checking_assert (gimple_num_ops (gs) >= 3);
> return &gs->op[2];
> }
>
> -static inline tree *
> +inline tree *
> gimple_assign_rhs2_ptr (gimple *gs)
> {
> gassign *ass = GIMPLE_CHECK2<gassign *> (gs);
> @@ -2784,14 +2784,14 @@ gimple_assign_rhs2_ptr (gimple *gs)
>
> /* Set RHS to be the second operand on the RHS of assignment statement GS. */
>
> -static inline void
> +inline void
> gimple_assign_set_rhs2 (gassign *gs, tree rhs)
> {
> gcc_gimple_checking_assert (gimple_num_ops (gs) >= 3);
> gs->op[2] = rhs;
> }
>
> -static inline void
> +inline void
> gimple_assign_set_rhs2 (gimple *gs, tree rhs)
> {
> gassign *ass = GIMPLE_CHECK2<gassign *> (gs);
> @@ -2801,7 +2801,7 @@ gimple_assign_set_rhs2 (gimple *gs, tree rhs)
> /* Return the third operand on the RHS of assignment statement GS.
> If GS does not have two operands, NULL is returned instead. */
>
> -static inline tree
> +inline tree
> gimple_assign_rhs3 (const gassign *gs)
> {
> if (gimple_num_ops (gs) >= 4)
> @@ -2810,7 +2810,7 @@ gimple_assign_rhs3 (const gassign *gs)
> return NULL_TREE;
> }
>
> -static inline tree
> +inline tree
> gimple_assign_rhs3 (const gimple *gs)
> {
> const gassign *ass = GIMPLE_CHECK2<const gassign *> (gs);
> @@ -2820,7 +2820,7 @@ gimple_assign_rhs3 (const gimple *gs)
> /* Return a pointer to the third operand on the RHS of assignment
> statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_assign_rhs3_ptr (gimple *gs)
> {
> gassign *ass = GIMPLE_CHECK2<gassign *> (gs);
> @@ -2831,14 +2831,14 @@ gimple_assign_rhs3_ptr (gimple *gs)
>
> /* Set RHS to be the third operand on the RHS of assignment statement GS. */
>
> -static inline void
> +inline void
> gimple_assign_set_rhs3 (gassign *gs, tree rhs)
> {
> gcc_gimple_checking_assert (gimple_num_ops (gs) >= 4);
> gs->op[3] = rhs;
> }
>
> -static inline void
> +inline void
> gimple_assign_set_rhs3 (gimple *gs, tree rhs)
> {
> gassign *ass = GIMPLE_CHECK2<gassign *> (gs);
> @@ -2849,7 +2849,7 @@ gimple_assign_set_rhs3 (gimple *gs, tree rhs)
> /* A wrapper around 3 operand gimple_assign_set_rhs_with_ops, for callers
> which expect to see only two operands. */
>
> -static inline void
> +inline void
> gimple_assign_set_rhs_with_ops (gimple_stmt_iterator *gsi, enum tree_code code,
> tree op1, tree op2)
> {
> @@ -2859,7 +2859,7 @@ gimple_assign_set_rhs_with_ops (gimple_stmt_iterator *gsi, enum tree_code code,
> /* A wrapper around 3 operand gimple_assign_set_rhs_with_ops, for callers
> which expect to see only one operands. */
>
> -static inline void
> +inline void
> gimple_assign_set_rhs_with_ops (gimple_stmt_iterator *gsi, enum tree_code code,
> tree op1)
> {
> @@ -2868,7 +2868,7 @@ gimple_assign_set_rhs_with_ops (gimple_stmt_iterator *gsi, enum tree_code code,
>
> /* Returns true if GS is a nontemporal move. */
>
> -static inline bool
> +inline bool
> gimple_assign_nontemporal_move_p (const gassign *gs)
> {
> return gs->nontemporal_move;
> @@ -2876,7 +2876,7 @@ gimple_assign_nontemporal_move_p (const gassign *gs)
>
> /* Sets nontemporal move flag of GS to NONTEMPORAL. */
>
> -static inline void
> +inline void
> gimple_assign_set_nontemporal_move (gimple *gs, bool nontemporal)
> {
> GIMPLE_CHECK (gs, GIMPLE_ASSIGN);
> @@ -2888,7 +2888,7 @@ gimple_assign_set_nontemporal_move (gimple *gs, bool nontemporal)
> statement GS. In case that the RHS is a single object, returns the
> tree code of the object. */
>
> -static inline enum tree_code
> +inline enum tree_code
> gimple_assign_rhs_code (const gassign *gs)
> {
> enum tree_code code = (enum tree_code) gs->subcode;
> @@ -2901,7 +2901,7 @@ gimple_assign_rhs_code (const gassign *gs)
> return code;
> }
>
> -static inline enum tree_code
> +inline enum tree_code
> gimple_assign_rhs_code (const gimple *gs)
> {
> const gassign *ass = GIMPLE_CHECK2<const gassign *> (gs);
> @@ -2912,7 +2912,7 @@ gimple_assign_rhs_code (const gimple *gs)
> /* Set CODE to be the code for the expression computed on the RHS of
> assignment S. */
>
> -static inline void
> +inline void
> gimple_assign_set_rhs_code (gimple *s, enum tree_code code)
> {
> GIMPLE_CHECK (s, GIMPLE_ASSIGN);
> @@ -2924,7 +2924,7 @@ gimple_assign_set_rhs_code (gimple *s, enum tree_code code)
> the rhs of assignment statement GS.
> This will never return GIMPLE_INVALID_RHS. */
>
> -static inline enum gimple_rhs_class
> +inline enum gimple_rhs_class
> gimple_assign_rhs_class (const gimple *gs)
> {
> return get_gimple_rhs_class (gimple_assign_rhs_code (gs));
> @@ -2936,7 +2936,7 @@ gimple_assign_rhs_class (const gimple *gs)
> any RHS operand, including those that perform an operation
> and do not have the semantics of a copy, such as COND_EXPR. */
>
> -static inline bool
> +inline bool
> gimple_assign_single_p (const gimple *gs)
> {
> return (is_gimple_assign (gs)
> @@ -2945,7 +2945,7 @@ gimple_assign_single_p (const gimple *gs)
>
> /* Return true if GS performs a store to its lhs. */
>
> -static inline bool
> +inline bool
> gimple_store_p (const gimple *gs)
> {
> tree lhs = gimple_get_lhs (gs);
> @@ -2954,7 +2954,7 @@ gimple_store_p (const gimple *gs)
>
> /* Return true if GS is an assignment that loads from its rhs1. */
>
> -static inline bool
> +inline bool
> gimple_assign_load_p (const gimple *gs)
> {
> tree rhs;
> @@ -2971,7 +2971,7 @@ gimple_assign_load_p (const gimple *gs)
>
> /* Return true if S is a type-cast assignment. */
>
> -static inline bool
> +inline bool
> gimple_assign_cast_p (const gimple *s)
> {
> if (is_gimple_assign (s))
> @@ -2987,7 +2987,7 @@ gimple_assign_cast_p (const gimple *s)
>
> /* Return true if S is a clobber statement. */
>
> -static inline bool
> +inline bool
> gimple_clobber_p (const gimple *s)
> {
> return gimple_assign_single_p (s)
> @@ -2996,7 +2996,7 @@ gimple_clobber_p (const gimple *s)
>
> /* Return true if S is a clobber statement. */
>
> -static inline bool
> +inline bool
> gimple_clobber_p (const gimple *s, enum clobber_kind kind)
> {
> return gimple_clobber_p (s)
> @@ -3005,7 +3005,7 @@ gimple_clobber_p (const gimple *s, enum clobber_kind kind)
>
> /* Return true if GS is a GIMPLE_CALL. */
>
> -static inline bool
> +inline bool
> is_gimple_call (const gimple *gs)
> {
> return gimple_code (gs) == GIMPLE_CALL;
> @@ -3013,13 +3013,13 @@ is_gimple_call (const gimple *gs)
>
> /* Return the LHS of call statement GS. */
>
> -static inline tree
> +inline tree
> gimple_call_lhs (const gcall *gs)
> {
> return gs->op[0];
> }
>
> -static inline tree
> +inline tree
> gimple_call_lhs (const gimple *gs)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3029,13 +3029,13 @@ gimple_call_lhs (const gimple *gs)
>
> /* Return a pointer to the LHS of call statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_call_lhs_ptr (gcall *gs)
> {
> return &gs->op[0];
> }
>
> -static inline tree *
> +inline tree *
> gimple_call_lhs_ptr (gimple *gs)
> {
> gcall *gc = GIMPLE_CHECK2<gcall *> (gs);
> @@ -3045,7 +3045,7 @@ gimple_call_lhs_ptr (gimple *gs)
>
> /* Set LHS to be the LHS operand of call statement GS. */
>
> -static inline void
> +inline void
> gimple_call_set_lhs (gcall *gs, tree lhs)
> {
> gs->op[0] = lhs;
> @@ -3053,7 +3053,7 @@ gimple_call_set_lhs (gcall *gs, tree lhs)
> SSA_NAME_DEF_STMT (lhs) = gs;
> }
>
> -static inline void
> +inline void
> gimple_call_set_lhs (gimple *gs, tree lhs)
> {
> gcall *gc = GIMPLE_CHECK2<gcall *> (gs);
> @@ -3064,13 +3064,13 @@ gimple_call_set_lhs (gimple *gs, tree lhs)
> /* Return true if call GS calls an internal-only function, as enumerated
> by internal_fn. */
>
> -static inline bool
> +inline bool
> gimple_call_internal_p (const gcall *gs)
> {
> return (gs->subcode & GF_CALL_INTERNAL) != 0;
> }
>
> -static inline bool
> +inline bool
> gimple_call_internal_p (const gimple *gs)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3079,7 +3079,7 @@ gimple_call_internal_p (const gimple *gs)
>
> /* Return true if call GS is marked as nocf_check. */
>
> -static inline bool
> +inline bool
> gimple_call_nocf_check_p (const gcall *gs)
> {
> return (gs->subcode & GF_CALL_NOCF_CHECK) != 0;
> @@ -3087,7 +3087,7 @@ gimple_call_nocf_check_p (const gcall *gs)
>
> /* Mark statement GS as nocf_check call. */
>
> -static inline void
> +inline void
> gimple_call_set_nocf_check (gcall *gs, bool nocf_check)
> {
> if (nocf_check)
> @@ -3098,14 +3098,14 @@ gimple_call_set_nocf_check (gcall *gs, bool nocf_check)
>
> /* Return the target of internal call GS. */
>
> -static inline enum internal_fn
> +inline enum internal_fn
> gimple_call_internal_fn (const gcall *gs)
> {
> gcc_gimple_checking_assert (gimple_call_internal_p (gs));
> return gs->u.internal_fn;
> }
>
> -static inline enum internal_fn
> +inline enum internal_fn
> gimple_call_internal_fn (const gimple *gs)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3114,13 +3114,13 @@ gimple_call_internal_fn (const gimple *gs)
>
> /* Return true, if this internal gimple call is unique. */
>
> -static inline bool
> +inline bool
> gimple_call_internal_unique_p (const gcall *gs)
> {
> return gimple_call_internal_fn (gs) == IFN_UNIQUE;
> }
>
> -static inline bool
> +inline bool
> gimple_call_internal_unique_p (const gimple *gs)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3129,7 +3129,7 @@ gimple_call_internal_unique_p (const gimple *gs)
>
> /* Return true if GS is an internal function FN. */
>
> -static inline bool
> +inline bool
> gimple_call_internal_p (const gimple *gs, internal_fn fn)
> {
> return (is_gimple_call (gs)
> @@ -3140,7 +3140,7 @@ gimple_call_internal_p (const gimple *gs, internal_fn fn)
> /* If CTRL_ALTERING_P is true, mark GIMPLE_CALL S to be a stmt
> that could alter control flow. */
>
> -static inline void
> +inline void
> gimple_call_set_ctrl_altering (gcall *s, bool ctrl_altering_p)
> {
> if (ctrl_altering_p)
> @@ -3149,7 +3149,7 @@ gimple_call_set_ctrl_altering (gcall *s, bool ctrl_altering_p)
> s->subcode &= ~GF_CALL_CTRL_ALTERING;
> }
>
> -static inline void
> +inline void
> gimple_call_set_ctrl_altering (gimple *s, bool ctrl_altering_p)
> {
> gcall *gc = GIMPLE_CHECK2<gcall *> (s);
> @@ -3159,13 +3159,13 @@ gimple_call_set_ctrl_altering (gimple *s, bool ctrl_altering_p)
> /* Return true if call GS calls an func whose GF_CALL_CTRL_ALTERING
> flag is set. Such call could not be a stmt in the middle of a bb. */
>
> -static inline bool
> +inline bool
> gimple_call_ctrl_altering_p (const gcall *gs)
> {
> return (gs->subcode & GF_CALL_CTRL_ALTERING) != 0;
> }
>
> -static inline bool
> +inline bool
> gimple_call_ctrl_altering_p (const gimple *gs)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3175,7 +3175,7 @@ gimple_call_ctrl_altering_p (const gimple *gs)
>
> /* Return the function type of the function called by GS. */
>
> -static inline tree
> +inline tree
> gimple_call_fntype (const gcall *gs)
> {
> if (gimple_call_internal_p (gs))
> @@ -3183,7 +3183,7 @@ gimple_call_fntype (const gcall *gs)
> return gs->u.fntype;
> }
>
> -static inline tree
> +inline tree
> gimple_call_fntype (const gimple *gs)
> {
> const gcall *call_stmt = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3192,7 +3192,7 @@ gimple_call_fntype (const gimple *gs)
>
> /* Set the type of the function called by CALL_STMT to FNTYPE. */
>
> -static inline void
> +inline void
> gimple_call_set_fntype (gcall *call_stmt, tree fntype)
> {
> gcc_gimple_checking_assert (!gimple_call_internal_p (call_stmt));
> @@ -3203,13 +3203,13 @@ gimple_call_set_fntype (gcall *call_stmt, tree fntype)
> /* Return the tree node representing the function called by call
> statement GS. */
>
> -static inline tree
> +inline tree
> gimple_call_fn (const gcall *gs)
> {
> return gs->op[1];
> }
>
> -static inline tree
> +inline tree
> gimple_call_fn (const gimple *gs)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3219,13 +3219,13 @@ gimple_call_fn (const gimple *gs)
> /* Return a pointer to the tree node representing the function called by call
> statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_call_fn_ptr (gcall *gs)
> {
> return &gs->op[1];
> }
>
> -static inline tree *
> +inline tree *
> gimple_call_fn_ptr (gimple *gs)
> {
> gcall *gc = GIMPLE_CHECK2<gcall *> (gs);
> @@ -3235,7 +3235,7 @@ gimple_call_fn_ptr (gimple *gs)
>
> /* Set FN to be the function called by call statement GS. */
>
> -static inline void
> +inline void
> gimple_call_set_fn (gcall *gs, tree fn)
> {
> gcc_gimple_checking_assert (!gimple_call_internal_p (gs));
> @@ -3245,7 +3245,7 @@ gimple_call_set_fn (gcall *gs, tree fn)
>
> /* Set FNDECL to be the function called by call statement GS. */
>
> -static inline void
> +inline void
> gimple_call_set_fndecl (gcall *gs, tree decl)
> {
> gcc_gimple_checking_assert (!gimple_call_internal_p (gs));
> @@ -3253,7 +3253,7 @@ gimple_call_set_fndecl (gcall *gs, tree decl)
> build_pointer_type (TREE_TYPE (decl)), decl);
> }
>
> -static inline void
> +inline void
> gimple_call_set_fndecl (gimple *gs, tree decl)
> {
> gcall *gc = GIMPLE_CHECK2<gcall *> (gs);
> @@ -3263,7 +3263,7 @@ gimple_call_set_fndecl (gimple *gs, tree decl)
>
> /* Set internal function FN to be the function called by call statement CALL_STMT. */
>
> -static inline void
> +inline void
> gimple_call_set_internal_fn (gcall *call_stmt, enum internal_fn fn)
> {
> gcc_gimple_checking_assert (gimple_call_internal_p (call_stmt));
> @@ -3275,13 +3275,13 @@ gimple_call_set_internal_fn (gcall *call_stmt, enum internal_fn fn)
> Otherwise return NULL. This function is analogous to
> get_callee_fndecl in tree land. */
>
> -static inline tree
> +inline tree
> gimple_call_fndecl (const gcall *gs)
> {
> return gimple_call_addr_fndecl (gimple_call_fn (gs));
> }
>
> -static inline tree
> +inline tree
> gimple_call_fndecl (const gimple *gs)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3291,7 +3291,7 @@ gimple_call_fndecl (const gimple *gs)
>
> /* Return the type returned by call statement GS. */
>
> -static inline tree
> +inline tree
> gimple_call_return_type (const gcall *gs)
> {
> tree type = gimple_call_fntype (gs);
> @@ -3307,13 +3307,13 @@ gimple_call_return_type (const gcall *gs)
>
> /* Return the static chain for call statement GS. */
>
> -static inline tree
> +inline tree
> gimple_call_chain (const gcall *gs)
> {
> return gs->op[2];
> }
>
> -static inline tree
> +inline tree
> gimple_call_chain (const gimple *gs)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3323,7 +3323,7 @@ gimple_call_chain (const gimple *gs)
>
> /* Return a pointer to the static chain for call statement CALL_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_call_chain_ptr (gcall *call_stmt)
> {
> return &call_stmt->op[2];
> @@ -3331,7 +3331,7 @@ gimple_call_chain_ptr (gcall *call_stmt)
>
> /* Set CHAIN to be the static chain for call statement CALL_STMT. */
>
> -static inline void
> +inline void
> gimple_call_set_chain (gcall *call_stmt, tree chain)
> {
> call_stmt->op[2] = chain;
> @@ -3340,13 +3340,13 @@ gimple_call_set_chain (gcall *call_stmt, tree chain)
>
> /* Return the number of arguments used by call statement GS. */
>
> -static inline unsigned
> +inline unsigned
> gimple_call_num_args (const gcall *gs)
> {
> return gimple_num_ops (gs) - 3;
> }
>
> -static inline unsigned
> +inline unsigned
> gimple_call_num_args (const gimple *gs)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3356,14 +3356,14 @@ gimple_call_num_args (const gimple *gs)
>
> /* Return the argument at position INDEX for call statement GS. */
>
> -static inline tree
> +inline tree
> gimple_call_arg (const gcall *gs, unsigned index)
> {
> gcc_gimple_checking_assert (gimple_num_ops (gs) > index + 3);
> return gs->op[index + 3];
> }
>
> -static inline tree
> +inline tree
> gimple_call_arg (const gimple *gs, unsigned index)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
> @@ -3374,14 +3374,14 @@ gimple_call_arg (const gimple *gs, unsigned index)
> /* Return a pointer to the argument at position INDEX for call
> statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_call_arg_ptr (gcall *gs, unsigned index)
> {
> gcc_gimple_checking_assert (gimple_num_ops (gs) > index + 3);
> return &gs->op[index + 3];
> }
>
> -static inline tree *
> +inline tree *
> gimple_call_arg_ptr (gimple *gs, unsigned index)
> {
> gcall *gc = GIMPLE_CHECK2<gcall *> (gs);
> @@ -3391,14 +3391,14 @@ gimple_call_arg_ptr (gimple *gs, unsigned index)
>
> /* Set ARG to be the argument at position INDEX for call statement GS. */
>
> -static inline void
> +inline void
> gimple_call_set_arg (gcall *gs, unsigned index, tree arg)
> {
> gcc_gimple_checking_assert (gimple_num_ops (gs) > index + 3);
> gs->op[index + 3] = arg;
> }
>
> -static inline void
> +inline void
> gimple_call_set_arg (gimple *gs, unsigned index, tree arg)
> {
> gcall *gc = GIMPLE_CHECK2<gcall *> (gs);
> @@ -3410,7 +3410,7 @@ gimple_call_set_arg (gimple *gs, unsigned index, tree arg)
> (i.e., a call just before the exit of a function). These calls are
> candidate for tail call optimization. */
>
> -static inline void
> +inline void
> gimple_call_set_tail (gcall *s, bool tail_p)
> {
> if (tail_p)
> @@ -3422,7 +3422,7 @@ gimple_call_set_tail (gcall *s, bool tail_p)
>
> /* Return true if GIMPLE_CALL S is marked as a tail call. */
>
> -static inline bool
> +inline bool
> gimple_call_tail_p (const gcall *s)
> {
> return (s->subcode & GF_CALL_TAILCALL) != 0;
> @@ -3430,7 +3430,7 @@ gimple_call_tail_p (const gcall *s)
>
> /* Mark (or clear) call statement S as requiring tail call optimization. */
>
> -static inline void
> +inline void
> gimple_call_set_must_tail (gcall *s, bool must_tail_p)
> {
> if (must_tail_p)
> @@ -3442,7 +3442,7 @@ gimple_call_set_must_tail (gcall *s, bool must_tail_p)
> /* Return true if call statement has been marked as requiring
> tail call optimization. */
>
> -static inline bool
> +inline bool
> gimple_call_must_tail_p (const gcall *s)
> {
> return (s->subcode & GF_CALL_MUST_TAIL_CALL) != 0;
> @@ -3452,7 +3452,7 @@ gimple_call_must_tail_p (const gcall *s)
> slot optimization. This transformation uses the target of the call
> expansion as the return slot for calls that return in memory. */
>
> -static inline void
> +inline void
> gimple_call_set_return_slot_opt (gcall *s, bool return_slot_opt_p)
> {
> if (return_slot_opt_p)
> @@ -3464,7 +3464,7 @@ gimple_call_set_return_slot_opt (gcall *s, bool return_slot_opt_p)
>
> /* Return true if S is marked for return slot optimization. */
>
> -static inline bool
> +inline bool
> gimple_call_return_slot_opt_p (const gcall *s)
> {
> return (s->subcode & GF_CALL_RETURN_SLOT_OPT) != 0;
> @@ -3474,7 +3474,7 @@ gimple_call_return_slot_opt_p (const gcall *s)
> /* If FROM_THUNK_P is true, mark GIMPLE_CALL S as being the jump from a
> thunk to the thunked-to function. */
>
> -static inline void
> +inline void
> gimple_call_set_from_thunk (gcall *s, bool from_thunk_p)
> {
> if (from_thunk_p)
> @@ -3486,7 +3486,7 @@ gimple_call_set_from_thunk (gcall *s, bool from_thunk_p)
>
> /* Return true if GIMPLE_CALL S is a jump from a thunk. */
>
> -static inline bool
> +inline bool
> gimple_call_from_thunk_p (gcall *s)
> {
> return (s->subcode & GF_CALL_FROM_THUNK) != 0;
> @@ -3496,7 +3496,7 @@ gimple_call_from_thunk_p (gcall *s)
> /* If FROM_NEW_OR_DELETE_P is true, mark GIMPLE_CALL S as being a call
> to operator new or delete created from a new or delete expression. */
>
> -static inline void
> +inline void
> gimple_call_set_from_new_or_delete (gcall *s, bool from_new_or_delete_p)
> {
> if (from_new_or_delete_p)
> @@ -3509,7 +3509,7 @@ gimple_call_set_from_new_or_delete (gcall *s, bool from_new_or_delete_p)
> /* Return true if GIMPLE_CALL S is a call to operator new or delete from
> from a new or delete expression. */
>
> -static inline bool
> +inline bool
> gimple_call_from_new_or_delete (const gcall *s)
> {
> return (s->subcode & GF_CALL_FROM_NEW_OR_DELETE) != 0;
> @@ -3519,7 +3519,7 @@ gimple_call_from_new_or_delete (const gcall *s)
> /* If PASS_ARG_PACK_P is true, GIMPLE_CALL S is a stdarg call that needs the
> argument pack in its argument list. */
>
> -static inline void
> +inline void
> gimple_call_set_va_arg_pack (gcall *s, bool pass_arg_pack_p)
> {
> if (pass_arg_pack_p)
> @@ -3532,7 +3532,7 @@ gimple_call_set_va_arg_pack (gcall *s, bool pass_arg_pack_p)
> /* Return true if GIMPLE_CALL S is a stdarg call that needs the
> argument pack in its argument list. */
>
> -static inline bool
> +inline bool
> gimple_call_va_arg_pack_p (const gcall *s)
> {
> return (s->subcode & GF_CALL_VA_ARG_PACK) != 0;
> @@ -3541,13 +3541,13 @@ gimple_call_va_arg_pack_p (const gcall *s)
>
> /* Return true if S is a noreturn call. */
>
> -static inline bool
> +inline bool
> gimple_call_noreturn_p (const gcall *s)
> {
> return (gimple_call_flags (s) & ECF_NORETURN) != 0;
> }
>
> -static inline bool
> +inline bool
> gimple_call_noreturn_p (const gimple *s)
> {
> const gcall *gc = GIMPLE_CHECK2<const gcall *> (s);
> @@ -3558,7 +3558,7 @@ gimple_call_noreturn_p (const gimple *s)
> /* If NOTHROW_P is true, GIMPLE_CALL S is a call that is known to not throw
> even if the called function can throw in other cases. */
>
> -static inline void
> +inline void
> gimple_call_set_nothrow (gcall *s, bool nothrow_p)
> {
> if (nothrow_p)
> @@ -3569,7 +3569,7 @@ gimple_call_set_nothrow (gcall *s, bool nothrow_p)
>
> /* Return true if S is a nothrow call. */
>
> -static inline bool
> +inline bool
> gimple_call_nothrow_p (gcall *s)
> {
> return (gimple_call_flags (s) & ECF_NOTHROW) != 0;
> @@ -3580,7 +3580,7 @@ gimple_call_nothrow_p (gcall *s)
> stack_save/stack_restore calls and hence can't lead to unbounded
> stack growth even when they occur in loops. */
>
> -static inline void
> +inline void
> gimple_call_set_alloca_for_var (gcall *s, bool for_var)
> {
> if (for_var)
> @@ -3591,13 +3591,13 @@ gimple_call_set_alloca_for_var (gcall *s, bool for_var)
>
> /* Return true of S is a call to builtin_alloca emitted for VLA objects. */
>
> -static inline bool
> +inline bool
> gimple_call_alloca_for_var_p (gcall *s)
> {
> return (s->subcode & GF_CALL_ALLOCA_FOR_VAR) != 0;
> }
>
> -static inline bool
> +inline bool
> gimple_call_alloca_for_var_p (gimple *s)
> {
> const gcall *gc = GIMPLE_CHECK2<gcall *> (s);
> @@ -3607,7 +3607,7 @@ gimple_call_alloca_for_var_p (gimple *s)
> /* If BY_DESCRIPTOR_P is true, GIMPLE_CALL S is an indirect call for which
> pointers to nested function are descriptors instead of trampolines. */
>
> -static inline void
> +inline void
> gimple_call_set_by_descriptor (gcall *s, bool by_descriptor_p)
> {
> if (by_descriptor_p)
> @@ -3618,7 +3618,7 @@ gimple_call_set_by_descriptor (gcall *s, bool by_descriptor_p)
>
> /* Return true if S is a by-descriptor call. */
>
> -static inline bool
> +inline bool
> gimple_call_by_descriptor_p (gcall *s)
> {
> return (s->subcode & GF_CALL_BY_DESCRIPTOR) != 0;
> @@ -3626,7 +3626,7 @@ gimple_call_by_descriptor_p (gcall *s)
>
> /* Copy all the GF_CALL_* flags from ORIG_CALL to DEST_CALL. */
>
> -static inline void
> +inline void
> gimple_call_copy_flags (gcall *dest_call, gcall *orig_call)
> {
> dest_call->subcode = orig_call->subcode;
> @@ -3636,7 +3636,7 @@ gimple_call_copy_flags (gcall *dest_call, gcall *orig_call)
> /* Return a pointer to the points-to solution for the set of call-used
> variables of the call CALL_STMT. */
>
> -static inline struct pt_solution *
> +inline struct pt_solution *
> gimple_call_use_set (gcall *call_stmt)
> {
> return &call_stmt->call_used;
> @@ -3644,7 +3644,7 @@ gimple_call_use_set (gcall *call_stmt)
>
> /* As above, but const. */
>
> -static inline const pt_solution *
> +inline const pt_solution *
> gimple_call_use_set (const gcall *call_stmt)
> {
> return &call_stmt->call_used;
> @@ -3653,7 +3653,7 @@ gimple_call_use_set (const gcall *call_stmt)
> /* Return a pointer to the points-to solution for the set of call-used
> variables of the call CALL_STMT. */
>
> -static inline struct pt_solution *
> +inline struct pt_solution *
> gimple_call_clobber_set (gcall *call_stmt)
> {
> return &call_stmt->call_clobbered;
> @@ -3661,7 +3661,7 @@ gimple_call_clobber_set (gcall *call_stmt)
>
> /* As above, but const. */
>
> -static inline const pt_solution *
> +inline const pt_solution *
> gimple_call_clobber_set (const gcall *call_stmt)
> {
> return &call_stmt->call_clobbered;
> @@ -3671,7 +3671,7 @@ gimple_call_clobber_set (const gcall *call_stmt)
> /* Returns true if this is a GIMPLE_ASSIGN or a GIMPLE_CALL with a
> non-NULL lhs. */
>
> -static inline bool
> +inline bool
> gimple_has_lhs (const gimple *stmt)
> {
> if (is_gimple_assign (stmt))
> @@ -3684,13 +3684,13 @@ gimple_has_lhs (const gimple *stmt)
>
> /* Return the code of the predicate computed by conditional statement GS. */
>
> -static inline enum tree_code
> +inline enum tree_code
> gimple_cond_code (const gcond *gs)
> {
> return (enum tree_code) gs->subcode;
> }
>
> -static inline enum tree_code
> +inline enum tree_code
> gimple_cond_code (const gimple *gs)
> {
> const gcond *gc = GIMPLE_CHECK2<const gcond *> (gs);
> @@ -3700,7 +3700,7 @@ gimple_cond_code (const gimple *gs)
>
> /* Set CODE to be the predicate code for the conditional statement GS. */
>
> -static inline void
> +inline void
> gimple_cond_set_code (gcond *gs, enum tree_code code)
> {
> gs->subcode = code;
> @@ -3709,13 +3709,13 @@ gimple_cond_set_code (gcond *gs, enum tree_code code)
>
> /* Return the LHS of the predicate computed by conditional statement GS. */
>
> -static inline tree
> +inline tree
> gimple_cond_lhs (const gcond *gs)
> {
> return gs->op[0];
> }
>
> -static inline tree
> +inline tree
> gimple_cond_lhs (const gimple *gs)
> {
> const gcond *gc = GIMPLE_CHECK2<const gcond *> (gs);
> @@ -3725,7 +3725,7 @@ gimple_cond_lhs (const gimple *gs)
> /* Return the pointer to the LHS of the predicate computed by conditional
> statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_cond_lhs_ptr (gcond *gs)
> {
> return &gs->op[0];
> @@ -3734,7 +3734,7 @@ gimple_cond_lhs_ptr (gcond *gs)
> /* Set LHS to be the LHS operand of the predicate computed by
> conditional statement GS. */
>
> -static inline void
> +inline void
> gimple_cond_set_lhs (gcond *gs, tree lhs)
> {
> gs->op[0] = lhs;
> @@ -3743,13 +3743,13 @@ gimple_cond_set_lhs (gcond *gs, tree lhs)
>
> /* Return the RHS operand of the predicate computed by conditional GS. */
>
> -static inline tree
> +inline tree
> gimple_cond_rhs (const gcond *gs)
> {
> return gs->op[1];
> }
>
> -static inline tree
> +inline tree
> gimple_cond_rhs (const gimple *gs)
> {
> const gcond *gc = GIMPLE_CHECK2<const gcond *> (gs);
> @@ -3759,7 +3759,7 @@ gimple_cond_rhs (const gimple *gs)
> /* Return the pointer to the RHS operand of the predicate computed by
> conditional GS. */
>
> -static inline tree *
> +inline tree *
> gimple_cond_rhs_ptr (gcond *gs)
> {
> return &gs->op[1];
> @@ -3769,7 +3769,7 @@ gimple_cond_rhs_ptr (gcond *gs)
> /* Set RHS to be the RHS operand of the predicate computed by
> conditional statement GS. */
>
> -static inline void
> +inline void
> gimple_cond_set_rhs (gcond *gs, tree rhs)
> {
> gs->op[1] = rhs;
> @@ -3779,7 +3779,7 @@ gimple_cond_set_rhs (gcond *gs, tree rhs)
> /* Return the label used by conditional statement GS when its
> predicate evaluates to true. */
>
> -static inline tree
> +inline tree
> gimple_cond_true_label (const gcond *gs)
> {
> return gs->op[2];
> @@ -3789,7 +3789,7 @@ gimple_cond_true_label (const gcond *gs)
> /* Set LABEL to be the label used by conditional statement GS when its
> predicate evaluates to true. */
>
> -static inline void
> +inline void
> gimple_cond_set_true_label (gcond *gs, tree label)
> {
> gs->op[2] = label;
> @@ -3799,7 +3799,7 @@ gimple_cond_set_true_label (gcond *gs, tree label)
> /* Set LABEL to be the label used by conditional statement GS when its
> predicate evaluates to false. */
>
> -static inline void
> +inline void
> gimple_cond_set_false_label (gcond *gs, tree label)
> {
> gs->op[3] = label;
> @@ -3809,7 +3809,7 @@ gimple_cond_set_false_label (gcond *gs, tree label)
> /* Return the label used by conditional statement GS when its
> predicate evaluates to false. */
>
> -static inline tree
> +inline tree
> gimple_cond_false_label (const gcond *gs)
> {
> return gs->op[3];
> @@ -3818,7 +3818,7 @@ gimple_cond_false_label (const gcond *gs)
>
> /* Set the conditional COND_STMT to be of the form 'if (1 == 0)'. */
>
> -static inline void
> +inline void
> gimple_cond_make_false (gcond *gs)
> {
> gimple_cond_set_lhs (gs, boolean_false_node);
> @@ -3829,7 +3829,7 @@ gimple_cond_make_false (gcond *gs)
>
> /* Set the conditional COND_STMT to be of the form 'if (1 == 1)'. */
>
> -static inline void
> +inline void
> gimple_cond_make_true (gcond *gs)
> {
> gimple_cond_set_lhs (gs, boolean_true_node);
> @@ -3840,7 +3840,7 @@ gimple_cond_make_true (gcond *gs)
> /* Check if conditional statemente GS is of the form 'if (1 == 1)',
> 'if (0 == 0)', 'if (1 != 0)' or 'if (0 != 1)' */
>
> -static inline bool
> +inline bool
> gimple_cond_true_p (const gcond *gs)
> {
> tree lhs = gimple_cond_lhs (gs);
> @@ -3865,7 +3865,7 @@ gimple_cond_true_p (const gcond *gs)
> /* Check if conditional statement GS is of the form 'if (1 != 1)',
> 'if (0 != 0)', 'if (1 == 0)' or 'if (0 == 1)' */
>
> -static inline bool
> +inline bool
> gimple_cond_false_p (const gcond *gs)
> {
> tree lhs = gimple_cond_lhs (gs);
> @@ -3889,7 +3889,7 @@ gimple_cond_false_p (const gcond *gs)
>
> /* Set the code, LHS and RHS of GIMPLE_COND STMT from CODE, LHS and RHS. */
>
> -static inline void
> +inline void
> gimple_cond_set_condition (gcond *stmt, enum tree_code code, tree lhs,
> tree rhs)
> {
> @@ -3905,7 +3905,7 @@ gimple_cond_set_condition (gcond *stmt, enum tree_code code, tree lhs,
> consistency. This is useful when the caller needs to deal with the
> three kinds of computation that GIMPLE supports. */
>
> -static inline enum tree_code
> +inline enum tree_code
> gimple_expr_code (const gimple *stmt)
> {
> if (const gassign *ass = dyn_cast<const gassign *> (stmt))
> @@ -3922,7 +3922,7 @@ gimple_expr_code (const gimple *stmt)
>
> /* Return the LABEL_DECL node used by GIMPLE_LABEL statement GS. */
>
> -static inline tree
> +inline tree
> gimple_label_label (const glabel *gs)
> {
> return gs->op[0];
> @@ -3932,7 +3932,7 @@ gimple_label_label (const glabel *gs)
> /* Set LABEL to be the LABEL_DECL node used by GIMPLE_LABEL statement
> GS. */
>
> -static inline void
> +inline void
> gimple_label_set_label (glabel *gs, tree label)
> {
> gs->op[0] = label;
> @@ -3941,7 +3941,7 @@ gimple_label_set_label (glabel *gs, tree label)
>
> /* Return the destination of the unconditional jump GS. */
>
> -static inline tree
> +inline tree
> gimple_goto_dest (const gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_GOTO);
> @@ -3951,7 +3951,7 @@ gimple_goto_dest (const gimple *gs)
>
> /* Set DEST to be the destination of the unconditonal jump GS. */
>
> -static inline void
> +inline void
> gimple_goto_set_dest (ggoto *gs, tree dest)
> {
> gs->op[0] = dest;
> @@ -3960,7 +3960,7 @@ gimple_goto_set_dest (ggoto *gs, tree dest)
>
> /* Return the variables declared in the GIMPLE_BIND statement GS. */
>
> -static inline tree
> +inline tree
> gimple_bind_vars (const gbind *bind_stmt)
> {
> return bind_stmt->vars;
> @@ -3970,7 +3970,7 @@ gimple_bind_vars (const gbind *bind_stmt)
> /* Set VARS to be the set of variables declared in the GIMPLE_BIND
> statement GS. */
>
> -static inline void
> +inline void
> gimple_bind_set_vars (gbind *bind_stmt, tree vars)
> {
> bind_stmt->vars = vars;
> @@ -3980,14 +3980,14 @@ gimple_bind_set_vars (gbind *bind_stmt, tree vars)
> /* Append VARS to the set of variables declared in the GIMPLE_BIND
> statement GS. */
>
> -static inline void
> +inline void
> gimple_bind_append_vars (gbind *bind_stmt, tree vars)
> {
> bind_stmt->vars = chainon (bind_stmt->vars, vars);
> }
>
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_bind_body_ptr (gbind *bind_stmt)
> {
> return &bind_stmt->body;
> @@ -3995,7 +3995,7 @@ gimple_bind_body_ptr (gbind *bind_stmt)
>
> /* Return the GIMPLE sequence contained in the GIMPLE_BIND statement GS. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_bind_body (const gbind *gs)
> {
> return *gimple_bind_body_ptr (const_cast <gbind *> (gs));
> @@ -4005,7 +4005,7 @@ gimple_bind_body (const gbind *gs)
> /* Set SEQ to be the GIMPLE sequence contained in the GIMPLE_BIND
> statement GS. */
>
> -static inline void
> +inline void
> gimple_bind_set_body (gbind *bind_stmt, gimple_seq seq)
> {
> bind_stmt->body = seq;
> @@ -4014,7 +4014,7 @@ gimple_bind_set_body (gbind *bind_stmt, gimple_seq seq)
>
> /* Append a statement to the end of a GIMPLE_BIND's body. */
>
> -static inline void
> +inline void
> gimple_bind_add_stmt (gbind *bind_stmt, gimple *stmt)
> {
> gimple_seq_add_stmt (&bind_stmt->body, stmt);
> @@ -4023,7 +4023,7 @@ gimple_bind_add_stmt (gbind *bind_stmt, gimple *stmt)
>
> /* Append a sequence of statements to the end of a GIMPLE_BIND's body. */
>
> -static inline void
> +inline void
> gimple_bind_add_seq (gbind *bind_stmt, gimple_seq seq)
> {
> gimple_seq_add_seq (&bind_stmt->body, seq);
> @@ -4033,7 +4033,7 @@ gimple_bind_add_seq (gbind *bind_stmt, gimple_seq seq)
> /* Return the TREE_BLOCK node associated with GIMPLE_BIND statement
> GS. This is analogous to the BIND_EXPR_BLOCK field in trees. */
>
> -static inline tree
> +inline tree
> gimple_bind_block (const gbind *bind_stmt)
> {
> return bind_stmt->block;
> @@ -4043,7 +4043,7 @@ gimple_bind_block (const gbind *bind_stmt)
> /* Set BLOCK to be the TREE_BLOCK node associated with GIMPLE_BIND
> statement GS. */
>
> -static inline void
> +inline void
> gimple_bind_set_block (gbind *bind_stmt, tree block)
> {
> gcc_gimple_checking_assert (block == NULL_TREE
> @@ -4054,7 +4054,7 @@ gimple_bind_set_block (gbind *bind_stmt, tree block)
>
> /* Return the number of input operands for GIMPLE_ASM ASM_STMT. */
>
> -static inline unsigned
> +inline unsigned
> gimple_asm_ninputs (const gasm *asm_stmt)
> {
> return asm_stmt->ni;
> @@ -4063,7 +4063,7 @@ gimple_asm_ninputs (const gasm *asm_stmt)
>
> /* Return the number of output operands for GIMPLE_ASM ASM_STMT. */
>
> -static inline unsigned
> +inline unsigned
> gimple_asm_noutputs (const gasm *asm_stmt)
> {
> return asm_stmt->no;
> @@ -4072,7 +4072,7 @@ gimple_asm_noutputs (const gasm *asm_stmt)
>
> /* Return the number of clobber operands for GIMPLE_ASM ASM_STMT. */
>
> -static inline unsigned
> +inline unsigned
> gimple_asm_nclobbers (const gasm *asm_stmt)
> {
> return asm_stmt->nc;
> @@ -4080,7 +4080,7 @@ gimple_asm_nclobbers (const gasm *asm_stmt)
>
> /* Return the number of label operands for GIMPLE_ASM ASM_STMT. */
>
> -static inline unsigned
> +inline unsigned
> gimple_asm_nlabels (const gasm *asm_stmt)
> {
> return asm_stmt->nl;
> @@ -4088,7 +4088,7 @@ gimple_asm_nlabels (const gasm *asm_stmt)
>
> /* Return input operand INDEX of GIMPLE_ASM ASM_STMT. */
>
> -static inline tree
> +inline tree
> gimple_asm_input_op (const gasm *asm_stmt, unsigned index)
> {
> gcc_gimple_checking_assert (index < asm_stmt->ni);
> @@ -4097,7 +4097,7 @@ gimple_asm_input_op (const gasm *asm_stmt, unsigned index)
>
> /* Set IN_OP to be input operand INDEX in GIMPLE_ASM ASM_STMT. */
>
> -static inline void
> +inline void
> gimple_asm_set_input_op (gasm *asm_stmt, unsigned index, tree in_op)
> {
> gcc_gimple_checking_assert (index < asm_stmt->ni
> @@ -4108,7 +4108,7 @@ gimple_asm_set_input_op (gasm *asm_stmt, unsigned index, tree in_op)
>
> /* Return output operand INDEX of GIMPLE_ASM ASM_STMT. */
>
> -static inline tree
> +inline tree
> gimple_asm_output_op (const gasm *asm_stmt, unsigned index)
> {
> gcc_gimple_checking_assert (index < asm_stmt->no);
> @@ -4117,7 +4117,7 @@ gimple_asm_output_op (const gasm *asm_stmt, unsigned index)
>
> /* Set OUT_OP to be output operand INDEX in GIMPLE_ASM ASM_STMT. */
>
> -static inline void
> +inline void
> gimple_asm_set_output_op (gasm *asm_stmt, unsigned index, tree out_op)
> {
> gcc_gimple_checking_assert (index < asm_stmt->no
> @@ -4128,7 +4128,7 @@ gimple_asm_set_output_op (gasm *asm_stmt, unsigned index, tree out_op)
>
> /* Return clobber operand INDEX of GIMPLE_ASM ASM_STMT. */
>
> -static inline tree
> +inline tree
> gimple_asm_clobber_op (const gasm *asm_stmt, unsigned index)
> {
> gcc_gimple_checking_assert (index < asm_stmt->nc);
> @@ -4138,7 +4138,7 @@ gimple_asm_clobber_op (const gasm *asm_stmt, unsigned index)
>
> /* Set CLOBBER_OP to be clobber operand INDEX in GIMPLE_ASM ASM_STMT. */
>
> -static inline void
> +inline void
> gimple_asm_set_clobber_op (gasm *asm_stmt, unsigned index, tree clobber_op)
> {
> gcc_gimple_checking_assert (index < asm_stmt->nc
> @@ -4148,7 +4148,7 @@ gimple_asm_set_clobber_op (gasm *asm_stmt, unsigned index, tree clobber_op)
>
> /* Return label operand INDEX of GIMPLE_ASM ASM_STMT. */
>
> -static inline tree
> +inline tree
> gimple_asm_label_op (const gasm *asm_stmt, unsigned index)
> {
> gcc_gimple_checking_assert (index < asm_stmt->nl);
> @@ -4157,7 +4157,7 @@ gimple_asm_label_op (const gasm *asm_stmt, unsigned index)
>
> /* Set LABEL_OP to be label operand INDEX in GIMPLE_ASM ASM_STMT. */
>
> -static inline void
> +inline void
> gimple_asm_set_label_op (gasm *asm_stmt, unsigned index, tree label_op)
> {
> gcc_gimple_checking_assert (index < asm_stmt->nl
> @@ -4168,7 +4168,7 @@ gimple_asm_set_label_op (gasm *asm_stmt, unsigned index, tree label_op)
> /* Return the string representing the assembly instruction in
> GIMPLE_ASM ASM_STMT. */
>
> -static inline const char *
> +inline const char *
> gimple_asm_string (const gasm *asm_stmt)
> {
> return asm_stmt->string;
> @@ -4177,7 +4177,7 @@ gimple_asm_string (const gasm *asm_stmt)
>
> /* Return true if ASM_STMT is marked volatile. */
>
> -static inline bool
> +inline bool
> gimple_asm_volatile_p (const gasm *asm_stmt)
> {
> return (asm_stmt->subcode & GF_ASM_VOLATILE) != 0;
> @@ -4186,7 +4186,7 @@ gimple_asm_volatile_p (const gasm *asm_stmt)
>
> /* If VOLATILE_P is true, mark asm statement ASM_STMT as volatile. */
>
> -static inline void
> +inline void
> gimple_asm_set_volatile (gasm *asm_stmt, bool volatile_p)
> {
> if (volatile_p)
> @@ -4198,7 +4198,7 @@ gimple_asm_set_volatile (gasm *asm_stmt, bool volatile_p)
>
> /* Return true if ASM_STMT is marked inline. */
>
> -static inline bool
> +inline bool
> gimple_asm_inline_p (const gasm *asm_stmt)
> {
> return (asm_stmt->subcode & GF_ASM_INLINE) != 0;
> @@ -4207,7 +4207,7 @@ gimple_asm_inline_p (const gasm *asm_stmt)
>
> /* If INLINE_P is true, mark asm statement ASM_STMT as inline. */
>
> -static inline void
> +inline void
> gimple_asm_set_inline (gasm *asm_stmt, bool inline_p)
> {
> if (inline_p)
> @@ -4219,7 +4219,7 @@ gimple_asm_set_inline (gasm *asm_stmt, bool inline_p)
>
> /* If INPUT_P is true, mark asm ASM_STMT as an ASM_INPUT. */
>
> -static inline void
> +inline void
> gimple_asm_set_input (gasm *asm_stmt, bool input_p)
> {
> if (input_p)
> @@ -4231,7 +4231,7 @@ gimple_asm_set_input (gasm *asm_stmt, bool input_p)
>
> /* Return true if asm ASM_STMT is an ASM_INPUT. */
>
> -static inline bool
> +inline bool
> gimple_asm_input_p (const gasm *asm_stmt)
> {
> return (asm_stmt->subcode & GF_ASM_INPUT) != 0;
> @@ -4240,7 +4240,7 @@ gimple_asm_input_p (const gasm *asm_stmt)
>
> /* Return the types handled by GIMPLE_CATCH statement CATCH_STMT. */
>
> -static inline tree
> +inline tree
> gimple_catch_types (const gcatch *catch_stmt)
> {
> return catch_stmt->types;
> @@ -4249,7 +4249,7 @@ gimple_catch_types (const gcatch *catch_stmt)
>
> /* Return a pointer to the types handled by GIMPLE_CATCH statement CATCH_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_catch_types_ptr (gcatch *catch_stmt)
> {
> return &catch_stmt->types;
> @@ -4259,7 +4259,7 @@ gimple_catch_types_ptr (gcatch *catch_stmt)
> /* Return a pointer to the GIMPLE sequence representing the body of
> the handler of GIMPLE_CATCH statement CATCH_STMT. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_catch_handler_ptr (gcatch *catch_stmt)
> {
> return &catch_stmt->handler;
> @@ -4269,7 +4269,7 @@ gimple_catch_handler_ptr (gcatch *catch_stmt)
> /* Return the GIMPLE sequence representing the body of the handler of
> GIMPLE_CATCH statement CATCH_STMT. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_catch_handler (const gcatch *catch_stmt)
> {
> return *gimple_catch_handler_ptr (const_cast <gcatch *> (catch_stmt));
> @@ -4278,7 +4278,7 @@ gimple_catch_handler (const gcatch *catch_stmt)
>
> /* Set T to be the set of types handled by GIMPLE_CATCH CATCH_STMT. */
>
> -static inline void
> +inline void
> gimple_catch_set_types (gcatch *catch_stmt, tree t)
> {
> catch_stmt->types = t;
> @@ -4287,7 +4287,7 @@ gimple_catch_set_types (gcatch *catch_stmt, tree t)
>
> /* Set HANDLER to be the body of GIMPLE_CATCH CATCH_STMT. */
>
> -static inline void
> +inline void
> gimple_catch_set_handler (gcatch *catch_stmt, gimple_seq handler)
> {
> catch_stmt->handler = handler;
> @@ -4296,7 +4296,7 @@ gimple_catch_set_handler (gcatch *catch_stmt, gimple_seq handler)
>
> /* Return the types handled by GIMPLE_EH_FILTER statement GS. */
>
> -static inline tree
> +inline tree
> gimple_eh_filter_types (const gimple *gs)
> {
> const geh_filter *eh_filter_stmt = as_a <const geh_filter *> (gs);
> @@ -4307,7 +4307,7 @@ gimple_eh_filter_types (const gimple *gs)
> /* Return a pointer to the types handled by GIMPLE_EH_FILTER statement
> GS. */
>
> -static inline tree *
> +inline tree *
> gimple_eh_filter_types_ptr (gimple *gs)
> {
> geh_filter *eh_filter_stmt = as_a <geh_filter *> (gs);
> @@ -4318,7 +4318,7 @@ gimple_eh_filter_types_ptr (gimple *gs)
> /* Return a pointer to the sequence of statement to execute when
> GIMPLE_EH_FILTER statement fails. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_eh_filter_failure_ptr (gimple *gs)
> {
> geh_filter *eh_filter_stmt = as_a <geh_filter *> (gs);
> @@ -4329,7 +4329,7 @@ gimple_eh_filter_failure_ptr (gimple *gs)
> /* Return the sequence of statement to execute when GIMPLE_EH_FILTER
> statement fails. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_eh_filter_failure (const gimple *gs)
> {
> return *gimple_eh_filter_failure_ptr (const_cast <gimple *> (gs));
> @@ -4339,7 +4339,7 @@ gimple_eh_filter_failure (const gimple *gs)
> /* Set TYPES to be the set of types handled by GIMPLE_EH_FILTER
> EH_FILTER_STMT. */
>
> -static inline void
> +inline void
> gimple_eh_filter_set_types (geh_filter *eh_filter_stmt, tree types)
> {
> eh_filter_stmt->types = types;
> @@ -4349,7 +4349,7 @@ gimple_eh_filter_set_types (geh_filter *eh_filter_stmt, tree types)
> /* Set FAILURE to be the sequence of statements to execute on failure
> for GIMPLE_EH_FILTER EH_FILTER_STMT. */
>
> -static inline void
> +inline void
> gimple_eh_filter_set_failure (geh_filter *eh_filter_stmt,
> gimple_seq failure)
> {
> @@ -4358,7 +4358,7 @@ gimple_eh_filter_set_failure (geh_filter *eh_filter_stmt,
>
> /* Get the function decl to be called by the MUST_NOT_THROW region. */
>
> -static inline tree
> +inline tree
> gimple_eh_must_not_throw_fndecl (const geh_mnt *eh_mnt_stmt)
> {
> return eh_mnt_stmt->fndecl;
> @@ -4366,7 +4366,7 @@ gimple_eh_must_not_throw_fndecl (const geh_mnt *eh_mnt_stmt)
>
> /* Set the function decl to be called by GS to DECL. */
>
> -static inline void
> +inline void
> gimple_eh_must_not_throw_set_fndecl (geh_mnt *eh_mnt_stmt,
> tree decl)
> {
> @@ -4375,37 +4375,37 @@ gimple_eh_must_not_throw_set_fndecl (geh_mnt *eh_mnt_stmt,
>
> /* GIMPLE_EH_ELSE accessors. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_eh_else_n_body_ptr (geh_else *eh_else_stmt)
> {
> return &eh_else_stmt->n_body;
> }
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_eh_else_n_body (const geh_else *eh_else_stmt)
> {
> return *gimple_eh_else_n_body_ptr (const_cast <geh_else *> (eh_else_stmt));
> }
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_eh_else_e_body_ptr (geh_else *eh_else_stmt)
> {
> return &eh_else_stmt->e_body;
> }
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_eh_else_e_body (const geh_else *eh_else_stmt)
> {
> return *gimple_eh_else_e_body_ptr (const_cast <geh_else *> (eh_else_stmt));
> }
>
> -static inline void
> +inline void
> gimple_eh_else_set_n_body (geh_else *eh_else_stmt, gimple_seq seq)
> {
> eh_else_stmt->n_body = seq;
> }
>
> -static inline void
> +inline void
> gimple_eh_else_set_e_body (geh_else *eh_else_stmt, gimple_seq seq)
> {
> eh_else_stmt->e_body = seq;
> @@ -4416,7 +4416,7 @@ gimple_eh_else_set_e_body (geh_else *eh_else_stmt, gimple_seq seq)
> /* Return the kind of try block represented by GIMPLE_TRY GS. This is
> either GIMPLE_TRY_CATCH or GIMPLE_TRY_FINALLY. */
>
> -static inline enum gimple_try_flags
> +inline enum gimple_try_flags
> gimple_try_kind (const gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_TRY);
> @@ -4426,7 +4426,7 @@ gimple_try_kind (const gimple *gs)
>
> /* Set the kind of try block represented by GIMPLE_TRY GS. */
>
> -static inline void
> +inline void
> gimple_try_set_kind (gtry *gs, enum gimple_try_flags kind)
> {
> gcc_gimple_checking_assert (kind == GIMPLE_TRY_CATCH
> @@ -4438,7 +4438,7 @@ gimple_try_set_kind (gtry *gs, enum gimple_try_flags kind)
>
> /* Return the GIMPLE_TRY_CATCH_IS_CLEANUP flag. */
>
> -static inline bool
> +inline bool
> gimple_try_catch_is_cleanup (const gimple *gs)
> {
> gcc_gimple_checking_assert (gimple_try_kind (gs) == GIMPLE_TRY_CATCH);
> @@ -4449,7 +4449,7 @@ gimple_try_catch_is_cleanup (const gimple *gs)
> /* Return a pointer to the sequence of statements used as the
> body for GIMPLE_TRY GS. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_try_eval_ptr (gimple *gs)
> {
> gtry *try_stmt = as_a <gtry *> (gs);
> @@ -4459,7 +4459,7 @@ gimple_try_eval_ptr (gimple *gs)
>
> /* Return the sequence of statements used as the body for GIMPLE_TRY GS. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_try_eval (const gimple *gs)
> {
> return *gimple_try_eval_ptr (const_cast <gimple *> (gs));
> @@ -4469,7 +4469,7 @@ gimple_try_eval (const gimple *gs)
> /* Return a pointer to the sequence of statements used as the cleanup body for
> GIMPLE_TRY GS. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_try_cleanup_ptr (gimple *gs)
> {
> gtry *try_stmt = as_a <gtry *> (gs);
> @@ -4480,7 +4480,7 @@ gimple_try_cleanup_ptr (gimple *gs)
> /* Return the sequence of statements used as the cleanup body for
> GIMPLE_TRY GS. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_try_cleanup (const gimple *gs)
> {
> return *gimple_try_cleanup_ptr (const_cast <gimple *> (gs));
> @@ -4489,7 +4489,7 @@ gimple_try_cleanup (const gimple *gs)
>
> /* Set the GIMPLE_TRY_CATCH_IS_CLEANUP flag. */
>
> -static inline void
> +inline void
> gimple_try_set_catch_is_cleanup (gtry *g, bool catch_is_cleanup)
> {
> gcc_gimple_checking_assert (gimple_try_kind (g) == GIMPLE_TRY_CATCH);
> @@ -4503,7 +4503,7 @@ gimple_try_set_catch_is_cleanup (gtry *g, bool catch_is_cleanup)
> /* Set EVAL to be the sequence of statements to use as the body for
> GIMPLE_TRY TRY_STMT. */
>
> -static inline void
> +inline void
> gimple_try_set_eval (gtry *try_stmt, gimple_seq eval)
> {
> try_stmt->eval = eval;
> @@ -4513,7 +4513,7 @@ gimple_try_set_eval (gtry *try_stmt, gimple_seq eval)
> /* Set CLEANUP to be the sequence of statements to use as the cleanup
> body for GIMPLE_TRY TRY_STMT. */
>
> -static inline void
> +inline void
> gimple_try_set_cleanup (gtry *try_stmt, gimple_seq cleanup)
> {
> try_stmt->cleanup = cleanup;
> @@ -4522,7 +4522,7 @@ gimple_try_set_cleanup (gtry *try_stmt, gimple_seq cleanup)
>
> /* Return a pointer to the cleanup sequence for cleanup statement GS. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_wce_cleanup_ptr (gimple *gs)
> {
> gimple_statement_wce *wce_stmt = as_a <gimple_statement_wce *> (gs);
> @@ -4532,7 +4532,7 @@ gimple_wce_cleanup_ptr (gimple *gs)
>
> /* Return the cleanup sequence for cleanup statement GS. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_wce_cleanup (gimple *gs)
> {
> return *gimple_wce_cleanup_ptr (gs);
> @@ -4541,7 +4541,7 @@ gimple_wce_cleanup (gimple *gs)
>
> /* Set CLEANUP to be the cleanup sequence for GS. */
>
> -static inline void
> +inline void
> gimple_wce_set_cleanup (gimple *gs, gimple_seq cleanup)
> {
> gimple_statement_wce *wce_stmt = as_a <gimple_statement_wce *> (gs);
> @@ -4551,7 +4551,7 @@ gimple_wce_set_cleanup (gimple *gs, gimple_seq cleanup)
>
> /* Return the CLEANUP_EH_ONLY flag for a WCE tuple. */
>
> -static inline bool
> +inline bool
> gimple_wce_cleanup_eh_only (const gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_WITH_CLEANUP_EXPR);
> @@ -4561,7 +4561,7 @@ gimple_wce_cleanup_eh_only (const gimple *gs)
>
> /* Set the CLEANUP_EH_ONLY flag for a WCE tuple. */
>
> -static inline void
> +inline void
> gimple_wce_set_cleanup_eh_only (gimple *gs, bool eh_only_p)
> {
> GIMPLE_CHECK (gs, GIMPLE_WITH_CLEANUP_EXPR);
> @@ -4571,7 +4571,7 @@ gimple_wce_set_cleanup_eh_only (gimple *gs, bool eh_only_p)
>
> /* Return the maximum number of arguments supported by GIMPLE_PHI GS. */
>
> -static inline unsigned
> +inline unsigned
> gimple_phi_capacity (const gimple *gs)
> {
> const gphi *phi_stmt = as_a <const gphi *> (gs);
> @@ -4583,7 +4583,7 @@ gimple_phi_capacity (const gimple *gs)
> be exactly the number of incoming edges for the basic block holding
> GS. */
>
> -static inline unsigned
> +inline unsigned
> gimple_phi_num_args (const gimple *gs)
> {
> const gphi *phi_stmt = as_a <const gphi *> (gs);
> @@ -4593,13 +4593,13 @@ gimple_phi_num_args (const gimple *gs)
>
> /* Return the SSA name created by GIMPLE_PHI GS. */
>
> -static inline tree
> +inline tree
> gimple_phi_result (const gphi *gs)
> {
> return gs->result;
> }
>
> -static inline tree
> +inline tree
> gimple_phi_result (const gimple *gs)
> {
> const gphi *phi_stmt = as_a <const gphi *> (gs);
> @@ -4608,13 +4608,13 @@ gimple_phi_result (const gimple *gs)
>
> /* Return a pointer to the SSA name created by GIMPLE_PHI GS. */
>
> -static inline tree *
> +inline tree *
> gimple_phi_result_ptr (gphi *gs)
> {
> return &gs->result;
> }
>
> -static inline tree *
> +inline tree *
> gimple_phi_result_ptr (gimple *gs)
> {
> gphi *phi_stmt = as_a <gphi *> (gs);
> @@ -4623,7 +4623,7 @@ gimple_phi_result_ptr (gimple *gs)
>
> /* Set RESULT to be the SSA name created by GIMPLE_PHI PHI. */
>
> -static inline void
> +inline void
> gimple_phi_set_result (gphi *phi, tree result)
> {
> phi->result = result;
> @@ -4635,21 +4635,21 @@ gimple_phi_set_result (gphi *phi, tree result)
> /* Return the PHI argument corresponding to incoming edge INDEX for
> GIMPLE_PHI GS. */
>
> -static inline struct phi_arg_d *
> +inline struct phi_arg_d *
> gimple_phi_arg (gphi *gs, unsigned index)
> {
> gcc_gimple_checking_assert (index < gs->nargs);
> return &(gs->args[index]);
> }
>
> -static inline const phi_arg_d *
> +inline const phi_arg_d *
> gimple_phi_arg (const gphi *gs, unsigned index)
> {
> gcc_gimple_checking_assert (index < gs->nargs);
> return &(gs->args[index]);
> }
>
> -static inline struct phi_arg_d *
> +inline struct phi_arg_d *
> gimple_phi_arg (gimple *gs, unsigned index)
> {
> gphi *phi_stmt = as_a <gphi *> (gs);
> @@ -4659,7 +4659,7 @@ gimple_phi_arg (gimple *gs, unsigned index)
> /* Set PHIARG to be the argument corresponding to incoming edge INDEX
> for GIMPLE_PHI PHI. */
>
> -static inline void
> +inline void
> gimple_phi_set_arg (gphi *phi, unsigned index, struct phi_arg_d * phiarg)
> {
> gcc_gimple_checking_assert (index < phi->nargs);
> @@ -4669,7 +4669,7 @@ gimple_phi_set_arg (gphi *phi, unsigned index, struct phi_arg_d * phiarg)
> /* Return the PHI nodes for basic block BB, or NULL if there are no
> PHI nodes. */
>
> -static inline gimple_seq
> +inline gimple_seq
> phi_nodes (const_basic_block bb)
> {
> gcc_checking_assert (!(bb->flags & BB_RTL));
> @@ -4678,7 +4678,7 @@ phi_nodes (const_basic_block bb)
>
> /* Return a pointer to the PHI nodes for basic block BB. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> phi_nodes_ptr (basic_block bb)
> {
> gcc_checking_assert (!(bb->flags & BB_RTL));
> @@ -4687,13 +4687,13 @@ phi_nodes_ptr (basic_block bb)
>
> /* Return the tree operand for argument I of PHI node GS. */
>
> -static inline tree
> +inline tree
> gimple_phi_arg_def (const gphi *gs, size_t index)
> {
> return gimple_phi_arg (gs, index)->def;
> }
>
> -static inline tree
> +inline tree
> gimple_phi_arg_def (gimple *gs, size_t index)
> {
> return gimple_phi_arg (gs, index)->def;
> @@ -4702,7 +4702,7 @@ gimple_phi_arg_def (gimple *gs, size_t index)
>
> /* Return a pointer to the tree operand for argument I of phi node PHI. */
>
> -static inline tree *
> +inline tree *
> gimple_phi_arg_def_ptr (gphi *phi, size_t index)
> {
> return &gimple_phi_arg (phi, index)->def;
> @@ -4710,7 +4710,7 @@ gimple_phi_arg_def_ptr (gphi *phi, size_t index)
>
> /* Return the edge associated with argument I of phi node PHI. */
>
> -static inline edge
> +inline edge
> gimple_phi_arg_edge (const gphi *phi, size_t i)
> {
> return EDGE_PRED (gimple_bb (phi), i);
> @@ -4718,7 +4718,7 @@ gimple_phi_arg_edge (const gphi *phi, size_t i)
>
> /* Return the source location of gimple argument I of phi node PHI. */
>
> -static inline location_t
> +inline location_t
> gimple_phi_arg_location (const gphi *phi, size_t i)
> {
> return gimple_phi_arg (phi, i)->locus;
> @@ -4726,7 +4726,7 @@ gimple_phi_arg_location (const gphi *phi, size_t i)
>
> /* Return the source location of the argument on edge E of phi node PHI. */
>
> -static inline location_t
> +inline location_t
> gimple_phi_arg_location_from_edge (gphi *phi, edge e)
> {
> return gimple_phi_arg (phi, e->dest_idx)->locus;
> @@ -4734,7 +4734,7 @@ gimple_phi_arg_location_from_edge (gphi *phi, edge e)
>
> /* Set the source location of gimple argument I of phi node PHI to LOC. */
>
> -static inline void
> +inline void
> gimple_phi_arg_set_location (gphi *phi, size_t i, location_t loc)
> {
> gimple_phi_arg (phi, i)->locus = loc;
> @@ -4742,7 +4742,7 @@ gimple_phi_arg_set_location (gphi *phi, size_t i, location_t loc)
>
> /* Return address of source location of gimple argument I of phi node PHI. */
>
> -static inline location_t *
> +inline location_t *
> gimple_phi_arg_location_ptr (gphi *phi, size_t i)
> {
> return &gimple_phi_arg (phi, i)->locus;
> @@ -4750,7 +4750,7 @@ gimple_phi_arg_location_ptr (gphi *phi, size_t i)
>
> /* Return TRUE if argument I of phi node PHI has a location record. */
>
> -static inline bool
> +inline bool
> gimple_phi_arg_has_location (const gphi *phi, size_t i)
> {
> return gimple_phi_arg_location (phi, i) != UNKNOWN_LOCATION;
> @@ -4758,7 +4758,7 @@ gimple_phi_arg_has_location (const gphi *phi, size_t i)
>
> /* Return the number of arguments that can be accessed by gimple_arg. */
>
> -static inline unsigned
> +inline unsigned
> gimple_num_args (const gimple *gs)
> {
> if (auto phi = dyn_cast<const gphi *> (gs))
> @@ -4773,7 +4773,7 @@ gimple_num_args (const gimple *gs)
> If it's a call, return function argument I.
> If it's a PHI, return the value of PHI argument I. */
>
> -static inline tree
> +inline tree
> gimple_arg (const gimple *gs, unsigned int i)
> {
> if (auto phi = dyn_cast<const gphi *> (gs))
> @@ -4785,7 +4785,7 @@ gimple_arg (const gimple *gs, unsigned int i)
>
> /* Return a pointer to gimple_arg (GS, I). */
>
> -static inline tree *
> +inline tree *
> gimple_arg_ptr (gimple *gs, unsigned int i)
> {
> if (auto phi = dyn_cast<gphi *> (gs))
> @@ -4797,7 +4797,7 @@ gimple_arg_ptr (gimple *gs, unsigned int i)
>
> /* Return the region number for GIMPLE_RESX RESX_STMT. */
>
> -static inline int
> +inline int
> gimple_resx_region (const gresx *resx_stmt)
> {
> return resx_stmt->region;
> @@ -4805,7 +4805,7 @@ gimple_resx_region (const gresx *resx_stmt)
>
> /* Set REGION to be the region number for GIMPLE_RESX RESX_STMT. */
>
> -static inline void
> +inline void
> gimple_resx_set_region (gresx *resx_stmt, int region)
> {
> resx_stmt->region = region;
> @@ -4813,7 +4813,7 @@ gimple_resx_set_region (gresx *resx_stmt, int region)
>
> /* Return the region number for GIMPLE_EH_DISPATCH EH_DISPATCH_STMT. */
>
> -static inline int
> +inline int
> gimple_eh_dispatch_region (const geh_dispatch *eh_dispatch_stmt)
> {
> return eh_dispatch_stmt->region;
> @@ -4822,7 +4822,7 @@ gimple_eh_dispatch_region (const geh_dispatch *eh_dispatch_stmt)
> /* Set REGION to be the region number for GIMPLE_EH_DISPATCH
> EH_DISPATCH_STMT. */
>
> -static inline void
> +inline void
> gimple_eh_dispatch_set_region (geh_dispatch *eh_dispatch_stmt, int region)
> {
> eh_dispatch_stmt->region = region;
> @@ -4830,7 +4830,7 @@ gimple_eh_dispatch_set_region (geh_dispatch *eh_dispatch_stmt, int region)
>
> /* Return the number of labels associated with the switch statement GS. */
>
> -static inline unsigned
> +inline unsigned
> gimple_switch_num_labels (const gswitch *gs)
> {
> unsigned num_ops;
> @@ -4843,7 +4843,7 @@ gimple_switch_num_labels (const gswitch *gs)
>
> /* Set NLABELS to be the number of labels for the switch statement GS. */
>
> -static inline void
> +inline void
> gimple_switch_set_num_labels (gswitch *g, unsigned nlabels)
> {
> GIMPLE_CHECK (g, GIMPLE_SWITCH);
> @@ -4853,7 +4853,7 @@ gimple_switch_set_num_labels (gswitch *g, unsigned nlabels)
>
> /* Return the index variable used by the switch statement GS. */
>
> -static inline tree
> +inline tree
> gimple_switch_index (const gswitch *gs)
> {
> return gs->op[0];
> @@ -4862,7 +4862,7 @@ gimple_switch_index (const gswitch *gs)
>
> /* Return a pointer to the index variable for the switch statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_switch_index_ptr (gswitch *gs)
> {
> return &gs->op[0];
> @@ -4871,7 +4871,7 @@ gimple_switch_index_ptr (gswitch *gs)
>
> /* Set INDEX to be the index variable for switch statement GS. */
>
> -static inline void
> +inline void
> gimple_switch_set_index (gswitch *gs, tree index)
> {
> gcc_gimple_checking_assert (SSA_VAR_P (index) || CONSTANT_CLASS_P (index));
> @@ -4882,7 +4882,7 @@ gimple_switch_set_index (gswitch *gs, tree index)
> /* Return the label numbered INDEX. The default label is 0, followed by any
> labels in a switch statement. */
>
> -static inline tree
> +inline tree
> gimple_switch_label (const gswitch *gs, unsigned index)
> {
> gcc_gimple_checking_assert (gimple_num_ops (gs) > index + 1);
> @@ -4891,7 +4891,7 @@ gimple_switch_label (const gswitch *gs, unsigned index)
>
> /* Set the label number INDEX to LABEL. 0 is always the default label. */
>
> -static inline void
> +inline void
> gimple_switch_set_label (gswitch *gs, unsigned index, tree label)
> {
> gcc_gimple_checking_assert (gimple_num_ops (gs) > index + 1
> @@ -4902,7 +4902,7 @@ gimple_switch_set_label (gswitch *gs, unsigned index, tree label)
>
> /* Return the default label for a switch statement. */
>
> -static inline tree
> +inline tree
> gimple_switch_default_label (const gswitch *gs)
> {
> tree label = gimple_switch_label (gs, 0);
> @@ -4912,7 +4912,7 @@ gimple_switch_default_label (const gswitch *gs)
>
> /* Set the default label for a switch statement. */
>
> -static inline void
> +inline void
> gimple_switch_set_default_label (gswitch *gs, tree label)
> {
> gcc_checking_assert (!CASE_LOW (label) && !CASE_HIGH (label));
> @@ -4921,7 +4921,7 @@ gimple_switch_set_default_label (gswitch *gs, tree label)
>
> /* Return true if GS is a GIMPLE_DEBUG statement. */
>
> -static inline bool
> +inline bool
> is_gimple_debug (const gimple *gs)
> {
> return gimple_code (gs) == GIMPLE_DEBUG;
> @@ -4930,7 +4930,7 @@ is_gimple_debug (const gimple *gs)
>
> /* Return the first nondebug statement in GIMPLE sequence S. */
>
> -static inline gimple *
> +inline gimple *
> gimple_seq_first_nondebug_stmt (gimple_seq s)
> {
> gimple_seq_node n = gimple_seq_first (s);
> @@ -4942,7 +4942,7 @@ gimple_seq_first_nondebug_stmt (gimple_seq s)
>
> /* Return the last nondebug statement in GIMPLE sequence S. */
>
> -static inline gimple *
> +inline gimple *
> gimple_seq_last_nondebug_stmt (gimple_seq s)
> {
> gimple_seq_node n;
> @@ -4957,7 +4957,7 @@ gimple_seq_last_nondebug_stmt (gimple_seq s)
>
> /* Return true if S is a GIMPLE_DEBUG BIND statement. */
>
> -static inline bool
> +inline bool
> gimple_debug_bind_p (const gimple *s)
> {
> if (is_gimple_debug (s))
> @@ -4968,7 +4968,7 @@ gimple_debug_bind_p (const gimple *s)
>
> /* Return the variable bound in a GIMPLE_DEBUG bind statement. */
>
> -static inline tree
> +inline tree
> gimple_debug_bind_get_var (const gimple *dbg)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -4979,7 +4979,7 @@ gimple_debug_bind_get_var (const gimple *dbg)
> /* Return the value bound to the variable in a GIMPLE_DEBUG bind
> statement. */
>
> -static inline tree
> +inline tree
> gimple_debug_bind_get_value (const gimple *dbg)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -4990,7 +4990,7 @@ gimple_debug_bind_get_value (const gimple *dbg)
> /* Return a pointer to the value bound to the variable in a
> GIMPLE_DEBUG bind statement. */
>
> -static inline tree *
> +inline tree *
> gimple_debug_bind_get_value_ptr (gimple *dbg)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -5000,7 +5000,7 @@ gimple_debug_bind_get_value_ptr (gimple *dbg)
>
> /* Set the variable bound in a GIMPLE_DEBUG bind statement. */
>
> -static inline void
> +inline void
> gimple_debug_bind_set_var (gimple *dbg, tree var)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -5011,7 +5011,7 @@ gimple_debug_bind_set_var (gimple *dbg, tree var)
> /* Set the value bound to the variable in a GIMPLE_DEBUG bind
> statement. */
>
> -static inline void
> +inline void
> gimple_debug_bind_set_value (gimple *dbg, tree value)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -5026,7 +5026,7 @@ gimple_debug_bind_set_value (gimple *dbg, tree value)
> /* Remove the value bound to the variable in a GIMPLE_DEBUG bind
> statement. */
>
> -static inline void
> +inline void
> gimple_debug_bind_reset_value (gimple *dbg)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -5037,7 +5037,7 @@ gimple_debug_bind_reset_value (gimple *dbg)
> /* Return true if the GIMPLE_DEBUG bind statement is bound to a
> value. */
>
> -static inline bool
> +inline bool
> gimple_debug_bind_has_value_p (gimple *dbg)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -5049,7 +5049,7 @@ gimple_debug_bind_has_value_p (gimple *dbg)
>
> /* Return true if S is a GIMPLE_DEBUG SOURCE BIND statement. */
>
> -static inline bool
> +inline bool
> gimple_debug_source_bind_p (const gimple *s)
> {
> if (is_gimple_debug (s))
> @@ -5060,7 +5060,7 @@ gimple_debug_source_bind_p (const gimple *s)
>
> /* Return the variable bound in a GIMPLE_DEBUG source bind statement. */
>
> -static inline tree
> +inline tree
> gimple_debug_source_bind_get_var (const gimple *dbg)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -5071,7 +5071,7 @@ gimple_debug_source_bind_get_var (const gimple *dbg)
> /* Return the value bound to the variable in a GIMPLE_DEBUG source bind
> statement. */
>
> -static inline tree
> +inline tree
> gimple_debug_source_bind_get_value (const gimple *dbg)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -5082,7 +5082,7 @@ gimple_debug_source_bind_get_value (const gimple *dbg)
> /* Return a pointer to the value bound to the variable in a
> GIMPLE_DEBUG source bind statement. */
>
> -static inline tree *
> +inline tree *
> gimple_debug_source_bind_get_value_ptr (gimple *dbg)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -5092,7 +5092,7 @@ gimple_debug_source_bind_get_value_ptr (gimple *dbg)
>
> /* Set the variable bound in a GIMPLE_DEBUG source bind statement. */
>
> -static inline void
> +inline void
> gimple_debug_source_bind_set_var (gimple *dbg, tree var)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -5103,7 +5103,7 @@ gimple_debug_source_bind_set_var (gimple *dbg, tree var)
> /* Set the value bound to the variable in a GIMPLE_DEBUG source bind
> statement. */
>
> -static inline void
> +inline void
> gimple_debug_source_bind_set_value (gimple *dbg, tree value)
> {
> GIMPLE_CHECK (dbg, GIMPLE_DEBUG);
> @@ -5113,7 +5113,7 @@ gimple_debug_source_bind_set_value (gimple *dbg, tree value)
>
> /* Return true if S is a GIMPLE_DEBUG BEGIN_STMT statement. */
>
> -static inline bool
> +inline bool
> gimple_debug_begin_stmt_p (const gimple *s)
> {
> if (is_gimple_debug (s))
> @@ -5124,7 +5124,7 @@ gimple_debug_begin_stmt_p (const gimple *s)
>
> /* Return true if S is a GIMPLE_DEBUG INLINE_ENTRY statement. */
>
> -static inline bool
> +inline bool
> gimple_debug_inline_entry_p (const gimple *s)
> {
> if (is_gimple_debug (s))
> @@ -5135,7 +5135,7 @@ gimple_debug_inline_entry_p (const gimple *s)
>
> /* Return true if S is a GIMPLE_DEBUG non-binding marker statement. */
>
> -static inline bool
> +inline bool
> gimple_debug_nonbind_marker_p (const gimple *s)
> {
> if (is_gimple_debug (s))
> @@ -5147,7 +5147,7 @@ gimple_debug_nonbind_marker_p (const gimple *s)
>
> /* Return the line number for EXPR, or return -1 if we have no line
> number information for it. */
> -static inline int
> +inline int
> get_lineno (const gimple *stmt)
> {
> location_t loc;
> @@ -5164,7 +5164,7 @@ get_lineno (const gimple *stmt)
>
> /* Return a pointer to the body for the OMP statement GS. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_omp_body_ptr (gimple *gs)
> {
> return &static_cast <gimple_statement_omp *> (gs)->body;
> @@ -5172,7 +5172,7 @@ gimple_omp_body_ptr (gimple *gs)
>
> /* Return the body for the OMP statement GS. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_omp_body (const gimple *gs)
> {
> return *gimple_omp_body_ptr (const_cast <gimple *> (gs));
> @@ -5180,7 +5180,7 @@ gimple_omp_body (const gimple *gs)
>
> /* Set BODY to be the body for the OMP statement GS. */
>
> -static inline void
> +inline void
> gimple_omp_set_body (gimple *gs, gimple_seq body)
> {
> static_cast <gimple_statement_omp *> (gs)->body = body;
> @@ -5189,7 +5189,7 @@ gimple_omp_set_body (gimple *gs, gimple_seq body)
>
> /* Return the name associated with OMP_CRITICAL statement CRIT_STMT. */
>
> -static inline tree
> +inline tree
> gimple_omp_critical_name (const gomp_critical *crit_stmt)
> {
> return crit_stmt->name;
> @@ -5199,7 +5199,7 @@ gimple_omp_critical_name (const gomp_critical *crit_stmt)
> /* Return a pointer to the name associated with OMP critical statement
> CRIT_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_critical_name_ptr (gomp_critical *crit_stmt)
> {
> return &crit_stmt->name;
> @@ -5209,7 +5209,7 @@ gimple_omp_critical_name_ptr (gomp_critical *crit_stmt)
> /* Set NAME to be the name associated with OMP critical statement
> CRIT_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_critical_set_name (gomp_critical *crit_stmt, tree name)
> {
> crit_stmt->name = name;
> @@ -5218,7 +5218,7 @@ gimple_omp_critical_set_name (gomp_critical *crit_stmt, tree name)
>
> /* Return the clauses associated with OMP_CRITICAL statement CRIT_STMT. */
>
> -static inline tree
> +inline tree
> gimple_omp_critical_clauses (const gomp_critical *crit_stmt)
> {
> return crit_stmt->clauses;
> @@ -5228,7 +5228,7 @@ gimple_omp_critical_clauses (const gomp_critical *crit_stmt)
> /* Return a pointer to the clauses associated with OMP critical statement
> CRIT_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_critical_clauses_ptr (gomp_critical *crit_stmt)
> {
> return &crit_stmt->clauses;
> @@ -5238,7 +5238,7 @@ gimple_omp_critical_clauses_ptr (gomp_critical *crit_stmt)
> /* Set CLAUSES to be the clauses associated with OMP critical statement
> CRIT_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_critical_set_clauses (gomp_critical *crit_stmt, tree clauses)
> {
> crit_stmt->clauses = clauses;
> @@ -5247,7 +5247,7 @@ gimple_omp_critical_set_clauses (gomp_critical *crit_stmt, tree clauses)
>
> /* Return the clauses associated with OMP_ORDERED statement ORD_STMT. */
>
> -static inline tree
> +inline tree
> gimple_omp_ordered_clauses (const gomp_ordered *ord_stmt)
> {
> return ord_stmt->clauses;
> @@ -5257,7 +5257,7 @@ gimple_omp_ordered_clauses (const gomp_ordered *ord_stmt)
> /* Return a pointer to the clauses associated with OMP ordered statement
> ORD_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_ordered_clauses_ptr (gomp_ordered *ord_stmt)
> {
> return &ord_stmt->clauses;
> @@ -5267,7 +5267,7 @@ gimple_omp_ordered_clauses_ptr (gomp_ordered *ord_stmt)
> /* Set CLAUSES to be the clauses associated with OMP ordered statement
> ORD_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_ordered_set_clauses (gomp_ordered *ord_stmt, tree clauses)
> {
> ord_stmt->clauses = clauses;
> @@ -5276,7 +5276,7 @@ gimple_omp_ordered_set_clauses (gomp_ordered *ord_stmt, tree clauses)
>
> /* Return the clauses associated with OMP_SCAN statement SCAN_STMT. */
>
> -static inline tree
> +inline tree
> gimple_omp_scan_clauses (const gomp_scan *scan_stmt)
> {
> return scan_stmt->clauses;
> @@ -5286,7 +5286,7 @@ gimple_omp_scan_clauses (const gomp_scan *scan_stmt)
> /* Return a pointer to the clauses associated with OMP scan statement
> ORD_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_scan_clauses_ptr (gomp_scan *scan_stmt)
> {
> return &scan_stmt->clauses;
> @@ -5296,7 +5296,7 @@ gimple_omp_scan_clauses_ptr (gomp_scan *scan_stmt)
> /* Set CLAUSES to be the clauses associated with OMP scan statement
> ORD_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_scan_set_clauses (gomp_scan *scan_stmt, tree clauses)
> {
> scan_stmt->clauses = clauses;
> @@ -5305,7 +5305,7 @@ gimple_omp_scan_set_clauses (gomp_scan *scan_stmt, tree clauses)
>
> /* Return the clauses associated with OMP_TASKGROUP statement GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_taskgroup_clauses (const gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_OMP_TASKGROUP);
> @@ -5317,7 +5317,7 @@ gimple_omp_taskgroup_clauses (const gimple *gs)
> /* Return a pointer to the clauses associated with OMP taskgroup statement
> GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_taskgroup_clauses_ptr (gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_OMP_TASKGROUP);
> @@ -5328,7 +5328,7 @@ gimple_omp_taskgroup_clauses_ptr (gimple *gs)
> /* Set CLAUSES to be the clauses associated with OMP taskgroup statement
> GS. */
>
> -static inline void
> +inline void
> gimple_omp_taskgroup_set_clauses (gimple *gs, tree clauses)
> {
> GIMPLE_CHECK (gs, GIMPLE_OMP_TASKGROUP);
> @@ -5339,7 +5339,7 @@ gimple_omp_taskgroup_set_clauses (gimple *gs, tree clauses)
>
> /* Return the clauses associated with OMP_MASKED statement GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_masked_clauses (const gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_OMP_MASKED);
> @@ -5351,7 +5351,7 @@ gimple_omp_masked_clauses (const gimple *gs)
> /* Return a pointer to the clauses associated with OMP masked statement
> GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_masked_clauses_ptr (gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_OMP_MASKED);
> @@ -5362,7 +5362,7 @@ gimple_omp_masked_clauses_ptr (gimple *gs)
> /* Set CLAUSES to be the clauses associated with OMP masked statement
> GS. */
>
> -static inline void
> +inline void
> gimple_omp_masked_set_clauses (gimple *gs, tree clauses)
> {
> GIMPLE_CHECK (gs, GIMPLE_OMP_MASKED);
> @@ -5373,7 +5373,7 @@ gimple_omp_masked_set_clauses (gimple *gs, tree clauses)
>
> /* Return the clauses associated with OMP_SCOPE statement GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_scope_clauses (const gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_OMP_SCOPE);
> @@ -5385,7 +5385,7 @@ gimple_omp_scope_clauses (const gimple *gs)
> /* Return a pointer to the clauses associated with OMP scope statement
> GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_scope_clauses_ptr (gimple *gs)
> {
> GIMPLE_CHECK (gs, GIMPLE_OMP_SCOPE);
> @@ -5396,7 +5396,7 @@ gimple_omp_scope_clauses_ptr (gimple *gs)
> /* Set CLAUSES to be the clauses associated with OMP scope statement
> GS. */
>
> -static inline void
> +inline void
> gimple_omp_scope_set_clauses (gimple *gs, tree clauses)
> {
> GIMPLE_CHECK (gs, GIMPLE_OMP_SCOPE);
> @@ -5407,7 +5407,7 @@ gimple_omp_scope_set_clauses (gimple *gs, tree clauses)
>
> /* Return the kind of the OMP_FOR statemement G. */
>
> -static inline int
> +inline int
> gimple_omp_for_kind (const gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_FOR);
> @@ -5417,7 +5417,7 @@ gimple_omp_for_kind (const gimple *g)
>
> /* Set the kind of the OMP_FOR statement G. */
>
> -static inline void
> +inline void
> gimple_omp_for_set_kind (gomp_for *g, int kind)
> {
> g->subcode = (g->subcode & ~GF_OMP_FOR_KIND_MASK)
> @@ -5428,7 +5428,7 @@ gimple_omp_for_set_kind (gomp_for *g, int kind)
> /* Return true if OMP_FOR statement G has the
> GF_OMP_FOR_COMBINED flag set. */
>
> -static inline bool
> +inline bool
> gimple_omp_for_combined_p (const gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_FOR);
> @@ -5439,7 +5439,7 @@ gimple_omp_for_combined_p (const gimple *g)
> /* Set the GF_OMP_FOR_COMBINED field in the OMP_FOR statement G depending on
> the boolean value of COMBINED_P. */
>
> -static inline void
> +inline void
> gimple_omp_for_set_combined_p (gomp_for *g, bool combined_p)
> {
> if (combined_p)
> @@ -5452,7 +5452,7 @@ gimple_omp_for_set_combined_p (gomp_for *g, bool combined_p)
> /* Return true if the OMP_FOR statement G has the
> GF_OMP_FOR_COMBINED_INTO flag set. */
>
> -static inline bool
> +inline bool
> gimple_omp_for_combined_into_p (const gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_FOR);
> @@ -5463,7 +5463,7 @@ gimple_omp_for_combined_into_p (const gimple *g)
> /* Set the GF_OMP_FOR_COMBINED_INTO field in the OMP_FOR statement G depending
> on the boolean value of COMBINED_P. */
>
> -static inline void
> +inline void
> gimple_omp_for_set_combined_into_p (gomp_for *g, bool combined_p)
> {
> if (combined_p)
> @@ -5475,7 +5475,7 @@ gimple_omp_for_set_combined_into_p (gomp_for *g, bool combined_p)
>
> /* Return the clauses associated with the OMP_FOR statement GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_for_clauses (const gimple *gs)
> {
> const gomp_for *omp_for_stmt = as_a <const gomp_for *> (gs);
> @@ -5486,7 +5486,7 @@ gimple_omp_for_clauses (const gimple *gs)
> /* Return a pointer to the clauses associated with the OMP_FOR statement
> GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_for_clauses_ptr (gimple *gs)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5497,7 +5497,7 @@ gimple_omp_for_clauses_ptr (gimple *gs)
> /* Set CLAUSES to be the list of clauses associated with the OMP_FOR statement
> GS. */
>
> -static inline void
> +inline void
> gimple_omp_for_set_clauses (gimple *gs, tree clauses)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5507,7 +5507,7 @@ gimple_omp_for_set_clauses (gimple *gs, tree clauses)
>
> /* Get the collapse count of the OMP_FOR statement GS. */
>
> -static inline size_t
> +inline size_t
> gimple_omp_for_collapse (const gimple *gs)
> {
> const gomp_for *omp_for_stmt = as_a <const gomp_for *> (gs);
> @@ -5517,7 +5517,7 @@ gimple_omp_for_collapse (const gimple *gs)
>
> /* Return the condition code associated with the OMP_FOR statement GS. */
>
> -static inline enum tree_code
> +inline enum tree_code
> gimple_omp_for_cond (const gimple *gs, size_t i)
> {
> const gomp_for *omp_for_stmt = as_a <const gomp_for *> (gs);
> @@ -5528,7 +5528,7 @@ gimple_omp_for_cond (const gimple *gs, size_t i)
>
> /* Set COND to be the condition code for the OMP_FOR statement GS. */
>
> -static inline void
> +inline void
> gimple_omp_for_set_cond (gimple *gs, size_t i, enum tree_code cond)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5540,7 +5540,7 @@ gimple_omp_for_set_cond (gimple *gs, size_t i, enum tree_code cond)
>
> /* Return the index variable for the OMP_FOR statement GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_for_index (const gimple *gs, size_t i)
> {
> const gomp_for *omp_for_stmt = as_a <const gomp_for *> (gs);
> @@ -5551,7 +5551,7 @@ gimple_omp_for_index (const gimple *gs, size_t i)
>
> /* Return a pointer to the index variable for the OMP_FOR statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_for_index_ptr (gimple *gs, size_t i)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5562,7 +5562,7 @@ gimple_omp_for_index_ptr (gimple *gs, size_t i)
>
> /* Set INDEX to be the index variable for the OMP_FOR statement GS. */
>
> -static inline void
> +inline void
> gimple_omp_for_set_index (gimple *gs, size_t i, tree index)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5573,7 +5573,7 @@ gimple_omp_for_set_index (gimple *gs, size_t i, tree index)
>
> /* Return the initial value for the OMP_FOR statement GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_for_initial (const gimple *gs, size_t i)
> {
> const gomp_for *omp_for_stmt = as_a <const gomp_for *> (gs);
> @@ -5584,7 +5584,7 @@ gimple_omp_for_initial (const gimple *gs, size_t i)
>
> /* Return a pointer to the initial value for the OMP_FOR statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_for_initial_ptr (gimple *gs, size_t i)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5595,7 +5595,7 @@ gimple_omp_for_initial_ptr (gimple *gs, size_t i)
>
> /* Set INITIAL to be the initial value for the OMP_FOR statement GS. */
>
> -static inline void
> +inline void
> gimple_omp_for_set_initial (gimple *gs, size_t i, tree initial)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5606,7 +5606,7 @@ gimple_omp_for_set_initial (gimple *gs, size_t i, tree initial)
>
> /* Return the final value for the OMP_FOR statement GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_for_final (const gimple *gs, size_t i)
> {
> const gomp_for *omp_for_stmt = as_a <const gomp_for *> (gs);
> @@ -5617,7 +5617,7 @@ gimple_omp_for_final (const gimple *gs, size_t i)
>
> /* Return a pointer to the final value for the OMP_FOR statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_for_final_ptr (gimple *gs, size_t i)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5628,7 +5628,7 @@ gimple_omp_for_final_ptr (gimple *gs, size_t i)
>
> /* Set FINAL to be the final value for the OMP_FOR statement GS. */
>
> -static inline void
> +inline void
> gimple_omp_for_set_final (gimple *gs, size_t i, tree final)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5639,7 +5639,7 @@ gimple_omp_for_set_final (gimple *gs, size_t i, tree final)
>
> /* Return the increment value for the OMP_FOR statement GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_for_incr (const gimple *gs, size_t i)
> {
> const gomp_for *omp_for_stmt = as_a <const gomp_for *> (gs);
> @@ -5650,7 +5650,7 @@ gimple_omp_for_incr (const gimple *gs, size_t i)
>
> /* Return a pointer to the increment value for the OMP_FOR statement GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_for_incr_ptr (gimple *gs, size_t i)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5661,7 +5661,7 @@ gimple_omp_for_incr_ptr (gimple *gs, size_t i)
>
> /* Set INCR to be the increment value for the OMP_FOR statement GS. */
>
> -static inline void
> +inline void
> gimple_omp_for_set_incr (gimple *gs, size_t i, tree incr)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5673,7 +5673,7 @@ gimple_omp_for_set_incr (gimple *gs, size_t i, tree incr)
> /* Return a pointer to the sequence of statements to execute before the OMP_FOR
> statement GS starts. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_omp_for_pre_body_ptr (gimple *gs)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5684,7 +5684,7 @@ gimple_omp_for_pre_body_ptr (gimple *gs)
> /* Return the sequence of statements to execute before the OMP_FOR
> statement GS starts. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_omp_for_pre_body (const gimple *gs)
> {
> return *gimple_omp_for_pre_body_ptr (const_cast <gimple *> (gs));
> @@ -5694,7 +5694,7 @@ gimple_omp_for_pre_body (const gimple *gs)
> /* Set PRE_BODY to be the sequence of statements to execute before the
> OMP_FOR statement GS starts. */
>
> -static inline void
> +inline void
> gimple_omp_for_set_pre_body (gimple *gs, gimple_seq pre_body)
> {
> gomp_for *omp_for_stmt = as_a <gomp_for *> (gs);
> @@ -5703,7 +5703,7 @@ gimple_omp_for_set_pre_body (gimple *gs, gimple_seq pre_body)
>
> /* Return the clauses associated with OMP_PARALLEL GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_parallel_clauses (const gimple *gs)
> {
> const gomp_parallel *omp_parallel_stmt = as_a <const gomp_parallel *> (gs);
> @@ -5713,7 +5713,7 @@ gimple_omp_parallel_clauses (const gimple *gs)
>
> /* Return a pointer to the clauses associated with OMP_PARALLEL_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_parallel_clauses_ptr (gomp_parallel *omp_parallel_stmt)
> {
> return &omp_parallel_stmt->clauses;
> @@ -5722,7 +5722,7 @@ gimple_omp_parallel_clauses_ptr (gomp_parallel *omp_parallel_stmt)
>
> /* Set CLAUSES to be the list of clauses associated with OMP_PARALLEL_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_parallel_set_clauses (gomp_parallel *omp_parallel_stmt,
> tree clauses)
> {
> @@ -5732,7 +5732,7 @@ gimple_omp_parallel_set_clauses (gomp_parallel *omp_parallel_stmt,
>
> /* Return the child function used to hold the body of OMP_PARALLEL_STMT. */
>
> -static inline tree
> +inline tree
> gimple_omp_parallel_child_fn (const gomp_parallel *omp_parallel_stmt)
> {
> return omp_parallel_stmt->child_fn;
> @@ -5741,7 +5741,7 @@ gimple_omp_parallel_child_fn (const gomp_parallel *omp_parallel_stmt)
> /* Return a pointer to the child function used to hold the body of
> OMP_PARALLEL_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_parallel_child_fn_ptr (gomp_parallel *omp_parallel_stmt)
> {
> return &omp_parallel_stmt->child_fn;
> @@ -5750,7 +5750,7 @@ gimple_omp_parallel_child_fn_ptr (gomp_parallel *omp_parallel_stmt)
>
> /* Set CHILD_FN to be the child function for OMP_PARALLEL_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_parallel_set_child_fn (gomp_parallel *omp_parallel_stmt,
> tree child_fn)
> {
> @@ -5761,7 +5761,7 @@ gimple_omp_parallel_set_child_fn (gomp_parallel *omp_parallel_stmt,
> /* Return the artificial argument used to send variables and values
> from the parent to the children threads in OMP_PARALLEL_STMT. */
>
> -static inline tree
> +inline tree
> gimple_omp_parallel_data_arg (const gomp_parallel *omp_parallel_stmt)
> {
> return omp_parallel_stmt->data_arg;
> @@ -5770,7 +5770,7 @@ gimple_omp_parallel_data_arg (const gomp_parallel *omp_parallel_stmt)
>
> /* Return a pointer to the data argument for OMP_PARALLEL_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_parallel_data_arg_ptr (gomp_parallel *omp_parallel_stmt)
> {
> return &omp_parallel_stmt->data_arg;
> @@ -5779,7 +5779,7 @@ gimple_omp_parallel_data_arg_ptr (gomp_parallel *omp_parallel_stmt)
>
> /* Set DATA_ARG to be the data argument for OMP_PARALLEL_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_parallel_set_data_arg (gomp_parallel *omp_parallel_stmt,
> tree data_arg)
> {
> @@ -5788,7 +5788,7 @@ gimple_omp_parallel_set_data_arg (gomp_parallel *omp_parallel_stmt,
>
> /* Return the clauses associated with OMP_TASK GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_task_clauses (const gimple *gs)
> {
> const gomp_task *omp_task_stmt = as_a <const gomp_task *> (gs);
> @@ -5798,7 +5798,7 @@ gimple_omp_task_clauses (const gimple *gs)
>
> /* Return a pointer to the clauses associated with OMP_TASK GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_task_clauses_ptr (gimple *gs)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -5809,7 +5809,7 @@ gimple_omp_task_clauses_ptr (gimple *gs)
> /* Set CLAUSES to be the list of clauses associated with OMP_TASK
> GS. */
>
> -static inline void
> +inline void
> gimple_omp_task_set_clauses (gimple *gs, tree clauses)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -5820,7 +5820,7 @@ gimple_omp_task_set_clauses (gimple *gs, tree clauses)
> /* Return true if OMP task statement G has the
> GF_OMP_TASK_TASKLOOP flag set. */
>
> -static inline bool
> +inline bool
> gimple_omp_task_taskloop_p (const gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_TASK);
> @@ -5831,7 +5831,7 @@ gimple_omp_task_taskloop_p (const gimple *g)
> /* Set the GF_OMP_TASK_TASKLOOP field in G depending on the boolean
> value of TASKLOOP_P. */
>
> -static inline void
> +inline void
> gimple_omp_task_set_taskloop_p (gimple *g, bool taskloop_p)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_TASK);
> @@ -5845,7 +5845,7 @@ gimple_omp_task_set_taskloop_p (gimple *g, bool taskloop_p)
> /* Return true if OMP task statement G has the
> GF_OMP_TASK_TASKWAIT flag set. */
>
> -static inline bool
> +inline bool
> gimple_omp_task_taskwait_p (const gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_TASK);
> @@ -5856,7 +5856,7 @@ gimple_omp_task_taskwait_p (const gimple *g)
> /* Set the GF_OMP_TASK_TASKWAIT field in G depending on the boolean
> value of TASKWAIT_P. */
>
> -static inline void
> +inline void
> gimple_omp_task_set_taskwait_p (gimple *g, bool taskwait_p)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_TASK);
> @@ -5869,7 +5869,7 @@ gimple_omp_task_set_taskwait_p (gimple *g, bool taskwait_p)
>
> /* Return the child function used to hold the body of OMP_TASK GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_task_child_fn (const gimple *gs)
> {
> const gomp_task *omp_task_stmt = as_a <const gomp_task *> (gs);
> @@ -5879,7 +5879,7 @@ gimple_omp_task_child_fn (const gimple *gs)
> /* Return a pointer to the child function used to hold the body of
> OMP_TASK GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_task_child_fn_ptr (gimple *gs)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -5889,7 +5889,7 @@ gimple_omp_task_child_fn_ptr (gimple *gs)
>
> /* Set CHILD_FN to be the child function for OMP_TASK GS. */
>
> -static inline void
> +inline void
> gimple_omp_task_set_child_fn (gimple *gs, tree child_fn)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -5900,7 +5900,7 @@ gimple_omp_task_set_child_fn (gimple *gs, tree child_fn)
> /* Return the artificial argument used to send variables and values
> from the parent to the children threads in OMP_TASK GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_task_data_arg (const gimple *gs)
> {
> const gomp_task *omp_task_stmt = as_a <const gomp_task *> (gs);
> @@ -5910,7 +5910,7 @@ gimple_omp_task_data_arg (const gimple *gs)
>
> /* Return a pointer to the data argument for OMP_TASK GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_task_data_arg_ptr (gimple *gs)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -5920,7 +5920,7 @@ gimple_omp_task_data_arg_ptr (gimple *gs)
>
> /* Set DATA_ARG to be the data argument for OMP_TASK GS. */
>
> -static inline void
> +inline void
> gimple_omp_task_set_data_arg (gimple *gs, tree data_arg)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -5930,7 +5930,7 @@ gimple_omp_task_set_data_arg (gimple *gs, tree data_arg)
>
> /* Return the clauses associated with OMP_TASK GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_taskreg_clauses (const gimple *gs)
> {
> const gimple_statement_omp_taskreg *omp_taskreg_stmt
> @@ -5941,7 +5941,7 @@ gimple_omp_taskreg_clauses (const gimple *gs)
>
> /* Return a pointer to the clauses associated with OMP_TASK GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_taskreg_clauses_ptr (gimple *gs)
> {
> gimple_statement_omp_taskreg *omp_taskreg_stmt
> @@ -5953,7 +5953,7 @@ gimple_omp_taskreg_clauses_ptr (gimple *gs)
> /* Set CLAUSES to be the list of clauses associated with OMP_TASK
> GS. */
>
> -static inline void
> +inline void
> gimple_omp_taskreg_set_clauses (gimple *gs, tree clauses)
> {
> gimple_statement_omp_taskreg *omp_taskreg_stmt
> @@ -5964,7 +5964,7 @@ gimple_omp_taskreg_set_clauses (gimple *gs, tree clauses)
>
> /* Return the child function used to hold the body of OMP_TASK GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_taskreg_child_fn (const gimple *gs)
> {
> const gimple_statement_omp_taskreg *omp_taskreg_stmt
> @@ -5975,7 +5975,7 @@ gimple_omp_taskreg_child_fn (const gimple *gs)
> /* Return a pointer to the child function used to hold the body of
> OMP_TASK GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_taskreg_child_fn_ptr (gimple *gs)
> {
> gimple_statement_omp_taskreg *omp_taskreg_stmt
> @@ -5986,7 +5986,7 @@ gimple_omp_taskreg_child_fn_ptr (gimple *gs)
>
> /* Set CHILD_FN to be the child function for OMP_TASK GS. */
>
> -static inline void
> +inline void
> gimple_omp_taskreg_set_child_fn (gimple *gs, tree child_fn)
> {
> gimple_statement_omp_taskreg *omp_taskreg_stmt
> @@ -5998,7 +5998,7 @@ gimple_omp_taskreg_set_child_fn (gimple *gs, tree child_fn)
> /* Return the artificial argument used to send variables and values
> from the parent to the children threads in OMP_TASK GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_taskreg_data_arg (const gimple *gs)
> {
> const gimple_statement_omp_taskreg *omp_taskreg_stmt
> @@ -6009,7 +6009,7 @@ gimple_omp_taskreg_data_arg (const gimple *gs)
>
> /* Return a pointer to the data argument for OMP_TASK GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_taskreg_data_arg_ptr (gimple *gs)
> {
> gimple_statement_omp_taskreg *omp_taskreg_stmt
> @@ -6020,7 +6020,7 @@ gimple_omp_taskreg_data_arg_ptr (gimple *gs)
>
> /* Set DATA_ARG to be the data argument for OMP_TASK GS. */
>
> -static inline void
> +inline void
> gimple_omp_taskreg_set_data_arg (gimple *gs, tree data_arg)
> {
> gimple_statement_omp_taskreg *omp_taskreg_stmt
> @@ -6031,7 +6031,7 @@ gimple_omp_taskreg_set_data_arg (gimple *gs, tree data_arg)
>
> /* Return the copy function used to hold the body of OMP_TASK GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_task_copy_fn (const gimple *gs)
> {
> const gomp_task *omp_task_stmt = as_a <const gomp_task *> (gs);
> @@ -6041,7 +6041,7 @@ gimple_omp_task_copy_fn (const gimple *gs)
> /* Return a pointer to the copy function used to hold the body of
> OMP_TASK GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_task_copy_fn_ptr (gimple *gs)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -6051,7 +6051,7 @@ gimple_omp_task_copy_fn_ptr (gimple *gs)
>
> /* Set CHILD_FN to be the copy function for OMP_TASK GS. */
>
> -static inline void
> +inline void
> gimple_omp_task_set_copy_fn (gimple *gs, tree copy_fn)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -6061,7 +6061,7 @@ gimple_omp_task_set_copy_fn (gimple *gs, tree copy_fn)
>
> /* Return size of the data block in bytes in OMP_TASK GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_task_arg_size (const gimple *gs)
> {
> const gomp_task *omp_task_stmt = as_a <const gomp_task *> (gs);
> @@ -6071,7 +6071,7 @@ gimple_omp_task_arg_size (const gimple *gs)
>
> /* Return a pointer to the data block size for OMP_TASK GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_task_arg_size_ptr (gimple *gs)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -6081,7 +6081,7 @@ gimple_omp_task_arg_size_ptr (gimple *gs)
>
> /* Set ARG_SIZE to be the data block size for OMP_TASK GS. */
>
> -static inline void
> +inline void
> gimple_omp_task_set_arg_size (gimple *gs, tree arg_size)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -6091,7 +6091,7 @@ gimple_omp_task_set_arg_size (gimple *gs, tree arg_size)
>
> /* Return align of the data block in bytes in OMP_TASK GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_task_arg_align (const gimple *gs)
> {
> const gomp_task *omp_task_stmt = as_a <const gomp_task *> (gs);
> @@ -6101,7 +6101,7 @@ gimple_omp_task_arg_align (const gimple *gs)
>
> /* Return a pointer to the data block align for OMP_TASK GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_task_arg_align_ptr (gimple *gs)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -6111,7 +6111,7 @@ gimple_omp_task_arg_align_ptr (gimple *gs)
>
> /* Set ARG_SIZE to be the data block align for OMP_TASK GS. */
>
> -static inline void
> +inline void
> gimple_omp_task_set_arg_align (gimple *gs, tree arg_align)
> {
> gomp_task *omp_task_stmt = as_a <gomp_task *> (gs);
> @@ -6121,7 +6121,7 @@ gimple_omp_task_set_arg_align (gimple *gs, tree arg_align)
>
> /* Return the clauses associated with OMP_SINGLE GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_single_clauses (const gimple *gs)
> {
> const gomp_single *omp_single_stmt = as_a <const gomp_single *> (gs);
> @@ -6131,7 +6131,7 @@ gimple_omp_single_clauses (const gimple *gs)
>
> /* Return a pointer to the clauses associated with OMP_SINGLE GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_single_clauses_ptr (gimple *gs)
> {
> gomp_single *omp_single_stmt = as_a <gomp_single *> (gs);
> @@ -6141,7 +6141,7 @@ gimple_omp_single_clauses_ptr (gimple *gs)
>
> /* Set CLAUSES to be the clauses associated with OMP_SINGLE_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_single_set_clauses (gomp_single *omp_single_stmt, tree clauses)
> {
> omp_single_stmt->clauses = clauses;
> @@ -6150,7 +6150,7 @@ gimple_omp_single_set_clauses (gomp_single *omp_single_stmt, tree clauses)
>
> /* Return the clauses associated with OMP_TARGET GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_target_clauses (const gimple *gs)
> {
> const gomp_target *omp_target_stmt = as_a <const gomp_target *> (gs);
> @@ -6160,7 +6160,7 @@ gimple_omp_target_clauses (const gimple *gs)
>
> /* Return a pointer to the clauses associated with OMP_TARGET GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_target_clauses_ptr (gimple *gs)
> {
> gomp_target *omp_target_stmt = as_a <gomp_target *> (gs);
> @@ -6170,7 +6170,7 @@ gimple_omp_target_clauses_ptr (gimple *gs)
>
> /* Set CLAUSES to be the clauses associated with OMP_TARGET_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_target_set_clauses (gomp_target *omp_target_stmt,
> tree clauses)
> {
> @@ -6180,7 +6180,7 @@ gimple_omp_target_set_clauses (gomp_target *omp_target_stmt,
>
> /* Return the kind of the OMP_TARGET G. */
>
> -static inline int
> +inline int
> gimple_omp_target_kind (const gimple *g)
> {
> GIMPLE_CHECK (g, GIMPLE_OMP_TARGET);
> @@ -6190,7 +6190,7 @@ gimple_omp_target_kind (const gimple *g)
>
> /* Set the kind of the OMP_TARGET G. */
>
> -static inline void
> +inline void
> gimple_omp_target_set_kind (gomp_target *g, int kind)
> {
> g->subcode = (g->subcode & ~GF_OMP_TARGET_KIND_MASK)
> @@ -6200,7 +6200,7 @@ gimple_omp_target_set_kind (gomp_target *g, int kind)
>
> /* Return the child function used to hold the body of OMP_TARGET_STMT. */
>
> -static inline tree
> +inline tree
> gimple_omp_target_child_fn (const gomp_target *omp_target_stmt)
> {
> return omp_target_stmt->child_fn;
> @@ -6209,7 +6209,7 @@ gimple_omp_target_child_fn (const gomp_target *omp_target_stmt)
> /* Return a pointer to the child function used to hold the body of
> OMP_TARGET_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_target_child_fn_ptr (gomp_target *omp_target_stmt)
> {
> return &omp_target_stmt->child_fn;
> @@ -6218,7 +6218,7 @@ gimple_omp_target_child_fn_ptr (gomp_target *omp_target_stmt)
>
> /* Set CHILD_FN to be the child function for OMP_TARGET_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_target_set_child_fn (gomp_target *omp_target_stmt,
> tree child_fn)
> {
> @@ -6229,7 +6229,7 @@ gimple_omp_target_set_child_fn (gomp_target *omp_target_stmt,
> /* Return the artificial argument used to send variables and values
> from the parent to the children threads in OMP_TARGET_STMT. */
>
> -static inline tree
> +inline tree
> gimple_omp_target_data_arg (const gomp_target *omp_target_stmt)
> {
> return omp_target_stmt->data_arg;
> @@ -6238,7 +6238,7 @@ gimple_omp_target_data_arg (const gomp_target *omp_target_stmt)
>
> /* Return a pointer to the data argument for OMP_TARGET GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_target_data_arg_ptr (gomp_target *omp_target_stmt)
> {
> return &omp_target_stmt->data_arg;
> @@ -6247,7 +6247,7 @@ gimple_omp_target_data_arg_ptr (gomp_target *omp_target_stmt)
>
> /* Set DATA_ARG to be the data argument for OMP_TARGET_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_target_set_data_arg (gomp_target *omp_target_stmt,
> tree data_arg)
> {
> @@ -6257,7 +6257,7 @@ gimple_omp_target_set_data_arg (gomp_target *omp_target_stmt,
>
> /* Return the clauses associated with OMP_TEAMS GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_teams_clauses (const gimple *gs)
> {
> const gomp_teams *omp_teams_stmt = as_a <const gomp_teams *> (gs);
> @@ -6267,7 +6267,7 @@ gimple_omp_teams_clauses (const gimple *gs)
>
> /* Return a pointer to the clauses associated with OMP_TEAMS GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_teams_clauses_ptr (gimple *gs)
> {
> gomp_teams *omp_teams_stmt = as_a <gomp_teams *> (gs);
> @@ -6277,7 +6277,7 @@ gimple_omp_teams_clauses_ptr (gimple *gs)
>
> /* Set CLAUSES to be the clauses associated with OMP_TEAMS_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_teams_set_clauses (gomp_teams *omp_teams_stmt, tree clauses)
> {
> omp_teams_stmt->clauses = clauses;
> @@ -6285,7 +6285,7 @@ gimple_omp_teams_set_clauses (gomp_teams *omp_teams_stmt, tree clauses)
>
> /* Return the child function used to hold the body of OMP_TEAMS_STMT. */
>
> -static inline tree
> +inline tree
> gimple_omp_teams_child_fn (const gomp_teams *omp_teams_stmt)
> {
> return omp_teams_stmt->child_fn;
> @@ -6294,7 +6294,7 @@ gimple_omp_teams_child_fn (const gomp_teams *omp_teams_stmt)
> /* Return a pointer to the child function used to hold the body of
> OMP_TEAMS_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_teams_child_fn_ptr (gomp_teams *omp_teams_stmt)
> {
> return &omp_teams_stmt->child_fn;
> @@ -6303,7 +6303,7 @@ gimple_omp_teams_child_fn_ptr (gomp_teams *omp_teams_stmt)
>
> /* Set CHILD_FN to be the child function for OMP_TEAMS_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_teams_set_child_fn (gomp_teams *omp_teams_stmt, tree child_fn)
> {
> omp_teams_stmt->child_fn = child_fn;
> @@ -6313,7 +6313,7 @@ gimple_omp_teams_set_child_fn (gomp_teams *omp_teams_stmt, tree child_fn)
> /* Return the artificial argument used to send variables and values
> from the parent to the children threads in OMP_TEAMS_STMT. */
>
> -static inline tree
> +inline tree
> gimple_omp_teams_data_arg (const gomp_teams *omp_teams_stmt)
> {
> return omp_teams_stmt->data_arg;
> @@ -6322,7 +6322,7 @@ gimple_omp_teams_data_arg (const gomp_teams *omp_teams_stmt)
>
> /* Return a pointer to the data argument for OMP_TEAMS_STMT. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_teams_data_arg_ptr (gomp_teams *omp_teams_stmt)
> {
> return &omp_teams_stmt->data_arg;
> @@ -6331,7 +6331,7 @@ gimple_omp_teams_data_arg_ptr (gomp_teams *omp_teams_stmt)
>
> /* Set DATA_ARG to be the data argument for OMP_TEAMS_STMT. */
>
> -static inline void
> +inline void
> gimple_omp_teams_set_data_arg (gomp_teams *omp_teams_stmt, tree data_arg)
> {
> omp_teams_stmt->data_arg = data_arg;
> @@ -6339,7 +6339,7 @@ gimple_omp_teams_set_data_arg (gomp_teams *omp_teams_stmt, tree data_arg)
>
> /* Return the host flag of an OMP_TEAMS_STMT. */
>
> -static inline bool
> +inline bool
> gimple_omp_teams_host (const gomp_teams *omp_teams_stmt)
> {
> return (gimple_omp_subcode (omp_teams_stmt) & GF_OMP_TEAMS_HOST) != 0;
> @@ -6347,7 +6347,7 @@ gimple_omp_teams_host (const gomp_teams *omp_teams_stmt)
>
> /* Set host flag of an OMP_TEAMS_STMT to VALUE. */
>
> -static inline void
> +inline void
> gimple_omp_teams_set_host (gomp_teams *omp_teams_stmt, bool value)
> {
> if (value)
> @@ -6358,7 +6358,7 @@ gimple_omp_teams_set_host (gomp_teams *omp_teams_stmt, bool value)
>
> /* Return the clauses associated with OMP_SECTIONS GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_sections_clauses (const gimple *gs)
> {
> const gomp_sections *omp_sections_stmt = as_a <const gomp_sections *> (gs);
> @@ -6368,7 +6368,7 @@ gimple_omp_sections_clauses (const gimple *gs)
>
> /* Return a pointer to the clauses associated with OMP_SECTIONS GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_sections_clauses_ptr (gimple *gs)
> {
> gomp_sections *omp_sections_stmt = as_a <gomp_sections *> (gs);
> @@ -6379,7 +6379,7 @@ gimple_omp_sections_clauses_ptr (gimple *gs)
> /* Set CLAUSES to be the set of clauses associated with OMP_SECTIONS
> GS. */
>
> -static inline void
> +inline void
> gimple_omp_sections_set_clauses (gimple *gs, tree clauses)
> {
> gomp_sections *omp_sections_stmt = as_a <gomp_sections *> (gs);
> @@ -6390,7 +6390,7 @@ gimple_omp_sections_set_clauses (gimple *gs, tree clauses)
> /* Return the control variable associated with the GIMPLE_OMP_SECTIONS
> in GS. */
>
> -static inline tree
> +inline tree
> gimple_omp_sections_control (const gimple *gs)
> {
> const gomp_sections *omp_sections_stmt = as_a <const gomp_sections *> (gs);
> @@ -6401,7 +6401,7 @@ gimple_omp_sections_control (const gimple *gs)
> /* Return a pointer to the clauses associated with the GIMPLE_OMP_SECTIONS
> GS. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_sections_control_ptr (gimple *gs)
> {
> gomp_sections *omp_sections_stmt = as_a <gomp_sections *> (gs);
> @@ -6412,7 +6412,7 @@ gimple_omp_sections_control_ptr (gimple *gs)
> /* Set CONTROL to be the set of clauses associated with the
> GIMPLE_OMP_SECTIONS in GS. */
>
> -static inline void
> +inline void
> gimple_omp_sections_set_control (gimple *gs, tree control)
> {
> gomp_sections *omp_sections_stmt = as_a <gomp_sections *> (gs);
> @@ -6422,7 +6422,7 @@ gimple_omp_sections_set_control (gimple *gs, tree control)
>
> /* Set the value being stored in an atomic store. */
>
> -static inline void
> +inline void
> gimple_omp_atomic_store_set_val (gomp_atomic_store *store_stmt, tree val)
> {
> store_stmt->val = val;
> @@ -6431,7 +6431,7 @@ gimple_omp_atomic_store_set_val (gomp_atomic_store *store_stmt, tree val)
>
> /* Return the value being stored in an atomic store. */
>
> -static inline tree
> +inline tree
> gimple_omp_atomic_store_val (const gomp_atomic_store *store_stmt)
> {
> return store_stmt->val;
> @@ -6440,7 +6440,7 @@ gimple_omp_atomic_store_val (const gomp_atomic_store *store_stmt)
>
> /* Return a pointer to the value being stored in an atomic store. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_atomic_store_val_ptr (gomp_atomic_store *store_stmt)
> {
> return &store_stmt->val;
> @@ -6449,7 +6449,7 @@ gimple_omp_atomic_store_val_ptr (gomp_atomic_store *store_stmt)
>
> /* Set the LHS of an atomic load. */
>
> -static inline void
> +inline void
> gimple_omp_atomic_load_set_lhs (gomp_atomic_load *load_stmt, tree lhs)
> {
> load_stmt->lhs = lhs;
> @@ -6458,7 +6458,7 @@ gimple_omp_atomic_load_set_lhs (gomp_atomic_load *load_stmt, tree lhs)
>
> /* Get the LHS of an atomic load. */
>
> -static inline tree
> +inline tree
> gimple_omp_atomic_load_lhs (const gomp_atomic_load *load_stmt)
> {
> return load_stmt->lhs;
> @@ -6467,7 +6467,7 @@ gimple_omp_atomic_load_lhs (const gomp_atomic_load *load_stmt)
>
> /* Return a pointer to the LHS of an atomic load. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_atomic_load_lhs_ptr (gomp_atomic_load *load_stmt)
> {
> return &load_stmt->lhs;
> @@ -6476,7 +6476,7 @@ gimple_omp_atomic_load_lhs_ptr (gomp_atomic_load *load_stmt)
>
> /* Set the RHS of an atomic load. */
>
> -static inline void
> +inline void
> gimple_omp_atomic_load_set_rhs (gomp_atomic_load *load_stmt, tree rhs)
> {
> load_stmt->rhs = rhs;
> @@ -6485,7 +6485,7 @@ gimple_omp_atomic_load_set_rhs (gomp_atomic_load *load_stmt, tree rhs)
>
> /* Get the RHS of an atomic load. */
>
> -static inline tree
> +inline tree
> gimple_omp_atomic_load_rhs (const gomp_atomic_load *load_stmt)
> {
> return load_stmt->rhs;
> @@ -6494,7 +6494,7 @@ gimple_omp_atomic_load_rhs (const gomp_atomic_load *load_stmt)
>
> /* Return a pointer to the RHS of an atomic load. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_atomic_load_rhs_ptr (gomp_atomic_load *load_stmt)
> {
> return &load_stmt->rhs;
> @@ -6503,7 +6503,7 @@ gimple_omp_atomic_load_rhs_ptr (gomp_atomic_load *load_stmt)
>
> /* Get the definition of the control variable in a GIMPLE_OMP_CONTINUE. */
>
> -static inline tree
> +inline tree
> gimple_omp_continue_control_def (const gomp_continue *cont_stmt)
> {
> return cont_stmt->control_def;
> @@ -6511,7 +6511,7 @@ gimple_omp_continue_control_def (const gomp_continue *cont_stmt)
>
> /* The same as above, but return the address. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_continue_control_def_ptr (gomp_continue *cont_stmt)
> {
> return &cont_stmt->control_def;
> @@ -6519,7 +6519,7 @@ gimple_omp_continue_control_def_ptr (gomp_continue *cont_stmt)
>
> /* Set the definition of the control variable in a GIMPLE_OMP_CONTINUE. */
>
> -static inline void
> +inline void
> gimple_omp_continue_set_control_def (gomp_continue *cont_stmt, tree def)
> {
> cont_stmt->control_def = def;
> @@ -6528,7 +6528,7 @@ gimple_omp_continue_set_control_def (gomp_continue *cont_stmt, tree def)
>
> /* Get the use of the control variable in a GIMPLE_OMP_CONTINUE. */
>
> -static inline tree
> +inline tree
> gimple_omp_continue_control_use (const gomp_continue *cont_stmt)
> {
> return cont_stmt->control_use;
> @@ -6537,7 +6537,7 @@ gimple_omp_continue_control_use (const gomp_continue *cont_stmt)
>
> /* The same as above, but return the address. */
>
> -static inline tree *
> +inline tree *
> gimple_omp_continue_control_use_ptr (gomp_continue *cont_stmt)
> {
> return &cont_stmt->control_use;
> @@ -6546,7 +6546,7 @@ gimple_omp_continue_control_use_ptr (gomp_continue *cont_stmt)
>
> /* Set the use of the control variable in a GIMPLE_OMP_CONTINUE. */
>
> -static inline void
> +inline void
> gimple_omp_continue_set_control_use (gomp_continue *cont_stmt, tree use)
> {
> cont_stmt->control_use = use;
> @@ -6554,7 +6554,7 @@ gimple_omp_continue_set_control_use (gomp_continue *cont_stmt, tree use)
>
> /* Return the guard associated with the GIMPLE_ASSUME statement GS. */
>
> -static inline tree
> +inline tree
> gimple_assume_guard (const gimple *gs)
> {
> const gimple_statement_assume *assume_stmt
> @@ -6564,14 +6564,14 @@ gimple_assume_guard (const gimple *gs)
>
> /* Set the guard associated with the GIMPLE_ASSUME statement GS. */
>
> -static inline void
> +inline void
> gimple_assume_set_guard (gimple *gs, tree guard)
> {
> gimple_statement_assume *assume_stmt = as_a <gimple_statement_assume *> (gs);
> assume_stmt->guard = guard;
> }
>
> -static inline tree *
> +inline tree *
> gimple_assume_guard_ptr (gimple *gs)
> {
> gimple_statement_assume *assume_stmt = as_a <gimple_statement_assume *> (gs);
> @@ -6581,7 +6581,7 @@ gimple_assume_guard_ptr (gimple *gs)
> /* Return the address of the GIMPLE sequence contained in the GIMPLE_ASSUME
> statement GS. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_assume_body_ptr (gimple *gs)
> {
> gimple_statement_assume *assume_stmt = as_a <gimple_statement_assume *> (gs);
> @@ -6590,7 +6590,7 @@ gimple_assume_body_ptr (gimple *gs)
>
> /* Return the GIMPLE sequence contained in the GIMPLE_ASSUME statement GS. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_assume_body (const gimple *gs)
> {
> const gimple_statement_assume *assume_stmt
> @@ -6601,7 +6601,7 @@ gimple_assume_body (const gimple *gs)
> /* Return a pointer to the body for the GIMPLE_TRANSACTION statement
> TRANSACTION_STMT. */
>
> -static inline gimple_seq *
> +inline gimple_seq *
> gimple_transaction_body_ptr (gtransaction *transaction_stmt)
> {
> return &transaction_stmt->body;
> @@ -6609,7 +6609,7 @@ gimple_transaction_body_ptr (gtransaction *transaction_stmt)
>
> /* Return the body for the GIMPLE_TRANSACTION statement TRANSACTION_STMT. */
>
> -static inline gimple_seq
> +inline gimple_seq
> gimple_transaction_body (const gtransaction *transaction_stmt)
> {
> return transaction_stmt->body;
> @@ -6617,37 +6617,37 @@ gimple_transaction_body (const gtransaction *transaction_stmt)
>
> /* Return the label associated with a GIMPLE_TRANSACTION. */
>
> -static inline tree
> +inline tree
> gimple_transaction_label_norm (const gtransaction *transaction_stmt)
> {
> return transaction_stmt->label_norm;
> }
>
> -static inline tree *
> +inline tree *
> gimple_transaction_label_norm_ptr (gtransaction *transaction_stmt)
> {
> return &transaction_stmt->label_norm;
> }
>
> -static inline tree
> +inline tree
> gimple_transaction_label_uninst (const gtransaction *transaction_stmt)
> {
> return transaction_stmt->label_uninst;
> }
>
> -static inline tree *
> +inline tree *
> gimple_transaction_label_uninst_ptr (gtransaction *transaction_stmt)
> {
> return &transaction_stmt->label_uninst;
> }
>
> -static inline tree
> +inline tree
> gimple_transaction_label_over (const gtransaction *transaction_stmt)
> {
> return transaction_stmt->label_over;
> }
>
> -static inline tree *
> +inline tree *
> gimple_transaction_label_over_ptr (gtransaction *transaction_stmt)
> {
> return &transaction_stmt->label_over;
> @@ -6655,7 +6655,7 @@ gimple_transaction_label_over_ptr (gtransaction *transaction_stmt)
>
> /* Return the subcode associated with a GIMPLE_TRANSACTION. */
>
> -static inline unsigned int
> +inline unsigned int
> gimple_transaction_subcode (const gtransaction *transaction_stmt)
> {
> return transaction_stmt->subcode;
> @@ -6664,7 +6664,7 @@ gimple_transaction_subcode (const gtransaction *transaction_stmt)
> /* Set BODY to be the body for the GIMPLE_TRANSACTION statement
> TRANSACTION_STMT. */
>
> -static inline void
> +inline void
> gimple_transaction_set_body (gtransaction *transaction_stmt,
> gimple_seq body)
> {
> @@ -6673,19 +6673,19 @@ gimple_transaction_set_body (gtransaction *transaction_stmt,
>
> /* Set the label associated with a GIMPLE_TRANSACTION. */
>
> -static inline void
> +inline void
> gimple_transaction_set_label_norm (gtransaction *transaction_stmt, tree label)
> {
> transaction_stmt->label_norm = label;
> }
>
> -static inline void
> +inline void
> gimple_transaction_set_label_uninst (gtransaction *transaction_stmt, tree label)
> {
> transaction_stmt->label_uninst = label;
> }
>
> -static inline void
> +inline void
> gimple_transaction_set_label_over (gtransaction *transaction_stmt, tree label)
> {
> transaction_stmt->label_over = label;
> @@ -6693,7 +6693,7 @@ gimple_transaction_set_label_over (gtransaction *transaction_stmt, tree label)
>
> /* Set the subcode associated with a GIMPLE_TRANSACTION. */
>
> -static inline void
> +inline void
> gimple_transaction_set_subcode (gtransaction *transaction_stmt,
> unsigned int subcode)
> {
> @@ -6702,7 +6702,7 @@ gimple_transaction_set_subcode (gtransaction *transaction_stmt,
>
> /* Return a pointer to the return value for GIMPLE_RETURN GS. */
>
> -static inline tree *
> +inline tree *
> gimple_return_retval_ptr (greturn *gs)
> {
> return &gs->op[0];
> @@ -6710,7 +6710,7 @@ gimple_return_retval_ptr (greturn *gs)
>
> /* Return the return value for GIMPLE_RETURN GS. */
>
> -static inline tree
> +inline tree
> gimple_return_retval (const greturn *gs)
> {
> return gs->op[0];
> @@ -6719,7 +6719,7 @@ gimple_return_retval (const greturn *gs)
>
> /* Set RETVAL to be the return value for GIMPLE_RETURN GS. */
>
> -static inline void
> +inline void
> gimple_return_set_retval (greturn *gs, tree retval)
> {
> gs->op[0] = retval;
> @@ -6750,7 +6750,7 @@ gimple_return_set_retval (greturn *gs, tree retval)
> case GIMPLE_OMP_ATOMIC_STORE: \
> case GIMPLE_OMP_CONTINUE
>
> -static inline bool
> +inline bool
> is_gimple_omp (const gimple *stmt)
> {
> switch (gimple_code (stmt))
> @@ -6765,7 +6765,7 @@ is_gimple_omp (const gimple *stmt)
> /* Return true if the OMP gimple statement STMT is any of the OpenACC types
> specifically. */
>
> -static inline bool
> +inline bool
> is_gimple_omp_oacc (const gimple *stmt)
> {
> gcc_assert (is_gimple_omp (stmt));
> @@ -6814,7 +6814,7 @@ is_gimple_omp_oacc (const gimple *stmt)
>
> /* Return true if the OMP gimple statement STMT is offloaded. */
>
> -static inline bool
> +inline bool
> is_gimple_omp_offloaded (const gimple *stmt)
> {
> gcc_assert (is_gimple_omp (stmt));
> @@ -6841,7 +6841,7 @@ is_gimple_omp_offloaded (const gimple *stmt)
>
> /* Returns TRUE if statement G is a GIMPLE_NOP. */
>
> -static inline bool
> +inline bool
> gimple_nop_p (const gimple *g)
> {
> return gimple_code (g) == GIMPLE_NOP;
> @@ -6850,7 +6850,7 @@ gimple_nop_p (const gimple *g)
>
> /* Return true if GS is a GIMPLE_RESX. */
>
> -static inline bool
> +inline bool
> is_gimple_resx (const gimple *gs)
> {
> return gimple_code (gs) == GIMPLE_RESX;
> @@ -6872,7 +6872,7 @@ extern uint64_t gimple_alloc_counts[];
> extern uint64_t gimple_alloc_sizes[];
>
> /* Return the allocation kind for a given stmt CODE. */
> -static inline enum gimple_alloc_kind
> +inline enum gimple_alloc_kind
> gimple_alloc_kind (enum gimple_code code)
> {
> switch (code)
> @@ -6891,7 +6891,7 @@ gimple_alloc_kind (enum gimple_code code)
> /* Return true if a location should not be emitted for this statement
> by annotate_all_with_location. */
>
> -static inline bool
> +inline bool
> gimple_do_not_emit_location_p (gimple *g)
> {
> return gimple_plf (g, GF_PLF_1);
> @@ -6900,7 +6900,7 @@ gimple_do_not_emit_location_p (gimple *g)
> /* Mark statement G so a location will not be emitted by
> annotate_one_with_location. */
>
> -static inline void
> +inline void
> gimple_set_do_not_emit_location (gimple *g)
> {
> /* The PLF flags are initialized to 0 when a new tuple is created,
> diff --git a/gcc/graphite.h b/gcc/graphite.h
> index c4c5e3c6fc5..dc6e482fce3 100644
> --- a/gcc/graphite.h
> +++ b/gcc/graphite.h
> @@ -32,7 +32,7 @@ typedef struct scop *scop_p;
>
> typedef unsigned graphite_dim_t;
>
> -static inline graphite_dim_t scop_nb_params (scop_p);
> +inline graphite_dim_t scop_nb_params (scop_p);
>
> /* A data reference can write or read some memory or we
> just know it may write some memory. */
> @@ -189,7 +189,7 @@ void new_poly_dr (poly_bb_p, gimple *, enum poly_dr_type,
> void debug_pdr (poly_dr_p);
> void print_pdr (FILE *, poly_dr_p);
>
> -static inline bool
> +inline bool
> pdr_read_p (poly_dr_p pdr)
> {
> return PDR_TYPE (pdr) == PDR_READ;
> @@ -197,7 +197,7 @@ pdr_read_p (poly_dr_p pdr)
>
> /* Returns true when PDR is a "write". */
>
> -static inline bool
> +inline bool
> pdr_write_p (poly_dr_p pdr)
> {
> return PDR_TYPE (pdr) == PDR_WRITE;
> @@ -205,7 +205,7 @@ pdr_write_p (poly_dr_p pdr)
>
> /* Returns true when PDR is a "may write". */
>
> -static inline bool
> +inline bool
> pdr_may_write_p (poly_dr_p pdr)
> {
> return PDR_TYPE (pdr) == PDR_MAY_WRITE;
> @@ -295,13 +295,13 @@ extern void debug_schedule_ast (__isl_keep isl_schedule *, scop_p);
>
> /* The basic block of the PBB. */
>
> -static inline basic_block
> +inline basic_block
> pbb_bb (poly_bb_p pbb)
> {
> return GBB_BB (PBB_BLACK_BOX (pbb));
> }
>
> -static inline int
> +inline int
> pbb_index (poly_bb_p pbb)
> {
> return pbb_bb (pbb)->index;
> @@ -309,7 +309,7 @@ pbb_index (poly_bb_p pbb)
>
> /* The loop of the PBB. */
>
> -static inline loop_p
> +inline loop_p
> pbb_loop (poly_bb_p pbb)
> {
> return gbb_loop (PBB_BLACK_BOX (pbb));
> @@ -317,7 +317,7 @@ pbb_loop (poly_bb_p pbb)
>
> /* The scop that contains the PDR. */
>
> -static inline scop_p
> +inline scop_p
> pdr_scop (poly_dr_p pdr)
> {
> return PBB_SCOP (PDR_PBB (pdr));
> @@ -325,7 +325,7 @@ pdr_scop (poly_dr_p pdr)
>
> /* Set black box of PBB to BLACKBOX. */
>
> -static inline void
> +inline void
> pbb_set_black_box (poly_bb_p pbb, gimple_poly_bb_p black_box)
> {
> pbb->black_box = black_box;
> @@ -412,7 +412,7 @@ extern bool apply_poly_transforms (scop_p);
>
> /* Set the region of SCOP to REGION. */
>
> -static inline void
> +inline void
> scop_set_region (scop_p scop, sese_info_p region)
> {
> scop->scop_info = region;
> @@ -420,7 +420,7 @@ scop_set_region (scop_p scop, sese_info_p region)
>
> /* Returns the number of parameters for SCOP. */
>
> -static inline graphite_dim_t
> +inline graphite_dim_t
> scop_nb_params (scop_p scop)
> {
> return scop->nb_params;
> @@ -428,7 +428,7 @@ scop_nb_params (scop_p scop)
>
> /* Set the number of params of SCOP to NB_PARAMS. */
>
> -static inline void
> +inline void
> scop_set_nb_params (scop_p scop, graphite_dim_t nb_params)
> {
> scop->nb_params = nb_params;
> diff --git a/gcc/hard-reg-set.h b/gcc/hard-reg-set.h
> index 320b4349527..b0bb9bce074 100644
> --- a/gcc/hard-reg-set.h
> +++ b/gcc/hard-reg-set.h
> @@ -173,19 +173,19 @@ struct hard_reg_set_container
> #define CLEAR_HARD_REG_SET(TO) ((TO) = HARD_CONST (0))
> #define SET_HARD_REG_SET(TO) ((TO) = ~ HARD_CONST (0))
>
> -static inline bool
> +inline bool
> hard_reg_set_subset_p (const_hard_reg_set x, const_hard_reg_set y)
> {
> return (x & ~y) == HARD_CONST (0);
> }
>
> -static inline bool
> +inline bool
> hard_reg_set_intersect_p (const_hard_reg_set x, const_hard_reg_set y)
> {
> return (x & y) != HARD_CONST (0);
> }
>
> -static inline bool
> +inline bool
> hard_reg_set_empty_p (const_hard_reg_set x)
> {
> return x == HARD_CONST (0);
> @@ -228,7 +228,7 @@ SET_HARD_REG_SET (HARD_REG_SET &set)
> set.elts[i] = -1;
> }
>
> -static inline bool
> +inline bool
> hard_reg_set_subset_p (const_hard_reg_set x, const_hard_reg_set y)
> {
> HARD_REG_ELT_TYPE bad = 0;
> @@ -237,7 +237,7 @@ hard_reg_set_subset_p (const_hard_reg_set x, const_hard_reg_set y)
> return bad == 0;
> }
>
> -static inline bool
> +inline bool
> hard_reg_set_intersect_p (const_hard_reg_set x, const_hard_reg_set y)
> {
> HARD_REG_ELT_TYPE good = 0;
> @@ -246,7 +246,7 @@ hard_reg_set_intersect_p (const_hard_reg_set x, const_hard_reg_set y)
> return good != 0;
> }
>
> -static inline bool
> +inline bool
> hard_reg_set_empty_p (const_hard_reg_set x)
> {
> HARD_REG_ELT_TYPE bad = 0;
> @@ -279,7 +279,7 @@ struct hard_reg_set_iterator
>
> /* The implementation of the iterator functions is fully analogous to
> the bitmap iterators. */
> -static inline void
> +inline void
> hard_reg_set_iter_init (hard_reg_set_iterator *iter, const_hard_reg_set set,
> unsigned min, unsigned *regno)
> {
> @@ -302,7 +302,7 @@ hard_reg_set_iter_init (hard_reg_set_iterator *iter, const_hard_reg_set set,
> *regno = min;
> }
>
> -static inline bool
> +inline bool
> hard_reg_set_iter_set (hard_reg_set_iterator *iter, unsigned *regno)
> {
> while (1)
> @@ -337,7 +337,7 @@ hard_reg_set_iter_set (hard_reg_set_iterator *iter, unsigned *regno)
> }
> }
>
> -static inline void
> +inline void
> hard_reg_set_iter_next (hard_reg_set_iterator *iter, unsigned *regno)
> {
> iter->bits >>= 1;
> diff --git a/gcc/hash-map.h b/gcc/hash-map.h
> index bc7ca9fd8e2..1c5189b04d5 100644
> --- a/gcc/hash-map.h
> +++ b/gcc/hash-map.h
> @@ -315,21 +315,21 @@ private:
> /* ggc marking routines. */
>
> template<typename K, typename V, typename H>
> -static inline void
> +inline void
> gt_ggc_mx (hash_map<K, V, H> *h)
> {
> gt_ggc_mx (&h->m_table);
> }
>
> template<typename K, typename V, typename H>
> -static inline void
> +inline void
> gt_pch_nx (hash_map<K, V, H> *h)
> {
> gt_pch_nx (&h->m_table);
> }
>
> template<typename K, typename V, typename H>
> -static inline void
> +inline void
> gt_cleare_cache (hash_map<K, V, H> *h)
> {
> if (h)
> @@ -337,7 +337,7 @@ gt_cleare_cache (hash_map<K, V, H> *h)
> }
>
> template<typename K, typename V, typename H>
> -static inline void
> +inline void
> gt_pch_nx (hash_map<K, V, H> *h, gt_pointer_operator op, void *cookie)
> {
> op (&h->m_table.m_entries, NULL, cookie);
> diff --git a/gcc/hash-set.h b/gcc/hash-set.h
> index 048e7e75011..f6125eb6a3a 100644
> --- a/gcc/hash-set.h
> +++ b/gcc/hash-set.h
> @@ -194,21 +194,21 @@ debug_helper (hash_set<T> &ref)
> /* ggc marking routines. */
>
> template<typename K, typename H>
> -static inline void
> +inline void
> gt_ggc_mx (hash_set<K, false, H> *h)
> {
> gt_ggc_mx (&h->m_table);
> }
>
> template<typename K, typename H>
> -static inline void
> +inline void
> gt_pch_nx (hash_set<K, false, H> *h)
> {
> gt_pch_nx (&h->m_table);
> }
>
> template<typename K, typename H>
> -static inline void
> +inline void
> gt_pch_nx (hash_set<K, false, H> *h, gt_pointer_operator op, void *cookie)
> {
> op (&h->m_table.m_entries, NULL, cookie);
> diff --git a/gcc/hash-table.h b/gcc/hash-table.h
> index e37625dc315..3f87ec06f37 100644
> --- a/gcc/hash-table.h
> +++ b/gcc/hash-table.h
> @@ -1236,7 +1236,7 @@ hash_table<Descriptor, Lazy, Allocator>::iterator::operator ++ ()
> /* ggc walking routines. */
>
> template<typename E>
> -static inline void
> +inline void
> gt_ggc_mx (hash_table<E> *h)
> {
> typedef hash_table<E> table;
> @@ -1257,7 +1257,7 @@ gt_ggc_mx (hash_table<E> *h)
> }
>
> template<typename D>
> -static inline void
> +inline void
> hashtab_entry_note_pointers (void *obj, void *h, gt_pointer_operator op,
> void *cookie)
> {
> @@ -1293,7 +1293,7 @@ gt_pch_nx (hash_table<D> *h)
> }
>
> template<typename D>
> -static inline void
> +inline void
> gt_pch_nx (hash_table<D> *h, gt_pointer_operator op, void *cookie)
> {
> op (&h->m_entries, NULL, cookie);
> diff --git a/gcc/hwint.h b/gcc/hwint.h
> index e31aa006fa4..427e9b9e9fd 100644
> --- a/gcc/hwint.h
> +++ b/gcc/hwint.h
> @@ -138,7 +138,7 @@ typedef HOST_WIDE_INT __gcc_host_wide_int__;
>
> /* Return X with all but the lowest bit masked off. */
>
> -static inline unsigned HOST_WIDE_INT
> +inline unsigned HOST_WIDE_INT
> least_bit_hwi (unsigned HOST_WIDE_INT x)
> {
> return (x & -x);
> @@ -146,7 +146,7 @@ least_bit_hwi (unsigned HOST_WIDE_INT x)
>
> /* True if X is zero or a power of two. */
>
> -static inline bool
> +inline bool
> pow2_or_zerop (unsigned HOST_WIDE_INT x)
> {
> return least_bit_hwi (x) == x;
> @@ -154,7 +154,7 @@ pow2_or_zerop (unsigned HOST_WIDE_INT x)
>
> /* True if X is a power of two. */
>
> -static inline bool
> +inline bool
> pow2p_hwi (unsigned HOST_WIDE_INT x)
> {
> return x && pow2_or_zerop (x);
> @@ -181,7 +181,7 @@ extern int ceil_log2 (unsigned HOST_WIDE_INT);
> #else /* GCC_VERSION >= 3004 */
>
> /* For convenience, define 0 -> word_size. */
> -static inline int
> +inline int
> clz_hwi (unsigned HOST_WIDE_INT x)
> {
> if (x == 0)
> @@ -195,7 +195,7 @@ clz_hwi (unsigned HOST_WIDE_INT x)
> # endif
> }
>
> -static inline int
> +inline int
> ctz_hwi (unsigned HOST_WIDE_INT x)
> {
> if (x == 0)
> @@ -209,7 +209,7 @@ ctz_hwi (unsigned HOST_WIDE_INT x)
> # endif
> }
>
> -static inline int
> +inline int
> ffs_hwi (unsigned HOST_WIDE_INT x)
> {
> # if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
> @@ -221,7 +221,7 @@ ffs_hwi (unsigned HOST_WIDE_INT x)
> # endif
> }
>
> -static inline int
> +inline int
> popcount_hwi (unsigned HOST_WIDE_INT x)
> {
> # if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
> @@ -233,19 +233,19 @@ popcount_hwi (unsigned HOST_WIDE_INT x)
> # endif
> }
>
> -static inline int
> +inline int
> floor_log2 (unsigned HOST_WIDE_INT x)
> {
> return HOST_BITS_PER_WIDE_INT - 1 - clz_hwi (x);
> }
>
> -static inline int
> +inline int
> ceil_log2 (unsigned HOST_WIDE_INT x)
> {
> return x == 0 ? 0 : floor_log2 (x - 1) + 1;
> }
>
> -static inline int
> +inline int
> exact_log2 (unsigned HOST_WIDE_INT x)
> {
> return pow2p_hwi (x) ? ctz_hwi (x) : -1;
> @@ -266,7 +266,7 @@ extern HOST_WIDE_INT least_common_multiple (HOST_WIDE_INT, HOST_WIDE_INT);
>
> /* Like ctz_hwi, except 0 when x == 0. */
>
> -static inline int
> +inline int
> ctz_or_zero (unsigned HOST_WIDE_INT x)
> {
> return ffs_hwi (x) - 1;
> @@ -274,7 +274,7 @@ ctz_or_zero (unsigned HOST_WIDE_INT x)
>
> /* Sign extend SRC starting from PREC. */
>
> -static inline HOST_WIDE_INT
> +inline HOST_WIDE_INT
> sext_hwi (HOST_WIDE_INT src, unsigned int prec)
> {
> if (prec == HOST_BITS_PER_WIDE_INT)
> @@ -304,7 +304,7 @@ sext_hwi (HOST_WIDE_INT src, unsigned int prec)
> }
>
> /* Zero extend SRC starting from PREC. */
> -static inline unsigned HOST_WIDE_INT
> +inline unsigned HOST_WIDE_INT
> zext_hwi (unsigned HOST_WIDE_INT src, unsigned int prec)
> {
> if (prec == HOST_BITS_PER_WIDE_INT)
> diff --git a/gcc/input.h b/gcc/input.h
> index b1fa14adf5b..9d68648bb3c 100644
> --- a/gcc/input.h
> +++ b/gcc/input.h
> @@ -195,7 +195,7 @@ extern int get_discriminator_from_loc (location_t);
> that is part of a macro replacement-list defined in a system
> header, but expanded in a non-system file. */
>
> -static inline int
> +inline int
> in_system_header_at (location_t loc)
> {
> return linemap_location_in_system_header_p (line_table, loc);
> @@ -204,7 +204,7 @@ in_system_header_at (location_t loc)
> /* Return true if LOCATION is the locus of a token that
> comes from a macro expansion, false otherwise. */
>
> -static inline bool
> +inline bool
> from_macro_expansion_at (location_t loc)
> {
> return linemap_location_from_macro_expansion_p (line_table, loc);
> @@ -214,13 +214,13 @@ from_macro_expansion_at (location_t loc)
> a macro definition, false otherwise. This differs from from_macro_expansion_at
> in its treatment of macro arguments, for which this returns false. */
>
> -static inline bool
> +inline bool
> from_macro_definition_at (location_t loc)
> {
> return linemap_location_from_macro_definition_p (line_table, loc);
> }
>
> -static inline location_t
> +inline location_t
> get_pure_location (location_t loc)
> {
> return get_pure_location (line_table, loc);
> @@ -228,7 +228,7 @@ get_pure_location (location_t loc)
>
> /* Get the start of any range encoded within location LOC. */
>
> -static inline location_t
> +inline location_t
> get_start (location_t loc)
> {
> return get_range_from_loc (line_table, loc).m_start;
> @@ -236,7 +236,7 @@ get_start (location_t loc)
>
> /* Get the endpoint of any range encoded within location LOC. */
>
> -static inline location_t
> +inline location_t
> get_finish (location_t loc)
> {
> return get_range_from_loc (line_table, loc).m_finish;
> diff --git a/gcc/insn-addr.h b/gcc/insn-addr.h
> index aa5fd8ebe0d..baf4d995e22 100644
> --- a/gcc/insn-addr.h
> +++ b/gcc/insn-addr.h
> @@ -37,7 +37,7 @@ extern int insn_current_address;
> #define INSN_ADDRESSES_SET_P() (insn_addresses_.exists ())
> #define INSN_ADDRESSES_SIZE() (insn_addresses_.length ())
>
> -static inline void
> +inline void
> insn_addresses_new (rtx_insn *insn, int insn_addr)
> {
> unsigned insn_uid = INSN_UID ((insn));
> diff --git a/gcc/internal-fn.h b/gcc/internal-fn.h
> index 6f7a262a763..2fd82a19d15 100644
> --- a/gcc/internal-fn.h
> +++ b/gcc/internal-fn.h
> @@ -105,7 +105,7 @@ extern void init_internal_fns ();
>
> extern const char *const internal_fn_name_array[];
>
> -static inline const char *
> +inline const char *
> internal_fn_name (enum internal_fn fn)
> {
> return internal_fn_name_array[(int) fn];
> @@ -117,7 +117,7 @@ extern internal_fn lookup_internal_fn (const char *);
>
> extern const int internal_fn_flags_array[];
>
> -static inline int
> +inline int
> internal_fn_flags (enum internal_fn fn)
> {
> return internal_fn_flags_array[(int) fn];
> @@ -127,7 +127,7 @@ internal_fn_flags (enum internal_fn fn)
>
> extern GTY(()) const_tree internal_fn_fnspec_array[IFN_LAST + 1];
>
> -static inline const_tree
> +inline const_tree
> internal_fn_fnspec (enum internal_fn fn)
> {
> return internal_fn_fnspec_array[(int) fn];
> diff --git a/gcc/ipa-fnsummary.h b/gcc/ipa-fnsummary.h
> index 546d15aea30..fcc01167d0d 100644
> --- a/gcc/ipa-fnsummary.h
> +++ b/gcc/ipa-fnsummary.h
> @@ -435,7 +435,7 @@ void ipa_remove_from_growth_caches (struct cgraph_edge *edge);
>
> /* Return true if EDGE is a cross module call. */
>
> -static inline bool
> +inline bool
> cross_module_call_p (struct cgraph_edge *edge)
> {
> /* Here we do not want to walk to alias target becuase ICF may create
> diff --git a/gcc/ipa-icf-gimple.h b/gcc/ipa-icf-gimple.h
> index 09a31e8e55a..1ad6421a5ba 100644
> --- a/gcc/ipa-icf-gimple.h
> +++ b/gcc/ipa-icf-gimple.h
> @@ -39,7 +39,7 @@ along with GCC; see the file COPYING3. If not see
> /* Logs a MESSAGE to dump_file if exists and returns false. FUNC is name
> of function and LINE is location in the source file. */
>
> -static inline bool
> +inline bool
> return_false_with_message_1 (const char *message, const char *filename,
> const char *func, unsigned int line)
> {
> @@ -59,7 +59,7 @@ return_false_with_message_1 (const char *message, const char *filename,
> /* Logs return value if RESULT is false. FUNC is name of function and LINE
> is location in the source file. */
>
> -static inline bool
> +inline bool
> return_with_result (bool result, const char *filename,
> const char *func, unsigned int line)
> {
> @@ -77,7 +77,7 @@ return_with_result (bool result, const char *filename,
> /* Verbose logging function logging statements S1 and S2 of a CODE.
> FUNC is name of function and LINE is location in the source file. */
>
> -static inline bool
> +inline bool
> return_different_stmts_1 (gimple *s1, gimple *s2, const char *code,
> const char *func, unsigned int line)
> {
> diff --git a/gcc/ipa-inline.h b/gcc/ipa-inline.h
> index b238316f977..70de89a8b5a 100644
> --- a/gcc/ipa-inline.h
> +++ b/gcc/ipa-inline.h
> @@ -69,7 +69,7 @@ extern function_summary <tree *> *ipa_saved_clone_sources;
>
> /* Return estimated size of the inline sequence of EDGE. */
>
> -static inline int
> +inline int
> estimate_edge_size (struct cgraph_edge *edge)
> {
> edge_growth_cache_entry *entry;
> @@ -82,7 +82,7 @@ estimate_edge_size (struct cgraph_edge *edge)
>
> /* Return lower bound on estimated callee growth after inlining EDGE. */
>
> -static inline int
> +inline int
> estimate_min_edge_growth (struct cgraph_edge *edge)
> {
> ipa_call_summary *s = ipa_call_summaries->get (edge);
> @@ -92,7 +92,7 @@ estimate_min_edge_growth (struct cgraph_edge *edge)
>
> /* Return estimated callee growth after inlining EDGE. */
>
> -static inline int
> +inline int
> estimate_edge_growth (struct cgraph_edge *edge)
> {
> ipa_call_summary *s = ipa_call_summaries->get (edge);
> @@ -103,7 +103,7 @@ estimate_edge_growth (struct cgraph_edge *edge)
> /* Return estimated callee runtime increase after inlining
> EDGE. */
>
> -static inline sreal
> +inline sreal
> estimate_edge_time (struct cgraph_edge *edge, sreal *nonspec_time = NULL)
> {
> edge_growth_cache_entry *entry;
> @@ -120,7 +120,7 @@ estimate_edge_time (struct cgraph_edge *edge, sreal *nonspec_time = NULL)
> /* Return estimated callee runtime increase after inlining
> EDGE. */
>
> -static inline ipa_hints
> +inline ipa_hints
> estimate_edge_hints (struct cgraph_edge *edge)
> {
> edge_growth_cache_entry *entry;
> diff --git a/gcc/ipa-modref.h b/gcc/ipa-modref.h
> index 7a2fd730db6..2a2d31e86db 100644
> --- a/gcc/ipa-modref.h
> +++ b/gcc/ipa-modref.h
> @@ -108,7 +108,7 @@ static const int implicit_retslot_eaf_flags
> MODREF_FLAGS are flags determined by analysis of function body while
> FLAGS are flags known otherwise (i.e. by fnspec, pure/const attributes
> etc.) */
> -static inline int
> +inline int
> interposable_eaf_flags (int modref_flags, int flags)
> {
> /* If parameter was previously unused, we know it is only read
> diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h
> index ea062e00a65..a40ccc0ebbe 100644
> --- a/gcc/ipa-prop.h
> +++ b/gcc/ipa-prop.h
> @@ -348,14 +348,14 @@ struct GTY (()) ipa_jump_func
>
> /* Return the constant stored in a constant jump functin JFUNC. */
>
> -static inline tree
> +inline tree
> ipa_get_jf_constant (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_CONST);
> return jfunc->value.constant.value;
> }
>
> -static inline struct ipa_cst_ref_desc *
> +inline struct ipa_cst_ref_desc *
> ipa_get_jf_constant_rdesc (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_CONST);
> @@ -364,7 +364,7 @@ ipa_get_jf_constant_rdesc (struct ipa_jump_func *jfunc)
>
> /* Return the operand of a pass through jmp function JFUNC. */
>
> -static inline tree
> +inline tree
> ipa_get_jf_pass_through_operand (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_PASS_THROUGH);
> @@ -374,7 +374,7 @@ ipa_get_jf_pass_through_operand (struct ipa_jump_func *jfunc)
> /* Return the number of the caller's formal parameter that a pass through jump
> function JFUNC refers to. */
>
> -static inline int
> +inline int
> ipa_get_jf_pass_through_formal_id (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_PASS_THROUGH);
> @@ -383,7 +383,7 @@ ipa_get_jf_pass_through_formal_id (struct ipa_jump_func *jfunc)
>
> /* Return operation of a pass through jump function JFUNC. */
>
> -static inline enum tree_code
> +inline enum tree_code
> ipa_get_jf_pass_through_operation (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_PASS_THROUGH);
> @@ -392,7 +392,7 @@ ipa_get_jf_pass_through_operation (struct ipa_jump_func *jfunc)
>
> /* Return the agg_preserved flag of a pass through jump function JFUNC. */
>
> -static inline bool
> +inline bool
> ipa_get_jf_pass_through_agg_preserved (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_PASS_THROUGH);
> @@ -402,7 +402,7 @@ ipa_get_jf_pass_through_agg_preserved (struct ipa_jump_func *jfunc)
> /* Return true if pass through jump function JFUNC preserves type
> information. */
>
> -static inline bool
> +inline bool
> ipa_get_jf_pass_through_type_preserved (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_PASS_THROUGH);
> @@ -411,7 +411,7 @@ ipa_get_jf_pass_through_type_preserved (struct ipa_jump_func *jfunc)
>
> /* Return the offset of an ancestor jump function JFUNC. */
>
> -static inline HOST_WIDE_INT
> +inline HOST_WIDE_INT
> ipa_get_jf_ancestor_offset (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_ANCESTOR);
> @@ -421,7 +421,7 @@ ipa_get_jf_ancestor_offset (struct ipa_jump_func *jfunc)
> /* Return the number of the caller's formal parameter that an ancestor jump
> function JFUNC refers to. */
>
> -static inline int
> +inline int
> ipa_get_jf_ancestor_formal_id (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_ANCESTOR);
> @@ -430,7 +430,7 @@ ipa_get_jf_ancestor_formal_id (struct ipa_jump_func *jfunc)
>
> /* Return the agg_preserved flag of an ancestor jump function JFUNC. */
>
> -static inline bool
> +inline bool
> ipa_get_jf_ancestor_agg_preserved (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_ANCESTOR);
> @@ -439,7 +439,7 @@ ipa_get_jf_ancestor_agg_preserved (struct ipa_jump_func *jfunc)
>
> /* Return true if ancestor jump function JFUNC presrves type information. */
>
> -static inline bool
> +inline bool
> ipa_get_jf_ancestor_type_preserved (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_ANCESTOR);
> @@ -450,7 +450,7 @@ ipa_get_jf_ancestor_type_preserved (struct ipa_jump_func *jfunc)
> parameter for non-NULLness unless it does not matter because the offset is
> zero anyway. */
>
> -static inline bool
> +inline bool
> ipa_get_jf_ancestor_keep_null (struct ipa_jump_func *jfunc)
> {
> gcc_checking_assert (jfunc->type == IPA_JF_ANCESTOR);
> @@ -701,7 +701,7 @@ struct ipa_func_body_info
>
> /* Return the number of formal parameters. */
>
> -static inline int
> +inline int
> ipa_get_param_count (class ipa_node_params *info)
> {
> return vec_safe_length (info->descriptors);
> @@ -710,7 +710,7 @@ ipa_get_param_count (class ipa_node_params *info)
> /* Return the parameter declaration in DESCRIPTORS at index I and assert it is
> indeed a PARM_DECL. */
>
> -static inline tree
> +inline tree
> ipa_get_param (const vec<ipa_param_descriptor, va_gc> &descriptors, int i)
> {
> tree t = descriptors[i].decl_or_type;
> @@ -723,7 +723,7 @@ ipa_get_param (const vec<ipa_param_descriptor, va_gc> &descriptors, int i)
> using ipa_initialize_node_params. This function should not be called in
> WPA. */
>
> -static inline tree
> +inline tree
> ipa_get_param (class ipa_node_params *info, int i)
> {
> gcc_checking_assert (info->descriptors);
> @@ -733,7 +733,7 @@ ipa_get_param (class ipa_node_params *info, int i)
> /* Return the type of Ith formal parameter of the function corresponding
> to INFO if it is known or NULL if not. */
>
> -static inline tree
> +inline tree
> ipa_get_type (class ipa_node_params *info, int i)
> {
> if (vec_safe_length (info->descriptors) <= (unsigned) i)
> @@ -750,7 +750,7 @@ ipa_get_type (class ipa_node_params *info, int i)
> /* Return the move cost of Ith formal parameter of the function corresponding
> to INFO. */
>
> -static inline int
> +inline int
> ipa_get_param_move_cost (class ipa_node_params *info, int i)
> {
> gcc_checking_assert (info->descriptors);
> @@ -760,7 +760,7 @@ ipa_get_param_move_cost (class ipa_node_params *info, int i)
> /* Set the used flag corresponding to the Ith formal parameter of the function
> associated with INFO to VAL. */
>
> -static inline void
> +inline void
> ipa_set_param_used (class ipa_node_params *info, int i, bool val)
> {
> gcc_checking_assert (info->descriptors);
> @@ -770,7 +770,7 @@ ipa_set_param_used (class ipa_node_params *info, int i, bool val)
> /* Set the used_by_ipa_predicates flag corresponding to the Ith formal
> parameter of the function associated with INFO to VAL. */
>
> -static inline void
> +inline void
> ipa_set_param_used_by_ipa_predicates (class ipa_node_params *info, int i, bool val)
> {
> gcc_checking_assert (info->descriptors);
> @@ -780,7 +780,7 @@ ipa_set_param_used_by_ipa_predicates (class ipa_node_params *info, int i, bool v
> /* Set the used_by_indirect_call flag corresponding to the Ith formal
> parameter of the function associated with INFO to VAL. */
>
> -static inline void
> +inline void
> ipa_set_param_used_by_indirect_call (class ipa_node_params *info, int i, bool val)
> {
> gcc_checking_assert (info->descriptors);
> @@ -790,7 +790,7 @@ ipa_set_param_used_by_indirect_call (class ipa_node_params *info, int i, bool va
> /* Set the .used_by_polymorphic_call flag corresponding to the Ith formal
> parameter of the function associated with INFO to VAL. */
>
> -static inline void
> +inline void
> ipa_set_param_used_by_polymorphic_call (class ipa_node_params *info, int i, bool val)
> {
> gcc_checking_assert (info->descriptors);
> @@ -800,7 +800,7 @@ ipa_set_param_used_by_polymorphic_call (class ipa_node_params *info, int i, bool
> /* Return how many uses described by ipa-prop a parameter has or
> IPA_UNDESCRIBED_USE if there is a use that is not described by these
> structures. */
> -static inline int
> +inline int
> ipa_get_controlled_uses (class ipa_node_params *info, int i)
> {
> /* FIXME: introducing speculation causes out of bounds access here. */
> @@ -811,7 +811,7 @@ ipa_get_controlled_uses (class ipa_node_params *info, int i)
>
> /* Set the controlled counter of a given parameter. */
>
> -static inline void
> +inline void
> ipa_set_controlled_uses (class ipa_node_params *info, int i, int val)
> {
> gcc_checking_assert (info->descriptors);
> @@ -820,7 +820,7 @@ ipa_set_controlled_uses (class ipa_node_params *info, int i, int val)
>
> /* Assuming a parameter does not have IPA_UNDESCRIBED_USE controlled uses,
> return flag which indicates it has been dereferenced but only in a load. */
> -static inline int
> +inline int
> ipa_get_param_load_dereferenced (class ipa_node_params *info, int i)
> {
> gcc_assert (ipa_get_controlled_uses (info, i) != IPA_UNDESCRIBED_USE);
> @@ -829,7 +829,7 @@ ipa_get_param_load_dereferenced (class ipa_node_params *info, int i)
>
> /* Set the load_dereferenced flag of a given parameter. */
>
> -static inline void
> +inline void
> ipa_set_param_load_dereferenced (class ipa_node_params *info, int i, bool val)
> {
> gcc_checking_assert (info->descriptors);
> @@ -839,7 +839,7 @@ ipa_set_param_load_dereferenced (class ipa_node_params *info, int i, bool val)
> /* Return the used flag corresponding to the Ith formal parameter of the
> function associated with INFO. */
>
> -static inline bool
> +inline bool
> ipa_is_param_used (class ipa_node_params *info, int i)
> {
> gcc_checking_assert (info->descriptors);
> @@ -849,7 +849,7 @@ ipa_is_param_used (class ipa_node_params *info, int i)
> /* Return the used_by_ipa_predicates flag corresponding to the Ith formal
> parameter of the function associated with INFO. */
>
> -static inline bool
> +inline bool
> ipa_is_param_used_by_ipa_predicates (class ipa_node_params *info, int i)
> {
> gcc_checking_assert (info->descriptors);
> @@ -859,7 +859,7 @@ ipa_is_param_used_by_ipa_predicates (class ipa_node_params *info, int i)
> /* Return the used_by_indirect_call flag corresponding to the Ith formal
> parameter of the function associated with INFO. */
>
> -static inline bool
> +inline bool
> ipa_is_param_used_by_indirect_call (class ipa_node_params *info, int i)
> {
> gcc_checking_assert (info->descriptors);
> @@ -869,7 +869,7 @@ ipa_is_param_used_by_indirect_call (class ipa_node_params *info, int i)
> /* Return the used_by_polymorphic_call flag corresponding to the Ith formal
> parameter of the function associated with INFO. */
>
> -static inline bool
> +inline bool
> ipa_is_param_used_by_polymorphic_call (class ipa_node_params *info, int i)
> {
> gcc_checking_assert (info->descriptors);
> @@ -944,7 +944,7 @@ class GTY((for_user)) ipa_edge_args
>
> /* Return the number of actual arguments. */
>
> -static inline int
> +inline int
> ipa_get_cs_argument_count (class ipa_edge_args *args)
> {
> return vec_safe_length (args->jump_functions);
> @@ -954,7 +954,7 @@ ipa_get_cs_argument_count (class ipa_edge_args *args)
> there is no setter function as jump functions are all set up in
> ipa_compute_jump_functions. */
>
> -static inline struct ipa_jump_func *
> +inline struct ipa_jump_func *
> ipa_get_ith_jump_func (class ipa_edge_args *args, int i)
> {
> return &(*args->jump_functions)[i];
> @@ -962,7 +962,7 @@ ipa_get_ith_jump_func (class ipa_edge_args *args, int i)
>
> /* Returns a pointer to the polymorphic call context for the ith argument.
> NULL if contexts are not computed. */
> -static inline class ipa_polymorphic_call_context *
> +inline class ipa_polymorphic_call_context *
> ipa_get_ith_polymorhic_call_context (class ipa_edge_args *args, int i)
> {
> if (!args->polymorphic_call_contexts)
> @@ -1056,7 +1056,7 @@ int count_formal_params (tree fndecl);
> /* This function ensures the array of node param infos is big enough to
> accommodate a structure for all nodes and reallocates it if not. */
>
> -static inline void
> +inline void
> ipa_check_create_node_params (void)
> {
> if (!ipa_node_params_sum)
> @@ -1069,13 +1069,13 @@ ipa_check_create_node_params (void)
> of this function is that debug dumping function can check info availability
> without causing allocations. */
>
> -static inline bool
> +inline bool
> ipa_edge_args_info_available_for_edge_p (struct cgraph_edge *edge)
> {
> return ipa_edge_args_sum->exists (edge);
> }
>
> -static inline ipcp_transformation *
> +inline ipcp_transformation *
> ipcp_get_transformation_summary (cgraph_node *node)
> {
> if (ipcp_transformation_sum == NULL)
> diff --git a/gcc/ira-int.h b/gcc/ira-int.h
> index 95ad76e96ce..e2de47213b4 100644
> --- a/gcc/ira-int.h
> +++ b/gcc/ira-int.h
> @@ -504,7 +504,7 @@ struct ira_emit_data
> extern ira_emit_data_t ira_allocno_emit_data;
>
> /* Abbreviation for frequent emit data access. */
> -static inline rtx
> +inline rtx
> allocno_emit_reg (ira_allocno_t a)
> {
> return ALLOCNO_EMIT_DATA (a)->reg;
> @@ -734,7 +734,7 @@ struct minmax_set_iterator {
>
> /* Initialize the iterator I for bit vector VEC containing minimal and
> maximal values MIN and MAX. */
> -static inline void
> +inline void
> minmax_set_iter_init (minmax_set_iterator *i, IRA_INT_TYPE *vec, int min,
> int max)
> {
> @@ -749,7 +749,7 @@ minmax_set_iter_init (minmax_set_iterator *i, IRA_INT_TYPE *vec, int min,
> /* Return TRUE if we have more allocnos to visit, in which case *N is
> set to the number of the element to be visited. Otherwise, return
> FALSE. */
> -static inline bool
> +inline bool
> minmax_set_iter_cond (minmax_set_iterator *i, int *n)
> {
> /* Skip words that are zeros. */
> @@ -774,7 +774,7 @@ minmax_set_iter_cond (minmax_set_iterator *i, int *n)
> }
>
> /* Advance to the next element in the set. */
> -static inline void
> +inline void
> minmax_set_iter_next (minmax_set_iterator *i)
> {
> i->word >>= 1;
> @@ -1084,7 +1084,7 @@ extern void ira_emit (bool);
>
>
> /* Return true if equivalence of pseudo REGNO is not a lvalue. */
> -static inline bool
> +inline bool
> ira_equiv_no_lvalue_p (int regno)
> {
> if (regno >= ira_reg_equiv_len)
> @@ -1098,7 +1098,7 @@ ira_equiv_no_lvalue_p (int regno)
>
>
> /* Initialize register costs for MODE if necessary. */
> -static inline void
> +inline void
> ira_init_register_move_cost_if_necessary (machine_mode mode)
> {
> if (ira_register_move_cost[mode] == NULL)
> @@ -1114,7 +1114,7 @@ struct ira_allocno_iterator {
> };
>
> /* Initialize the iterator I. */
> -static inline void
> +inline void
> ira_allocno_iter_init (ira_allocno_iterator *i)
> {
> i->n = 0;
> @@ -1122,7 +1122,7 @@ ira_allocno_iter_init (ira_allocno_iterator *i)
>
> /* Return TRUE if we have more allocnos to visit, in which case *A is
> set to the allocno to be visited. Otherwise, return FALSE. */
> -static inline bool
> +inline bool
> ira_allocno_iter_cond (ira_allocno_iterator *i, ira_allocno_t *a)
> {
> int n;
> @@ -1151,7 +1151,7 @@ struct ira_object_iterator {
> };
>
> /* Initialize the iterator I. */
> -static inline void
> +inline void
> ira_object_iter_init (ira_object_iterator *i)
> {
> i->n = 0;
> @@ -1159,7 +1159,7 @@ ira_object_iter_init (ira_object_iterator *i)
>
> /* Return TRUE if we have more objects to visit, in which case *OBJ is
> set to the object to be visited. Otherwise, return FALSE. */
> -static inline bool
> +inline bool
> ira_object_iter_cond (ira_object_iterator *i, ira_object_t *obj)
> {
> int n;
> @@ -1188,7 +1188,7 @@ struct ira_allocno_object_iterator {
> };
>
> /* Initialize the iterator I. */
> -static inline void
> +inline void
> ira_allocno_object_iter_init (ira_allocno_object_iterator *i)
> {
> i->n = 0;
> @@ -1197,7 +1197,7 @@ ira_allocno_object_iter_init (ira_allocno_object_iterator *i)
> /* Return TRUE if we have more objects to visit in allocno A, in which
> case *O is set to the object to be visited. Otherwise, return
> FALSE. */
> -static inline bool
> +inline bool
> ira_allocno_object_iter_cond (ira_allocno_object_iterator *i, ira_allocno_t a,
> ira_object_t *o)
> {
> @@ -1225,7 +1225,7 @@ struct ira_pref_iterator {
> };
>
> /* Initialize the iterator I. */
> -static inline void
> +inline void
> ira_pref_iter_init (ira_pref_iterator *i)
> {
> i->n = 0;
> @@ -1233,7 +1233,7 @@ ira_pref_iter_init (ira_pref_iterator *i)
>
> /* Return TRUE if we have more prefs to visit, in which case *PREF is
> set to the pref to be visited. Otherwise, return FALSE. */
> -static inline bool
> +inline bool
> ira_pref_iter_cond (ira_pref_iterator *i, ira_pref_t *pref)
> {
> int n;
> @@ -1263,7 +1263,7 @@ struct ira_copy_iterator {
> };
>
> /* Initialize the iterator I. */
> -static inline void
> +inline void
> ira_copy_iter_init (ira_copy_iterator *i)
> {
> i->n = 0;
> @@ -1271,7 +1271,7 @@ ira_copy_iter_init (ira_copy_iterator *i)
>
> /* Return TRUE if we have more copies to visit, in which case *CP is
> set to the copy to be visited. Otherwise, return FALSE. */
> -static inline bool
> +inline bool
> ira_copy_iter_cond (ira_copy_iterator *i, ira_copy_t *cp)
> {
> int n;
> @@ -1324,7 +1324,7 @@ struct ira_object_conflict_iterator {
> };
>
> /* Initialize the iterator I with ALLOCNO conflicts. */
> -static inline void
> +inline void
> ira_object_conflict_iter_init (ira_object_conflict_iterator *i,
> ira_object_t obj)
> {
> @@ -1350,7 +1350,7 @@ ira_object_conflict_iter_init (ira_object_conflict_iterator *i,
> /* Return TRUE if we have more conflicting allocnos to visit, in which
> case *A is set to the allocno to be visited. Otherwise, return
> FALSE. */
> -static inline bool
> +inline bool
> ira_object_conflict_iter_cond (ira_object_conflict_iterator *i,
> ira_object_t *pobj)
> {
> @@ -1405,7 +1405,7 @@ ira_object_conflict_iter_cond (ira_object_conflict_iterator *i,
> /* The function returns TRUE if at least one hard register from ones
> starting with HARD_REGNO and containing value of MODE are in set
> HARD_REGSET. */
> -static inline bool
> +inline bool
> ira_hard_reg_set_intersection_p (int hard_regno, machine_mode mode,
> HARD_REG_SET hard_regset)
> {
> @@ -1419,7 +1419,7 @@ ira_hard_reg_set_intersection_p (int hard_regno, machine_mode mode,
> }
>
> /* Return number of hard registers in hard register SET. */
> -static inline int
> +inline int
> hard_reg_set_size (HARD_REG_SET set)
> {
> int i, size;
> @@ -1433,7 +1433,7 @@ hard_reg_set_size (HARD_REG_SET set)
> /* The function returns TRUE if hard registers starting with
> HARD_REGNO and containing value of MODE are fully in set
> HARD_REGSET. */
> -static inline bool
> +inline bool
> ira_hard_reg_in_set_p (int hard_regno, machine_mode mode,
> HARD_REG_SET hard_regset)
> {
> @@ -1454,7 +1454,7 @@ ira_hard_reg_in_set_p (int hard_regno, machine_mode mode,
>
> /* Allocate cost vector *VEC for hard registers of ACLASS and
> initialize the elements by VAL if it is necessary */
> -static inline void
> +inline void
> ira_allocate_and_set_costs (int **vec, reg_class_t aclass, int val)
> {
> int i, *reg_costs;
> @@ -1470,7 +1470,7 @@ ira_allocate_and_set_costs (int **vec, reg_class_t aclass, int val)
>
> /* Allocate cost vector *VEC for hard registers of ACLASS and copy
> values of vector SRC into the vector if it is necessary */
> -static inline void
> +inline void
> ira_allocate_and_copy_costs (int **vec, enum reg_class aclass, int *src)
> {
> int len;
> @@ -1484,7 +1484,7 @@ ira_allocate_and_copy_costs (int **vec, enum reg_class aclass, int *src)
>
> /* Allocate cost vector *VEC for hard registers of ACLASS and add
> values of vector SRC into the vector if it is necessary */
> -static inline void
> +inline void
> ira_allocate_and_accumulate_costs (int **vec, enum reg_class aclass, int *src)
> {
> int i, len;
> @@ -1504,7 +1504,7 @@ ira_allocate_and_accumulate_costs (int **vec, enum reg_class aclass, int *src)
> /* Allocate cost vector *VEC for hard registers of ACLASS and copy
> values of vector SRC into the vector or initialize it by VAL (if
> SRC is null). */
> -static inline void
> +inline void
> ira_allocate_and_set_or_copy_costs (int **vec, enum reg_class aclass,
> int val, int *src)
> {
> diff --git a/gcc/ira.h b/gcc/ira.h
> index 58b50dbe8a2..ddd86ef345a 100644
> --- a/gcc/ira.h
> +++ b/gcc/ira.h
> @@ -232,7 +232,7 @@ extern rtx non_conflicting_reg_copy_p (rtx_insn *);
> non-local goto code using frame-pointer to address saved stack
> pointer value after restoring old frame pointer value. The
> function returns TRUE if REGNO is such a static chain pseudo. */
> -static inline bool
> +inline bool
> non_spilled_static_chain_regno_p (int regno)
> {
> return (cfun->static_chain_decl && crtl->has_nonlocal_goto
> diff --git a/gcc/jit/jit-dejagnu.h b/gcc/jit/jit-dejagnu.h
> index 86f6ad3e14d..bdf57857537 100644
> --- a/gcc/jit/jit-dejagnu.h
> +++ b/gcc/jit/jit-dejagnu.h
> @@ -66,7 +66,7 @@ dg_wait (void)
> }
> #endif
>
> -static inline void
> +inline void
> pass (const char* fmt, ...)
> {
> va_list ap;
> @@ -81,7 +81,7 @@ pass (const char* fmt, ...)
> #endif
> }
>
> -static inline void
> +inline void
> xpass (const char* fmt, ...)
> {
> va_list ap;
> @@ -96,7 +96,7 @@ xpass (const char* fmt, ...)
> #endif
> }
>
> -static inline void
> +inline void
> fail (const char* fmt, ...)
> {
> va_list ap;
> @@ -111,7 +111,7 @@ fail (const char* fmt, ...)
> #endif
> }
>
> -static inline void
> +inline void
> xfail (const char* fmt, ...)
> {
> va_list ap;
> @@ -126,7 +126,7 @@ xfail (const char* fmt, ...)
> #endif
> }
>
> -static inline void
> +inline void
> untested (const char* fmt, ...)
> {
> va_list ap;
> @@ -141,7 +141,7 @@ untested (const char* fmt, ...)
> #endif
> }
>
> -static inline void
> +inline void
> unresolved (const char* fmt, ...)
> {
> va_list ap;
> @@ -156,7 +156,7 @@ unresolved (const char* fmt, ...)
> #endif
> }
>
> -static inline void
> +inline void
> note (const char* fmt, ...)
> {
> va_list ap;
> @@ -170,7 +170,7 @@ note (const char* fmt, ...)
> #endif
> }
>
> -static inline void
> +inline void
> totals (void)
> {
> printf ("\nTotals:\n");
> diff --git a/gcc/jit/jit-recording.h b/gcc/jit/jit-recording.h
> index 2dc9448d7c9..400cf345600 100644
> --- a/gcc/jit/jit-recording.h
> +++ b/gcc/jit/jit-recording.h
> @@ -2556,7 +2556,7 @@ types_kinda_same_internal (recording::type *a,
>
> For array and vector types the number of element also
> has to match, aswell as the element types themself. */
> -static inline bool
> +inline bool
> types_kinda_same (recording::type *a, recording::type *b)
> {
> /* Handle trivial case here, to allow for inlining. */
> diff --git a/gcc/lra-int.h b/gcc/lra-int.h
> index 2f1450b345c..73f8eb004b0 100644
> --- a/gcc/lra-int.h
> +++ b/gcc/lra-int.h
> @@ -419,7 +419,7 @@ extern void lra_eliminate_reg_if_possible (rtx *);
> /* Return the hard register which given pseudo REGNO assigned to.
> Negative value means that the register got memory or we don't know
> allocation yet. */
> -static inline int
> +inline int
> lra_get_regno_hard_regno (int regno)
> {
> resize_reg_info ();
> @@ -443,7 +443,7 @@ lra_change_class (int regno, enum reg_class new_class,
>
> /* Update insn operands which are duplication of NOP operand. The
> insn is represented by its LRA internal representation ID. */
> -static inline void
> +inline void
> lra_update_dup (lra_insn_recog_data_t id, int nop)
> {
> int i;
> @@ -458,7 +458,7 @@ lra_update_dup (lra_insn_recog_data_t id, int nop)
> operands processing. Generally speaking, we could do this probably
> simultaneously with operands processing because a common practice
> is to enumerate the operators after their operands. */
> -static inline void
> +inline void
> lra_update_operator_dups (lra_insn_recog_data_t id)
> {
> int i;
> @@ -474,7 +474,7 @@ lra_update_operator_dups (lra_insn_recog_data_t id)
> }
>
> /* Return info about INSN. Set up the info if it is not done yet. */
> -static inline lra_insn_recog_data_t
> +inline lra_insn_recog_data_t
> lra_get_insn_recog_data (rtx_insn *insn)
> {
> lra_insn_recog_data_t data;
> @@ -494,7 +494,7 @@ lra_get_insn_recog_data (rtx_insn *insn)
> }
>
> /* Update offset from pseudos with VAL by INCR. */
> -static inline void
> +inline void
> lra_update_reg_val_offset (int val, poly_int64 incr)
> {
> int i;
> @@ -507,7 +507,7 @@ lra_update_reg_val_offset (int val, poly_int64 incr)
> }
>
> /* Return true if register content is equal to VAL with OFFSET. */
> -static inline bool
> +inline bool
> lra_reg_val_equal_p (int regno, int val, poly_int64 offset)
> {
> if (lra_reg_info[regno].val == val
> @@ -518,7 +518,7 @@ lra_reg_val_equal_p (int regno, int val, poly_int64 offset)
> }
>
> /* Assign value of register FROM to TO. */
> -static inline void
> +inline void
> lra_assign_reg_val (int from, int to)
> {
> lra_reg_info[to].val = lra_reg_info[from].val;
> diff --git a/gcc/lra.h b/gcc/lra.h
> index ec25947d5fa..85dbf927414 100644
> --- a/gcc/lra.h
> +++ b/gcc/lra.h
> @@ -27,7 +27,7 @@ extern bool lra_simple_p;
> /* Return the allocno reg class of REGNO. If it is a reload pseudo,
> the pseudo should finally get hard register of the allocno
> class. */
> -static inline enum reg_class
> +inline enum reg_class
> lra_get_allocno_class (int regno)
> {
> resize_reg_info ();
> diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h
> index d544dabe184..fc7133d07ba 100644
> --- a/gcc/lto-streamer.h
> +++ b/gcc/lto-streamer.h
> @@ -969,7 +969,7 @@ extern const char *lto_section_name[];
> extern vec<lto_out_decl_state_ptr> lto_function_decl_states;
>
> /* Return true if LTO tag TAG corresponds to a tree code. */
> -static inline bool
> +inline bool
> lto_tag_is_tree_code_p (enum LTO_tags tag)
> {
> return tag > LTO_first_tree_tag && (unsigned) tag <= MAX_TREE_CODES;
> @@ -977,7 +977,7 @@ lto_tag_is_tree_code_p (enum LTO_tags tag)
>
>
> /* Return true if LTO tag TAG corresponds to a gimple code. */
> -static inline bool
> +inline bool
> lto_tag_is_gimple_code_p (enum LTO_tags tag)
> {
> return (unsigned) tag >= LTO_first_gimple_tag
> @@ -988,7 +988,7 @@ lto_tag_is_gimple_code_p (enum LTO_tags tag)
>
> /* Return the LTO tag corresponding to gimple code CODE. See enum
> LTO_tags for details on the conversion. */
> -static inline enum LTO_tags
> +inline enum LTO_tags
> lto_gimple_code_to_tag (enum gimple_code code)
> {
> return (enum LTO_tags) ((unsigned) code + LTO_first_gimple_tag);
> @@ -997,7 +997,7 @@ lto_gimple_code_to_tag (enum gimple_code code)
>
> /* Return the GIMPLE code corresponding to TAG. See enum LTO_tags for
> details on the conversion. */
> -static inline enum gimple_code
> +inline enum gimple_code
> lto_tag_to_gimple_code (enum LTO_tags tag)
> {
> gcc_assert (lto_tag_is_gimple_code_p (tag));
> @@ -1007,7 +1007,7 @@ lto_tag_to_gimple_code (enum LTO_tags tag)
>
> /* Return the LTO tag corresponding to tree code CODE. See enum
> LTO_tags for details on the conversion. */
> -static inline enum LTO_tags
> +inline enum LTO_tags
> lto_tree_code_to_tag (enum tree_code code)
> {
> return (enum LTO_tags) ((unsigned) code + LTO_first_tree_tag);
> @@ -1016,7 +1016,7 @@ lto_tree_code_to_tag (enum tree_code code)
>
> /* Return the tree code corresponding to TAG. See enum LTO_tags for
> details on the conversion. */
> -static inline enum tree_code
> +inline enum tree_code
> lto_tag_to_tree_code (enum LTO_tags tag)
> {
> gcc_assert (lto_tag_is_tree_code_p (tag));
> @@ -1024,7 +1024,7 @@ lto_tag_to_tree_code (enum LTO_tags tag)
> }
>
> /* Check that tag ACTUAL == EXPECTED. */
> -static inline void
> +inline void
> lto_tag_check (enum LTO_tags actual, enum LTO_tags expected)
> {
> if (actual != expected)
> @@ -1033,7 +1033,7 @@ lto_tag_check (enum LTO_tags actual, enum LTO_tags expected)
> }
>
> /* Check that tag ACTUAL is in the range [TAG1, TAG2]. */
> -static inline void
> +inline void
> lto_tag_check_range (enum LTO_tags actual, enum LTO_tags tag1,
> enum LTO_tags tag2)
> {
> @@ -1046,7 +1046,7 @@ lto_tag_check_range (enum LTO_tags actual, enum LTO_tags tag1,
> }
>
> /* Initialize an lto_out_decl_buffer ENCODER. */
> -static inline void
> +inline void
> lto_init_tree_ref_encoder (struct lto_tree_ref_encoder *encoder)
> {
> encoder->tree_hash_table = new hash_map<tree, unsigned> (251);
> @@ -1056,7 +1056,7 @@ lto_init_tree_ref_encoder (struct lto_tree_ref_encoder *encoder)
>
> /* Destroy an lto_tree_ref_encoder ENCODER by freeing its contents. The
> memory used by ENCODER is not freed by this function. */
> -static inline void
> +inline void
> lto_destroy_tree_ref_encoder (struct lto_tree_ref_encoder *encoder)
> {
> /* Hash table may be delete already. */
> @@ -1066,14 +1066,14 @@ lto_destroy_tree_ref_encoder (struct lto_tree_ref_encoder *encoder)
> }
>
> /* Return the number of trees encoded in ENCODER. */
> -static inline unsigned int
> +inline unsigned int
> lto_tree_ref_encoder_size (struct lto_tree_ref_encoder *encoder)
> {
> return encoder->trees.length ();
> }
>
> /* Return the IDX-th tree in ENCODER. */
> -static inline tree
> +inline tree
> lto_tree_ref_encoder_get_tree (struct lto_tree_ref_encoder *encoder,
> unsigned int idx)
> {
> @@ -1081,7 +1081,7 @@ lto_tree_ref_encoder_get_tree (struct lto_tree_ref_encoder *encoder,
> }
>
> /* Return number of encoded nodes in ENCODER. */
> -static inline int
> +inline int
> lto_symtab_encoder_size (lto_symtab_encoder_t encoder)
> {
> return encoder->nodes.length ();
> @@ -1093,7 +1093,7 @@ lto_symtab_encoder_size (lto_symtab_encoder_t encoder)
> /* Look up NODE in encoder. Return NODE's reference if it has been encoded
> or LCC_NOT_FOUND if it is not there. */
>
> -static inline int
> +inline int
> lto_symtab_encoder_lookup (lto_symtab_encoder_t encoder,
> symtab_node *node)
> {
> @@ -1102,35 +1102,35 @@ lto_symtab_encoder_lookup (lto_symtab_encoder_t encoder,
> }
>
> /* Return true if iterator LSE points to nothing. */
> -static inline bool
> +inline bool
> lsei_end_p (lto_symtab_encoder_iterator lsei)
> {
> return lsei.index >= (unsigned)lto_symtab_encoder_size (lsei.encoder);
> }
>
> /* Advance iterator LSE. */
> -static inline void
> +inline void
> lsei_next (lto_symtab_encoder_iterator *lsei)
> {
> lsei->index++;
> }
>
> /* Return the node pointed to by LSI. */
> -static inline symtab_node *
> +inline symtab_node *
> lsei_node (lto_symtab_encoder_iterator lsei)
> {
> return lsei.encoder->nodes[lsei.index].node;
> }
>
> /* Return the node pointed to by LSI. */
> -static inline struct cgraph_node *
> +inline struct cgraph_node *
> lsei_cgraph_node (lto_symtab_encoder_iterator lsei)
> {
> return dyn_cast<cgraph_node *> (lsei.encoder->nodes[lsei.index].node);
> }
>
> /* Return the node pointed to by LSI. */
> -static inline varpool_node *
> +inline varpool_node *
> lsei_varpool_node (lto_symtab_encoder_iterator lsei)
> {
> return dyn_cast<varpool_node *> (lsei.encoder->nodes[lsei.index].node);
> @@ -1138,7 +1138,7 @@ lsei_varpool_node (lto_symtab_encoder_iterator lsei)
>
> /* Return the cgraph node corresponding to REF using ENCODER. */
>
> -static inline symtab_node *
> +inline symtab_node *
> lto_symtab_encoder_deref (lto_symtab_encoder_t encoder, int ref)
> {
> if (ref == LCC_NOT_FOUND)
> @@ -1148,7 +1148,7 @@ lto_symtab_encoder_deref (lto_symtab_encoder_t encoder, int ref)
> }
>
> /* Return an iterator to the first node in LSI. */
> -static inline lto_symtab_encoder_iterator
> +inline lto_symtab_encoder_iterator
> lsei_start (lto_symtab_encoder_t encoder)
> {
> lto_symtab_encoder_iterator lsei;
> @@ -1159,7 +1159,7 @@ lsei_start (lto_symtab_encoder_t encoder)
> }
>
> /* Advance iterator LSE. */
> -static inline void
> +inline void
> lsei_next_in_partition (lto_symtab_encoder_iterator *lsei)
> {
> lsei_next (lsei);
> @@ -1169,7 +1169,7 @@ lsei_next_in_partition (lto_symtab_encoder_iterator *lsei)
> }
>
> /* Return an iterator to the first node in LSI. */
> -static inline lto_symtab_encoder_iterator
> +inline lto_symtab_encoder_iterator
> lsei_start_in_partition (lto_symtab_encoder_t encoder)
> {
> lto_symtab_encoder_iterator lsei = lsei_start (encoder);
> @@ -1183,7 +1183,7 @@ lsei_start_in_partition (lto_symtab_encoder_t encoder)
> }
>
> /* Advance iterator LSE. */
> -static inline void
> +inline void
> lsei_next_function_in_partition (lto_symtab_encoder_iterator *lsei)
> {
> lsei_next (lsei);
> @@ -1194,7 +1194,7 @@ lsei_next_function_in_partition (lto_symtab_encoder_iterator *lsei)
> }
>
> /* Return an iterator to the first node in LSI. */
> -static inline lto_symtab_encoder_iterator
> +inline lto_symtab_encoder_iterator
> lsei_start_function_in_partition (lto_symtab_encoder_t encoder)
> {
> lto_symtab_encoder_iterator lsei = lsei_start (encoder);
> @@ -1209,7 +1209,7 @@ lsei_start_function_in_partition (lto_symtab_encoder_t encoder)
> }
>
> /* Advance iterator LSE. */
> -static inline void
> +inline void
> lsei_next_variable_in_partition (lto_symtab_encoder_iterator *lsei)
> {
> lsei_next (lsei);
> @@ -1220,7 +1220,7 @@ lsei_next_variable_in_partition (lto_symtab_encoder_iterator *lsei)
> }
>
> /* Return an iterator to the first node in LSI. */
> -static inline lto_symtab_encoder_iterator
> +inline lto_symtab_encoder_iterator
> lsei_start_variable_in_partition (lto_symtab_encoder_t encoder)
> {
> lto_symtab_encoder_iterator lsei = lsei_start (encoder);
> diff --git a/gcc/memmodel.h b/gcc/memmodel.h
> index 308beca18ba..7dfad2fb6b1 100644
> --- a/gcc/memmodel.h
> +++ b/gcc/memmodel.h
> @@ -51,63 +51,63 @@ enum memmodel
> };
>
> /* Return the memory model from a host integer. */
> -static inline enum memmodel
> +inline enum memmodel
> memmodel_from_int (unsigned HOST_WIDE_INT val)
> {
> return (enum memmodel) (val & MEMMODEL_MASK);
> }
>
> /* Return the base memory model from a host integer. */
> -static inline enum memmodel
> +inline enum memmodel
> memmodel_base (unsigned HOST_WIDE_INT val)
> {
> return (enum memmodel) (val & MEMMODEL_BASE_MASK);
> }
>
> /* Return TRUE if the memory model is RELAXED. */
> -static inline bool
> +inline bool
> is_mm_relaxed (enum memmodel model)
> {
> return (model & MEMMODEL_BASE_MASK) == MEMMODEL_RELAXED;
> }
>
> /* Return TRUE if the memory model is CONSUME. */
> -static inline bool
> +inline bool
> is_mm_consume (enum memmodel model)
> {
> return (model & MEMMODEL_BASE_MASK) == MEMMODEL_CONSUME;
> }
>
> /* Return TRUE if the memory model is ACQUIRE. */
> -static inline bool
> +inline bool
> is_mm_acquire (enum memmodel model)
> {
> return (model & MEMMODEL_BASE_MASK) == MEMMODEL_ACQUIRE;
> }
>
> /* Return TRUE if the memory model is RELEASE. */
> -static inline bool
> +inline bool
> is_mm_release (enum memmodel model)
> {
> return (model & MEMMODEL_BASE_MASK) == MEMMODEL_RELEASE;
> }
>
> /* Return TRUE if the memory model is ACQ_REL. */
> -static inline bool
> +inline bool
> is_mm_acq_rel (enum memmodel model)
> {
> return (model & MEMMODEL_BASE_MASK) == MEMMODEL_ACQ_REL;
> }
>
> /* Return TRUE if the memory model is SEQ_CST. */
> -static inline bool
> +inline bool
> is_mm_seq_cst (enum memmodel model)
> {
> return (model & MEMMODEL_BASE_MASK) == MEMMODEL_SEQ_CST;
> }
>
> /* Return TRUE if the memory model is a SYNC variant. */
> -static inline bool
> +inline bool
> is_mm_sync (enum memmodel model)
> {
> return (model & MEMMODEL_SYNC);
> diff --git a/gcc/objc/objc-act.h b/gcc/objc/objc-act.h
> index 775f74adfc9..e21ab52d8ca 100644
> --- a/gcc/objc/objc-act.h
> +++ b/gcc/objc/objc-act.h
> @@ -745,7 +745,7 @@ size_t objc_common_tree_size (enum tree_code code);
> #define objc_is_class_id(TYPE) (OBJC_TYPE_NAME (TYPE) == objc_class_id)
>
> /* Retrieve category interface CAT_NAME (if any) associated with CLASS. */
> -static inline tree
> +inline tree
> lookup_category (tree klass, tree cat_name)
> {
> tree category = CLASS_CATEGORY_LIST (klass);
> @@ -756,7 +756,7 @@ lookup_category (tree klass, tree cat_name)
> }
>
> /* Count only the fields occurring in T. */
> -static inline int
> +inline int
> ivar_list_length (tree t)
> {
> int count = 0;
> @@ -768,7 +768,7 @@ ivar_list_length (tree t)
> return count;
> }
>
> -static inline tree
> +inline tree
> is_ivar (tree decl_chain, tree ident)
> {
> for ( ; decl_chain; decl_chain = DECL_CHAIN (decl_chain))
> diff --git a/gcc/objc/objc-map.h b/gcc/objc/objc-map.h
> index 4842abc1431..1e1b5fd419b 100644
> --- a/gcc/objc/objc-map.h
> +++ b/gcc/objc/objc-map.h
> @@ -133,7 +133,7 @@ int objc_map_maximum_load_factor (objc_map_t map);
> value NULL, and objc_map_get() will return NULL in that case.
> So a result of NULL means that they key *was* found, and the value
> associated with it was NULL. */
> -static inline tree
> +inline tree
> objc_map_get (objc_map_t map, /* struct tree_identifier * */tree key)
> {
> /* The inline implementation is private and may change without notice. */
> @@ -169,7 +169,7 @@ objc_map_get (objc_map_t map, /* struct tree_identifier * */tree key)
> You can use any identifier as key, with the exception of NULL.
>
> You can use any tree as value, including NULL. */
> -static inline
> +inline
> void objc_map_put (objc_map_t map, /*struct tree_identifier * */tree key, tree value)
> {
> /* The inline implementation is private and may change without notice. */
> @@ -243,7 +243,7 @@ typedef size_t objc_map_iterator_t;
> /* Initialize an iterator to iterate over the specified objc_map. You
> must use this before starting the iteration, to get a working
> iterator. */
> -static inline
> +inline
> void
> objc_map_iterator_initialize (objc_map_t map ATTRIBUTE_UNUSED, objc_map_iterator_t *i)
> {
> @@ -262,7 +262,7 @@ objc_map_iterator_initialize (objc_map_t map ATTRIBUTE_UNUSED, objc_map_iterator
> been initialized using objc_map_iterator_initialize(). Note that
> because this function is modifying the iterator, you need to pass a
> pointer to it. */
> -static inline
> +inline
> int
> objc_map_iterator_move_to_next (objc_map_t map, objc_map_iterator_t *i)
> {
> @@ -285,7 +285,7 @@ objc_map_iterator_move_to_next (objc_map_t map, objc_map_iterator_t *i)
> first element), and only if the last call returned
> OBJC_MAP_SUCCESS. The behavior is otherwise undefined, probably a
> segmentation fault. */
> -static inline
> +inline
> tree
> objc_map_iterator_current_key (objc_map_t map, objc_map_iterator_t i)
> {
> @@ -298,7 +298,7 @@ objc_map_iterator_current_key (objc_map_t map, objc_map_iterator_t i)
> the first element), and only if the last call returned
> OBJC_MAP_SUCCESS. The behavior is otherwise undefined, probably a
> segmentation fault. */
> -static inline
> +inline
> tree
> objc_map_iterator_current_value (objc_map_t map, objc_map_iterator_t i)
> {
> diff --git a/gcc/omp-general.h b/gcc/omp-general.h
> index 74e30c5e313..92717db1628 100644
> --- a/gcc/omp-general.h
> +++ b/gcc/omp-general.h
> @@ -137,7 +137,7 @@ enum omp_requires {
>
> extern GTY(()) enum omp_requires omp_requires_mask;
>
> -static inline dump_flags_t
> +inline dump_flags_t
> get_openacc_privatization_dump_flags ()
> {
> dump_flags_t l_dump_flags = MSG_NOTE;
> diff --git a/gcc/optabs-query.h b/gcc/optabs-query.h
> index ed03bbcc3c3..b266d2fe990 100644
> --- a/gcc/optabs-query.h
> +++ b/gcc/optabs-query.h
> @@ -92,7 +92,7 @@ trapv_binoptab_p (optab binoptab)
> /* Return insn code for a comparison operator with VMODE
> resultin MASK_MODE, unsigned if UNS is true. */
>
> -static inline enum insn_code
> +inline enum insn_code
> get_vec_cmp_icode (machine_mode vmode, machine_mode mask_mode, bool uns)
> {
> optab tab = uns ? vec_cmpu_optab : vec_cmp_optab;
> @@ -102,7 +102,7 @@ get_vec_cmp_icode (machine_mode vmode, machine_mode mask_mode, bool uns)
> /* Return insn code for a comparison operator with VMODE
> resultin MASK_MODE (only for EQ/NE). */
>
> -static inline enum insn_code
> +inline enum insn_code
> get_vec_cmp_eq_icode (machine_mode vmode, machine_mode mask_mode)
> {
> return convert_optab_handler (vec_cmpeq_optab, vmode, mask_mode);
> @@ -125,7 +125,7 @@ get_vcond_icode (machine_mode vmode, machine_mode cmode, bool uns)
> /* Return insn code for a conditional operator with a mask mode
> MMODE resulting in a value of mode VMODE. */
>
> -static inline enum insn_code
> +inline enum insn_code
> get_vcond_mask_icode (machine_mode vmode, machine_mode mmode)
> {
> return convert_optab_handler (vcond_mask_optab, vmode, mmode);
> @@ -134,7 +134,7 @@ get_vcond_mask_icode (machine_mode vmode, machine_mode mmode)
> /* Return insn code for a conditional operator with a comparison in
> mode CMODE (only EQ/NE), resulting in a value of mode VMODE. */
>
> -static inline enum insn_code
> +inline enum insn_code
> get_vcond_eq_icode (machine_mode vmode, machine_mode cmode)
> {
> return convert_optab_handler (vcondeq_optab, vmode, cmode);
> diff --git a/gcc/optabs.h b/gcc/optabs.h
> index 7ab2a85e818..29ccbe9235e 100644
> --- a/gcc/optabs.h
> +++ b/gcc/optabs.h
> @@ -70,7 +70,7 @@ public:
> /* Initialize OP with the given fields. Initialise the other fields
> to their default values. */
>
> -static inline void
> +inline void
> create_expand_operand (class expand_operand *op,
> enum expand_operand_type type,
> rtx value, machine_mode mode,
> @@ -87,7 +87,7 @@ create_expand_operand (class expand_operand *op,
>
> /* Make OP describe an operand that must use rtx X, even if X is volatile. */
>
> -static inline void
> +inline void
> create_fixed_operand (class expand_operand *op, rtx x)
> {
> create_expand_operand (op, EXPAND_FIXED, x, VOIDmode, false);
> @@ -98,7 +98,7 @@ create_fixed_operand (class expand_operand *op, rtx x)
> It is OK for VALUE to be inconsistent with MODE, although it will just
> be ignored in that case. */
>
> -static inline void
> +inline void
> create_output_operand (class expand_operand *op, rtx x,
> machine_mode mode)
> {
> @@ -110,7 +110,7 @@ create_output_operand (class expand_operand *op, rtx x,
> VALUE be copied into a different kind of rtx before being passed
> as an operand. */
>
> -static inline void
> +inline void
> create_input_operand (class expand_operand *op, rtx value,
> machine_mode mode)
> {
> @@ -120,7 +120,7 @@ create_input_operand (class expand_operand *op, rtx value,
> /* Like create_input_operand, except that VALUE must first be converted
> to mode MODE. UNSIGNED_P says whether VALUE is unsigned. */
>
> -static inline void
> +inline void
> create_convert_operand_to (class expand_operand *op, rtx value,
> machine_mode mode, bool unsigned_p)
> {
> @@ -136,7 +136,7 @@ create_convert_operand_to (class expand_operand *op, rtx value,
> conversion (as for convert_modes) and duplicating a scalar to fill
> a vector (if VALUE is a scalar but the operand is a vector). */
>
> -static inline void
> +inline void
> create_convert_operand_from (class expand_operand *op, rtx value,
> machine_mode mode, bool unsigned_p)
> {
> @@ -147,7 +147,7 @@ create_convert_operand_from (class expand_operand *op, rtx value,
> /* Make OP describe an input Pmode address operand. VALUE is the value
> of the address, but it may need to be converted to Pmode first. */
>
> -static inline void
> +inline void
> create_address_operand (class expand_operand *op, rtx value)
> {
> create_expand_operand (op, EXPAND_ADDRESS, value, Pmode, false);
> diff --git a/gcc/plugin.h b/gcc/plugin.h
> index 3b6f7fd19ee..ee0a53ec4c9 100644
> --- a/gcc/plugin.h
> +++ b/gcc/plugin.h
> @@ -184,7 +184,7 @@ extern bool flag_plugin_added;
> EVENT - the event identifier
> GCC_DATA - event-specific data provided by the compiler */
>
> -static inline int
> +inline int
> invoke_plugin_callbacks (int event ATTRIBUTE_UNUSED,
> void *gcc_data ATTRIBUTE_UNUSED)
> {
> diff --git a/gcc/pretty-print.h b/gcc/pretty-print.h
> index c7788d720f8..0230a289df5 100644
> --- a/gcc/pretty-print.h
> +++ b/gcc/pretty-print.h
> @@ -113,7 +113,7 @@ public:
>
> /* Finishes constructing a NULL-terminated character string representing
> the buffered text. */
> -static inline const char *
> +inline const char *
> output_buffer_formatted_text (output_buffer *buff)
> {
> obstack_1grow (buff->obstack, '\0');
> @@ -122,7 +122,7 @@ output_buffer_formatted_text (output_buffer *buff)
>
> /* Append to the output buffer a string specified by its
> STARTing character and LENGTH. */
> -static inline void
> +inline void
> output_buffer_append_r (output_buffer *buff, const char *start, int length)
> {
> gcc_checking_assert (start);
> @@ -136,7 +136,7 @@ output_buffer_append_r (output_buffer *buff, const char *start, int length)
>
> /* Return a pointer to the last character emitted in the
> output_buffer. A NULL pointer means no character available. */
> -static inline const char *
> +inline const char *
> output_buffer_last_position_in_text (const output_buffer *buff)
> {
> const char *p = NULL;
> @@ -283,7 +283,7 @@ public:
> diagnostic_url_format url_format;
> };
>
> -static inline const char *
> +inline const char *
> pp_get_prefix (const pretty_printer *pp) { return pp->prefix; }
>
> #define pp_space(PP) pp_character (PP, ' ')
> @@ -415,7 +415,7 @@ extern void pp_begin_url (pretty_printer *pp, const char *url);
> extern void pp_end_url (pretty_printer *pp);
>
> /* Switch into verbatim mode and return the old mode. */
> -static inline pp_wrapping_mode_t
> +inline pp_wrapping_mode_t
> pp_set_verbatim_wrapping_ (pretty_printer *pp)
> {
> pp_wrapping_mode_t oldmode = pp_wrapping_mode (pp);
> diff --git a/gcc/range.h b/gcc/range.h
> index 12f907c4abf..3b0e9efffbf 100644
> --- a/gcc/range.h
> +++ b/gcc/range.h
> @@ -28,7 +28,7 @@ value_range range_negatives (tree type);
>
> // Return an irange instance that is a boolean TRUE.
>
> -static inline int_range<1>
> +inline int_range<1>
> range_true (tree type)
> {
> unsigned prec = TYPE_PRECISION (type);
> @@ -37,7 +37,7 @@ range_true (tree type)
>
> // Return an irange instance that is a boolean FALSE.
>
> -static inline int_range<1>
> +inline int_range<1>
> range_false (tree type)
> {
> unsigned prec = TYPE_PRECISION (type);
> @@ -46,7 +46,7 @@ range_false (tree type)
>
> // Return an irange that covers both true and false.
>
> -static inline int_range<1>
> +inline int_range<1>
> range_true_and_false (tree type)
> {
> unsigned prec = TYPE_PRECISION (type);
> diff --git a/gcc/read-md.h b/gcc/read-md.h
> index cc0670a04b5..b309c9c3deb 100644
> --- a/gcc/read-md.h
> +++ b/gcc/read-md.h
> @@ -375,7 +375,7 @@ extern void (*include_callback) (const char *);
>
> /* Read the next character from the MD file. */
>
> -static inline int
> +inline int
> read_char (void)
> {
> return md_reader_ptr->read_char ();
> @@ -383,7 +383,7 @@ read_char (void)
>
> /* Put back CH, which was the last character read from the MD file. */
>
> -static inline void
> +inline void
> unread_char (int ch)
> {
> md_reader_ptr->unread_char (ch);
> diff --git a/gcc/recog.h b/gcc/recog.h
> index 86da3c2bdbb..764fa90afde 100644
> --- a/gcc/recog.h
> +++ b/gcc/recog.h
> @@ -76,7 +76,7 @@ struct operand_alternative
> /* Return the class for operand I of alternative ALT, taking matching
> constraints into account. */
>
> -static inline enum reg_class
> +inline enum reg_class
> alternative_class (const operand_alternative *alt, int i)
> {
> return alt[i].matches >= 0 ? alt[alt[i].matches].cl : alt[i].cl;
> @@ -229,7 +229,7 @@ extern bool mode_dependent_address_p (rtx, addr_space_t);
>
> extern int recog (rtx, rtx_insn *, int *);
> #ifndef GENERATOR_FILE
> -static inline int recog_memoized (rtx_insn *insn);
> +inline int recog_memoized (rtx_insn *insn);
> #endif
> extern void add_clobbers (rtx, int);
> extern int added_clobbers_hard_reg_p (int);
> @@ -266,7 +266,7 @@ extern void copy_frame_info_to_split_insn (rtx_insn *, rtx_insn *);
> The automatically-generated function `recog' is normally called
> through this one. */
>
> -static inline int
> +inline int
> recog_memoized (rtx_insn *insn)
> {
> if (INSN_CODE (insn) < 0)
> @@ -277,7 +277,7 @@ recog_memoized (rtx_insn *insn)
>
> /* Skip chars until the next ',' or the end of the string. This is
> useful to skip alternatives in a constraint string. */
> -static inline const char *
> +inline const char *
> skip_alternative (const char *p)
> {
> const char *r = p;
> diff --git a/gcc/regs.h b/gcc/regs.h
> index d0f029f7749..aea093ed795 100644
> --- a/gcc/regs.h
> +++ b/gcc/regs.h
> @@ -64,7 +64,7 @@ struct regstat_n_sets_and_refs_t
> extern struct regstat_n_sets_and_refs_t *regstat_n_sets_and_refs;
>
> /* Indexed by n, gives number of times (REG n) is used or set. */
> -static inline int
> +inline int
> REG_N_REFS (int regno)
> {
> return regstat_n_sets_and_refs[regno].refs;
> @@ -75,7 +75,7 @@ REG_N_REFS (int regno)
> #define INC_REG_N_REFS(N,V) (regstat_n_sets_and_refs[N].refs += V)
>
> /* Indexed by n, gives number of times (REG n) is set. */
> -static inline int
> +inline int
> REG_N_SETS (int regno)
> {
> return regstat_n_sets_and_refs[regno].sets;
> @@ -266,7 +266,7 @@ hard_regno_nregs (unsigned int regno, machine_mode mode)
> /* Return an exclusive upper bound on the registers occupied by hard
> register (reg:MODE REGNO). */
>
> -static inline unsigned int
> +inline unsigned int
> end_hard_regno (machine_mode mode, unsigned int regno)
> {
> return regno + hard_regno_nregs (regno, mode);
> @@ -275,7 +275,7 @@ end_hard_regno (machine_mode mode, unsigned int regno)
> /* Add to REGS all the registers required to store a value of mode MODE
> in register REGNO. */
>
> -static inline void
> +inline void
> add_to_hard_reg_set (HARD_REG_SET *regs, machine_mode mode,
> unsigned int regno)
> {
> @@ -289,7 +289,7 @@ add_to_hard_reg_set (HARD_REG_SET *regs, machine_mode mode,
>
> /* Likewise, but remove the registers. */
>
> -static inline void
> +inline void
> remove_from_hard_reg_set (HARD_REG_SET *regs, machine_mode mode,
> unsigned int regno)
> {
> @@ -303,7 +303,7 @@ remove_from_hard_reg_set (HARD_REG_SET *regs, machine_mode mode,
>
> /* Return true if REGS contains the whole of (reg:MODE REGNO). */
>
> -static inline bool
> +inline bool
> in_hard_reg_set_p (const_hard_reg_set regs, machine_mode mode,
> unsigned int regno)
> {
> @@ -328,7 +328,7 @@ in_hard_reg_set_p (const_hard_reg_set regs, machine_mode mode,
>
> /* Return true if (reg:MODE REGNO) includes an element of REGS. */
>
> -static inline bool
> +inline bool
> overlaps_hard_reg_set_p (const_hard_reg_set regs, machine_mode mode,
> unsigned int regno)
> {
> @@ -348,7 +348,7 @@ overlaps_hard_reg_set_p (const_hard_reg_set regs, machine_mode mode,
> /* Like add_to_hard_reg_set, but use a REGNO/NREGS range instead of
> REGNO and MODE. */
>
> -static inline void
> +inline void
> add_range_to_hard_reg_set (HARD_REG_SET *regs, unsigned int regno,
> int nregs)
> {
> @@ -358,7 +358,7 @@ add_range_to_hard_reg_set (HARD_REG_SET *regs, unsigned int regno,
>
> /* Likewise, but remove the registers. */
>
> -static inline void
> +inline void
> remove_range_from_hard_reg_set (HARD_REG_SET *regs, unsigned int regno,
> int nregs)
> {
> @@ -368,7 +368,7 @@ remove_range_from_hard_reg_set (HARD_REG_SET *regs, unsigned int regno,
>
> /* Like overlaps_hard_reg_set_p, but use a REGNO/NREGS range instead of
> REGNO and MODE. */
> -static inline bool
> +inline bool
> range_overlaps_hard_reg_set_p (const_hard_reg_set set, unsigned regno,
> int nregs)
> {
> @@ -380,7 +380,7 @@ range_overlaps_hard_reg_set_p (const_hard_reg_set set, unsigned regno,
>
> /* Like in_hard_reg_set_p, but use a REGNO/NREGS range instead of
> REGNO and MODE. */
> -static inline bool
> +inline bool
> range_in_hard_reg_set_p (const_hard_reg_set set, unsigned regno, int nregs)
> {
> while (nregs-- > 0)
> diff --git a/gcc/rtl-iter.h b/gcc/rtl-iter.h
> index df7b4960cce..00ce4f12cac 100644
> --- a/gcc/rtl-iter.h
> +++ b/gcc/rtl-iter.h
> @@ -39,7 +39,7 @@ extern rtx_subrtx_bound_info rtx_nonconst_subrtx_bounds[];
>
> /* Return true if CODE has no subrtxes. */
>
> -static inline bool
> +inline bool
> leaf_code_p (enum rtx_code code)
> {
> return rtx_all_subrtx_bounds[code].count == 0;
> diff --git a/gcc/rtl.h b/gcc/rtl.h
> index f9057123127..52f0419af29 100644
> --- a/gcc/rtl.h
> +++ b/gcc/rtl.h
> @@ -1895,7 +1895,7 @@ inline void rtx_jump_insn::set_jump_target (rtx_code_label *target)
> #define LABEL_REFS(LABEL) XCEXP (LABEL, 3, CODE_LABEL)
>
> /* Get the label that a LABEL_REF references. */
> -static inline rtx_insn *
> +inline rtx_insn *
> label_ref_label (const_rtx ref)
> {
> return as_a<rtx_insn *> (XCEXP (ref, 0, LABEL_REF));
> @@ -1903,7 +1903,7 @@ label_ref_label (const_rtx ref)
>
> /* Set the label that LABEL_REF ref refers to. */
>
> -static inline void
> +inline void
> set_label_ref_label (rtx ref, rtx_insn *label)
> {
> XCEXP (ref, 0, LABEL_REF) = label;
> @@ -1926,14 +1926,14 @@ set_label_ref_label (rtx ref, rtx_insn *label)
> (RTL_FLAG_CHECK1 ("ORIGINAL_REGNO", (RTX), REG)->u2.original_regno)
>
> /* Force the REGNO macro to only be used on the lhs. */
> -static inline unsigned int
> +inline unsigned int
> rhs_regno (const_rtx x)
> {
> return REG_CHECK (x)->regno;
> }
>
> /* Return the final register in REG X plus one. */
> -static inline unsigned int
> +inline unsigned int
> END_REGNO (const_rtx x)
> {
> return REGNO (x) + REG_NREGS (x);
> @@ -1941,7 +1941,7 @@ END_REGNO (const_rtx x)
>
> /* Change the REGNO and REG_NREGS of REG X to the specified values,
> bypassing the df machinery. */
> -static inline void
> +inline void
> set_regno_raw (rtx x, unsigned int regno, unsigned int nregs)
> {
> reg_info *reg = REG_CHECK (x);
> @@ -2058,7 +2058,7 @@ const_vector_encoded_nelts (const_rtx x)
>
> /* Return true if CODE always has VOIDmode. */
>
> -static inline bool
> +inline bool
> always_void_p (enum rtx_code code)
> {
> return code == SET;
> @@ -2073,7 +2073,7 @@ struct full_rtx_costs
> };
>
> /* Initialize a full_rtx_costs structure C to the maximum cost. */
> -static inline void
> +inline void
> init_costs_to_max (struct full_rtx_costs *c)
> {
> c->speed = MAX_COST;
> @@ -2081,7 +2081,7 @@ init_costs_to_max (struct full_rtx_costs *c)
> }
>
> /* Initialize a full_rtx_costs structure C to zero cost. */
> -static inline void
> +inline void
> init_costs_to_zero (struct full_rtx_costs *c)
> {
> c->speed = 0;
> @@ -2090,7 +2090,7 @@ init_costs_to_zero (struct full_rtx_costs *c)
>
> /* Compare two full_rtx_costs structures A and B, returning true
> if A < B when optimizing for speed. */
> -static inline bool
> +inline bool
> costs_lt_p (struct full_rtx_costs *a, struct full_rtx_costs *b,
> bool speed)
> {
> @@ -2104,7 +2104,7 @@ costs_lt_p (struct full_rtx_costs *a, struct full_rtx_costs *b,
>
> /* Increase both members of the full_rtx_costs structure C by the
> cost of N insns. */
> -static inline void
> +inline void
> costs_add_n_insns (struct full_rtx_costs *c, int n)
> {
> c->speed += COSTS_N_INSNS (n);
> @@ -2168,7 +2168,7 @@ subreg_shape::unique_id () const
>
> /* Return the shape of a SUBREG rtx. */
>
> -static inline subreg_shape
> +inline subreg_shape
> shape_of_subreg (const_rtx x)
> {
> return subreg_shape (GET_MODE (SUBREG_REG (x)),
> @@ -2919,7 +2919,7 @@ extern int currently_expanding_to_rtl;
> /* Return the cost of SET X. SPEED_P is true if optimizing for speed
> rather than size. */
>
> -static inline int
> +inline int
> set_rtx_cost (rtx x, bool speed_p)
> {
> return rtx_cost (x, VOIDmode, INSN, 4, speed_p);
> @@ -2927,7 +2927,7 @@ set_rtx_cost (rtx x, bool speed_p)
>
> /* Like set_rtx_cost, but return both the speed and size costs in C. */
>
> -static inline void
> +inline void
> get_full_set_rtx_cost (rtx x, struct full_rtx_costs *c)
> {
> get_full_rtx_cost (x, VOIDmode, INSN, 4, c);
> @@ -2937,7 +2937,7 @@ get_full_set_rtx_cost (rtx x, struct full_rtx_costs *c)
> of a register move. SPEED_P is true if optimizing for speed rather
> than size. */
>
> -static inline int
> +inline int
> set_src_cost (rtx x, machine_mode mode, bool speed_p)
> {
> return rtx_cost (x, mode, SET, 1, speed_p);
> @@ -2945,7 +2945,7 @@ set_src_cost (rtx x, machine_mode mode, bool speed_p)
>
> /* Like set_src_cost, but return both the speed and size costs in C. */
>
> -static inline void
> +inline void
> get_full_set_src_cost (rtx x, machine_mode mode, struct full_rtx_costs *c)
> {
> get_full_rtx_cost (x, mode, SET, 1, c);
> @@ -3947,7 +3947,7 @@ extern struct target_rtl *this_target_rtl;
>
> #ifndef GENERATOR_FILE
> /* Return the attributes of a MEM rtx. */
> -static inline const class mem_attrs *
> +inline const class mem_attrs *
> get_mem_attrs (const_rtx x)
> {
> class mem_attrs *attrs;
> @@ -3996,7 +3996,7 @@ extern rtx gen_rtx_VAR_LOCATION (machine_mode, tree, rtx,
> #ifdef GENERATOR_FILE
> #define PUT_MODE(RTX, MODE) PUT_MODE_RAW (RTX, MODE)
> #else
> -static inline void
> +inline void
> PUT_MODE (rtx x, machine_mode mode)
> {
> if (REG_P (x))
> diff --git a/gcc/sbitmap.h b/gcc/sbitmap.h
> index 751d28c2c9e..61172db9d7b 100644
> --- a/gcc/sbitmap.h
> +++ b/gcc/sbitmap.h
> @@ -98,7 +98,7 @@ struct simple_bitmap_def
>
> /* Verify that access at INDEX in bitmap MAP is valid. */
>
> -static inline void
> +inline void
> bitmap_check_index (const_sbitmap map, int index)
> {
> gcc_checking_assert (index >= 0);
> @@ -107,14 +107,14 @@ bitmap_check_index (const_sbitmap map, int index)
>
> /* Verify that bitmaps A and B have same size. */
>
> -static inline void
> +inline void
> bitmap_check_sizes (const_sbitmap a, const_sbitmap b)
> {
> gcc_checking_assert (a->n_bits == b->n_bits);
> }
>
> /* Test if bit number bitno in the bitmap is set. */
> -static inline bool
> +inline bool
> bitmap_bit_p (const_sbitmap map, int bitno)
> {
> bitmap_check_index (map, bitno);
> @@ -127,7 +127,7 @@ bitmap_bit_p (const_sbitmap map, int bitno)
> /* Set bit number BITNO in the sbitmap MAP.
> Return true if the bit changed. */
>
> -static inline bool
> +inline bool
> bitmap_set_bit (sbitmap map, int bitno)
> {
> bitmap_check_index (map, bitno);
> @@ -143,7 +143,7 @@ bitmap_set_bit (sbitmap map, int bitno)
> /* Reset bit number BITNO in the sbitmap MAP.
> Return true if the bit changed. */
>
> -static inline bool
> +inline bool
> bitmap_clear_bit (sbitmap map, int bitno)
> {
> bitmap_check_index (map, bitno);
> @@ -177,7 +177,7 @@ struct sbitmap_iterator {
> /* Initialize the iterator I with sbitmap BMP and the initial index
> MIN. */
>
> -static inline void
> +inline void
> bmp_iter_set_init (sbitmap_iterator *i, const_sbitmap bmp,
> unsigned int min, unsigned *bit_no ATTRIBUTE_UNUSED)
> {
> @@ -197,7 +197,7 @@ bmp_iter_set_init (sbitmap_iterator *i, const_sbitmap bmp,
> to the index of the bit to be visited. Otherwise, return
> false. */
>
> -static inline bool
> +inline bool
> bmp_iter_set (sbitmap_iterator *i, unsigned int *n)
> {
> /* Skip words that are zeros. */
> @@ -223,7 +223,7 @@ bmp_iter_set (sbitmap_iterator *i, unsigned int *n)
>
> /* Advance to the next bit. */
>
> -static inline void
> +inline void
> bmp_iter_next (sbitmap_iterator *i, unsigned *bit_no ATTRIBUTE_UNUSED)
> {
> i->word >>= 1;
> diff --git a/gcc/sched-int.h b/gcc/sched-int.h
> index ab3ad99cdeb..97b7d2d319b 100644
> --- a/gcc/sched-int.h
> +++ b/gcc/sched-int.h
> @@ -87,7 +87,7 @@ extern struct common_sched_info_def *common_sched_info;
> extern const struct common_sched_info_def haifa_common_sched_info;
>
> /* Return true if selective scheduling pass is working. */
> -static inline bool
> +inline bool
> sel_sched_p (void)
> {
> return common_sched_info->sched_pass_id == SCHED_SEL_PASS;
> @@ -1588,7 +1588,7 @@ typedef struct _sd_iterator sd_iterator_def;
> struct _deps_link. */
>
> /* Return initialized iterator. */
> -static inline sd_iterator_def
> +inline sd_iterator_def
> sd_iterator_start (rtx insn, sd_list_types_def types)
> {
> /* Some dep_link a pointer to which will return NULL. */
> @@ -1607,7 +1607,7 @@ sd_iterator_start (rtx insn, sd_list_types_def types)
> }
>
> /* Return the current element. */
> -static inline bool
> +inline bool
> sd_iterator_cond (sd_iterator_def *it_ptr, dep_t *dep_ptr)
> {
> while (true)
> @@ -1645,7 +1645,7 @@ sd_iterator_cond (sd_iterator_def *it_ptr, dep_t *dep_ptr)
> }
>
> /* Advance iterator. */
> -static inline void
> +inline void
> sd_iterator_next (sd_iterator_def *it_ptr)
> {
> it_ptr->linkp = &DEP_LINK_NEXT (*it_ptr->linkp);
> diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h
> index b36f2caa2b8..7034a1ab06c 100644
> --- a/gcc/sel-sched-ir.h
> +++ b/gcc/sel-sched-ir.h
> @@ -359,13 +359,13 @@ struct _list_node
> we can't move them in sel-sched-ir.cc. */
> extern object_allocator<_list_node> sched_lists_pool;
>
> -static inline _list_t
> +inline _list_t
> _list_alloc (void)
> {
> return sched_lists_pool.allocate ();
> }
>
> -static inline void
> +inline void
> _list_add (_list_t *lp)
> {
> _list_t l = _list_alloc ();
> @@ -374,7 +374,7 @@ _list_add (_list_t *lp)
> *lp = l;
> }
>
> -static inline void
> +inline void
> _list_remove_nofree (_list_t *lp)
> {
> _list_t n = *lp;
> @@ -382,7 +382,7 @@ _list_remove_nofree (_list_t *lp)
> *lp = _LIST_NEXT (n);
> }
>
> -static inline void
> +inline void
> _list_remove (_list_t *lp)
> {
> _list_t n = *lp;
> @@ -391,7 +391,7 @@ _list_remove (_list_t *lp)
> sched_lists_pool.remove (n);
> }
>
> -static inline void
> +inline void
> _list_clear (_list_t *l)
> {
> while (*l)
> @@ -412,7 +412,7 @@ struct _list_iterator
> bool removed_p;
> };
>
> -static inline void
> +inline void
> _list_iter_start (_list_iterator *ip, _list_t *lp, bool can_remove_p)
> {
> ip->lp = lp;
> @@ -420,7 +420,7 @@ _list_iter_start (_list_iterator *ip, _list_t *lp, bool can_remove_p)
> ip->removed_p = false;
> }
>
> -static inline void
> +inline void
> _list_iter_next (_list_iterator *ip)
> {
> if (!ip->removed_p)
> @@ -429,7 +429,7 @@ _list_iter_next (_list_iterator *ip)
> ip->removed_p = false;
> }
>
> -static inline void
> +inline void
> _list_iter_remove (_list_iterator *ip)
> {
> gcc_assert (!ip->removed_p && ip->can_remove_p);
> @@ -437,7 +437,7 @@ _list_iter_remove (_list_iterator *ip)
> ip->removed_p = true;
> }
>
> -static inline void
> +inline void
> _list_iter_remove_nofree (_list_iterator *ip)
> {
> gcc_assert (!ip->removed_p && ip->can_remove_p);
> @@ -460,7 +460,7 @@ _list_iter_remove_nofree (_list_iterator *ip)
>
> /* _xlist_t functions. */
>
> -static inline void
> +inline void
> _xlist_add (_xlist_t *lp, rtx x)
> {
> _list_add (lp);
> @@ -470,7 +470,7 @@ _xlist_add (_xlist_t *lp, rtx x)
> #define _xlist_remove(LP) (_list_remove (LP))
> #define _xlist_clear(LP) (_list_clear (LP))
>
> -static inline bool
> +inline bool
> _xlist_is_in_p (_xlist_t l, rtx x)
> {
> while (l)
> @@ -484,7 +484,7 @@ _xlist_is_in_p (_xlist_t l, rtx x)
> }
>
> /* Used through _FOR_EACH. */
> -static inline bool
> +inline bool
> _list_iter_cond_x (_xlist_t l, rtx *xp)
> {
> if (l)
> @@ -505,7 +505,7 @@ typedef _list_iterator _xlist_iterator;
>
> /* ilist_t functions. */
>
> -static inline void
> +inline void
> ilist_add (ilist_t *lp, insn_t insn)
> {
> _list_add (lp);
> @@ -514,7 +514,7 @@ ilist_add (ilist_t *lp, insn_t insn)
> #define ilist_remove(LP) (_list_remove (LP))
> #define ilist_clear(LP) (_list_clear (LP))
>
> -static inline bool
> +inline bool
> ilist_is_in_p (ilist_t l, insn_t insn)
> {
> while (l)
> @@ -528,7 +528,7 @@ ilist_is_in_p (ilist_t l, insn_t insn)
> }
>
> /* Used through _FOR_EACH. */
> -static inline bool
> +inline bool
> _list_iter_cond_insn (ilist_t l, insn_t *ip)
> {
> if (l)
> @@ -574,7 +574,7 @@ typedef _list_iterator def_list_iterator;
>
> #define FOR_EACH_DEF(DEF, I, DEF_LIST) _FOR_EACH (def, (DEF), (I), (DEF_LIST))
>
> -static inline bool
> +inline bool
> _list_iter_cond_def (def_list_t def_list, def_t *def)
> {
> if (def_list)
> @@ -1040,7 +1040,7 @@ extern bool sel_bb_empty_p (basic_block);
> extern bool in_current_region_p (basic_block);
>
> /* True when BB is a header of the inner loop. */
> -static inline bool
> +inline bool
> inner_loop_header_p (basic_block bb)
> {
> class loop *inner_loop;
> @@ -1068,7 +1068,7 @@ inner_loop_header_p (basic_block bb)
> }
>
> /* Return exit edges of LOOP, filtering out edges with the same dest bb. */
> -static inline vec<edge>
> +inline vec<edge>
> get_loop_exit_edges_unique_dests (const class loop *loop)
> {
> vec<edge> edges = vNULL;
> @@ -1122,7 +1122,7 @@ sel_bb_empty_or_nop_p (basic_block bb)
> traverse all of them and if any of them turns out to be another loop header
> (after skipping empty BBs), add its loop exits to the resulting vector
> as well. */
> -static inline vec<edge>
> +inline vec<edge>
> get_all_loop_exits (basic_block bb)
> {
> vec<edge> exits = vNULL;
> @@ -1212,7 +1212,7 @@ get_all_loop_exits (basic_block bb)
>
> /* We need to return a succ_iterator to avoid 'unitialized' warning
> during bootstrap. */
> -static inline succ_iterator
> +inline succ_iterator
> _succ_iter_start (insn_t *succp, insn_t insn, int flags)
> {
> succ_iterator i;
> @@ -1249,7 +1249,7 @@ _succ_iter_start (insn_t *succp, insn_t insn, int flags)
> return i;
> }
>
> -static inline bool
> +inline bool
> _succ_iter_cond (succ_iterator *ip, insn_t *succp, insn_t insn,
> bool check (edge, succ_iterator *))
> {
> @@ -1354,7 +1354,7 @@ _succ_iter_cond (succ_iterator *ip, insn_t *succp, insn_t insn,
> }
> }
>
> -static inline void
> +inline void
> _succ_iter_next (succ_iterator *ip)
> {
> gcc_assert (!ip->e2 || ip->e1);
> @@ -1367,7 +1367,7 @@ _succ_iter_next (succ_iterator *ip)
> empty blocks. When E2P is not null, the resulting edge is written there.
> FLAGS are used to specify whether back edges and out-of-region edges
> should be considered. */
> -static inline bool
> +inline bool
> _eligible_successor_edge_p (edge e1, succ_iterator *ip)
> {
> edge e2 = e1;
> @@ -1476,7 +1476,7 @@ _eligible_successor_edge_p (edge e1, succ_iterator *ip)
> #define SUCC_ITER_EDGE(ITER) ((ITER)->e1)
>
> /* Return the next block of BB not running into inconsistencies. */
> -static inline basic_block
> +inline basic_block
> bb_next_bb (basic_block bb)
> {
> switch (EDGE_COUNT (bb->succs))
> diff --git a/gcc/sese.h b/gcc/sese.h
> index e79be7514f1..252318bcc1c 100644
> --- a/gcc/sese.h
> +++ b/gcc/sese.h
> @@ -44,7 +44,7 @@ void dump_sese (const sese_l &);
>
> /* Get the entry of an sese S. */
>
> -static inline basic_block
> +inline basic_block
> get_entry_bb (const sese_l &s)
> {
> return s.entry->dest;
> @@ -52,7 +52,7 @@ get_entry_bb (const sese_l &s)
>
> /* Get the exit of an sese S. */
>
> -static inline basic_block
> +inline basic_block
> get_exit_bb (const sese_l &s)
> {
> return s.exit->src;
> @@ -110,7 +110,7 @@ extern bool sese_trivially_empty_bb_p (basic_block);
>
> /* The number of parameters in REGION. */
>
> -static inline unsigned
> +inline unsigned
> sese_nb_params (sese_info_p region)
> {
> return region->params.length ();
> @@ -119,7 +119,7 @@ sese_nb_params (sese_info_p region)
> /* Checks whether BB is contained in the region delimited by ENTRY and
> EXIT blocks. */
>
> -static inline bool
> +inline bool
> bb_in_region (const_basic_block bb, const_basic_block entry, const_basic_block exit)
> {
> return dominated_by_p (CDI_DOMINATORS, bb, entry)
> @@ -130,7 +130,7 @@ bb_in_region (const_basic_block bb, const_basic_block entry, const_basic_block e
> /* Checks whether BB is contained in the region delimited by ENTRY and
> EXIT blocks. */
>
> -static inline bool
> +inline bool
> bb_in_sese_p (basic_block bb, const sese_l &r)
> {
> return bb_in_region (bb, r.entry->dest, r.exit->dest);
> @@ -138,7 +138,7 @@ bb_in_sese_p (basic_block bb, const sese_l &r)
>
> /* Returns true when STMT is defined in REGION. */
>
> -static inline bool
> +inline bool
> stmt_in_sese_p (gimple *stmt, const sese_l &r)
> {
> basic_block bb = gimple_bb (stmt);
> @@ -147,7 +147,7 @@ stmt_in_sese_p (gimple *stmt, const sese_l &r)
>
> /* Returns true when NAME is defined in REGION. */
>
> -static inline bool
> +inline bool
> defined_in_sese_p (tree name, const sese_l &r)
> {
> return stmt_in_sese_p (SSA_NAME_DEF_STMT (name), r);
> @@ -155,7 +155,7 @@ defined_in_sese_p (tree name, const sese_l &r)
>
> /* Returns true when LOOP is in REGION. */
>
> -static inline bool
> +inline bool
> loop_in_sese_p (class loop *loop, const sese_l ®ion)
> {
> return (bb_in_sese_p (loop->header, region)
> @@ -185,7 +185,7 @@ loop_in_sese_p (class loop *loop, const sese_l ®ion)
> loop_1 exists, but is not completely contained in the region -> depth 0
> loop_2 is completely contained -> depth 1 */
>
> -static inline unsigned int
> +inline unsigned int
> sese_loop_depth (const sese_l ®ion, loop_p loop)
> {
> unsigned int depth = 0;
> @@ -212,19 +212,19 @@ extern void set_ifsese_condition (ifsese, tree);
> extern edge get_true_edge_from_guard_bb (basic_block);
> extern edge get_false_edge_from_guard_bb (basic_block);
>
> -static inline edge
> +inline edge
> if_region_entry (ifsese if_region)
> {
> return if_region->region->region.entry;
> }
>
> -static inline edge
> +inline edge
> if_region_exit (ifsese if_region)
> {
> return if_region->region->region.exit;
> }
>
> -static inline basic_block
> +inline basic_block
> if_region_get_condition_block (ifsese if_region)
> {
> return if_region_entry (if_region)->dest;
> @@ -272,7 +272,7 @@ typedef struct gimple_poly_bb
>
> /* Return the innermost loop that contains the basic block GBB. */
>
> -static inline class loop *
> +inline class loop *
> gbb_loop (gimple_poly_bb_p gbb)
> {
> return GBB_BB (gbb)->loop_father;
> @@ -281,7 +281,7 @@ gbb_loop (gimple_poly_bb_p gbb)
> /* Returns the gimple loop, that corresponds to the loop_iterator_INDEX.
> If there is no corresponding gimple loop, we return NULL. */
>
> -static inline loop_p
> +inline loop_p
> gbb_loop_at_index (gimple_poly_bb_p gbb, sese_l ®ion, int index)
> {
> loop_p loop = gbb_loop (gbb);
> @@ -297,7 +297,7 @@ gbb_loop_at_index (gimple_poly_bb_p gbb, sese_l ®ion, int index)
>
> /* The number of common loops in REGION for GBB1 and GBB2. */
>
> -static inline int
> +inline int
> nb_common_loops (sese_l ®ion, gimple_poly_bb_p gbb1, gimple_poly_bb_p gbb2)
> {
> loop_p l1 = gbb_loop (gbb1);
> diff --git a/gcc/sparseset.h b/gcc/sparseset.h
> index 74934cea18b..694ff117f0e 100644
> --- a/gcc/sparseset.h
> +++ b/gcc/sparseset.h
> @@ -109,7 +109,7 @@ extern bool sparseset_equal_p (sparseset, sparseset);
> /* Operation: S = {}
> Clear the set of all elements. */
>
> -static inline void
> +inline void
> sparseset_clear (sparseset s)
> {
> s->members = 0;
> @@ -118,7 +118,7 @@ sparseset_clear (sparseset s)
>
> /* Return the number of elements currently in the set. */
>
> -static inline SPARSESET_ELT_TYPE
> +inline SPARSESET_ELT_TYPE
> sparseset_cardinality (sparseset s)
> {
> return s->members;
> @@ -126,7 +126,7 @@ sparseset_cardinality (sparseset s)
>
> /* Return the maximum number of elements this set can hold. */
>
> -static inline SPARSESET_ELT_TYPE
> +inline SPARSESET_ELT_TYPE
> sparseset_size (sparseset s)
> {
> return s->size;
> @@ -134,7 +134,7 @@ sparseset_size (sparseset s)
>
> /* Return true if e is a member of the set S, otherwise return false. */
>
> -static inline bool
> +inline bool
> sparseset_bit_p (sparseset s, SPARSESET_ELT_TYPE e)
> {
> SPARSESET_ELT_TYPE idx;
> @@ -149,7 +149,7 @@ sparseset_bit_p (sparseset s, SPARSESET_ELT_TYPE e)
> /* Low level insertion routine not meant for use outside of sparseset.[ch].
> Assumes E is valid and not already a member of the set S. */
>
> -static inline void
> +inline void
> sparseset_insert_bit (sparseset s, SPARSESET_ELT_TYPE e, SPARSESET_ELT_TYPE idx)
> {
> s->sparse[e] = idx;
> @@ -159,7 +159,7 @@ sparseset_insert_bit (sparseset s, SPARSESET_ELT_TYPE e, SPARSESET_ELT_TYPE idx)
> /* Operation: S = S + {e}
> Insert E into the set S, if it isn't already a member. */
>
> -static inline void
> +inline void
> sparseset_set_bit (sparseset s, SPARSESET_ELT_TYPE e)
> {
> if (!sparseset_bit_p (s, e))
> @@ -168,7 +168,7 @@ sparseset_set_bit (sparseset s, SPARSESET_ELT_TYPE e)
>
> /* Return and remove the last member added to the set S. */
>
> -static inline SPARSESET_ELT_TYPE
> +inline SPARSESET_ELT_TYPE
> sparseset_pop (sparseset s)
> {
> SPARSESET_ELT_TYPE mem = s->members;
> @@ -179,7 +179,7 @@ sparseset_pop (sparseset s)
> return s->dense[s->members];
> }
>
> -static inline void
> +inline void
> sparseset_iter_init (sparseset s)
> {
> s->iter = 0;
> @@ -187,7 +187,7 @@ sparseset_iter_init (sparseset s)
> s->iterating = true;
> }
>
> -static inline bool
> +inline bool
> sparseset_iter_p (sparseset s)
> {
> if (s->iterating && s->iter < s->members)
> @@ -196,13 +196,13 @@ sparseset_iter_p (sparseset s)
> return s->iterating = false;
> }
>
> -static inline SPARSESET_ELT_TYPE
> +inline SPARSESET_ELT_TYPE
> sparseset_iter_elm (sparseset s)
> {
> return s->dense[s->iter];
> }
>
> -static inline void
> +inline void
> sparseset_iter_next (sparseset s)
> {
> s->iter += s->iter_inc;
> diff --git a/gcc/ssa-iterators.h b/gcc/ssa-iterators.h
> index 43c9b861440..3aeb89bb60e 100644
> --- a/gcc/ssa-iterators.h
> +++ b/gcc/ssa-iterators.h
> @@ -78,7 +78,7 @@ struct imm_use_iterator
> (void) ((DEST) = next_readonly_imm_use (&(ITER))))
>
> /* Forward declare for use in the class below. */
> -static inline void end_imm_use_stmt_traverse (imm_use_iterator *);
> +inline void end_imm_use_stmt_traverse (imm_use_iterator *);
>
> /* arrange to automatically call, upon descruction, end_imm_use_stmt_traverse
> with a given pointer to imm_use_iterator. */
> @@ -246,7 +246,7 @@ struct ssa_op_iter
>
>
> /* Delink an immediate_uses node from its chain. */
> -static inline void
> +inline void
> delink_imm_use (ssa_use_operand_t *linknode)
> {
> /* Return if this node is not in a list. */
> @@ -260,7 +260,7 @@ delink_imm_use (ssa_use_operand_t *linknode)
> }
>
> /* Link ssa_imm_use node LINKNODE into the chain for LIST. */
> -static inline void
> +inline void
> link_imm_use_to_list (ssa_use_operand_t *linknode, ssa_use_operand_t *list)
> {
> /* Link the new node at the head of the list. If we are in the process of
> @@ -272,7 +272,7 @@ link_imm_use_to_list (ssa_use_operand_t *linknode, ssa_use_operand_t *list)
> }
>
> /* Link ssa_imm_use node LINKNODE into the chain for DEF. */
> -static inline void
> +inline void
> link_imm_use (ssa_use_operand_t *linknode, tree def)
> {
> ssa_use_operand_t *root;
> @@ -289,7 +289,7 @@ link_imm_use (ssa_use_operand_t *linknode, tree def)
> }
>
> /* Set the value of a use pointed to by USE to VAL. */
> -static inline void
> +inline void
> set_ssa_use_from_ptr (use_operand_p use, tree val)
> {
> delink_imm_use (use);
> @@ -299,7 +299,7 @@ set_ssa_use_from_ptr (use_operand_p use, tree val)
>
> /* Link ssa_imm_use node LINKNODE into the chain for DEF, with use occurring
> in STMT. */
> -static inline void
> +inline void
> link_imm_use_stmt (ssa_use_operand_t *linknode, tree def, gimple *stmt)
> {
> if (stmt)
> @@ -310,7 +310,7 @@ link_imm_use_stmt (ssa_use_operand_t *linknode, tree def, gimple *stmt)
> }
>
> /* Relink a new node in place of an old node in the list. */
> -static inline void
> +inline void
> relink_imm_use (ssa_use_operand_t *node, ssa_use_operand_t *old)
> {
> /* The node one had better be in the same list. */
> @@ -328,7 +328,7 @@ relink_imm_use (ssa_use_operand_t *node, ssa_use_operand_t *old)
>
> /* Relink ssa_imm_use node LINKNODE into the chain for OLD, with use occurring
> in STMT. */
> -static inline void
> +inline void
> relink_imm_use_stmt (ssa_use_operand_t *linknode, ssa_use_operand_t *old,
> gimple *stmt)
> {
> @@ -341,14 +341,14 @@ relink_imm_use_stmt (ssa_use_operand_t *linknode, ssa_use_operand_t *old,
>
>
> /* Return true is IMM has reached the end of the immediate use list. */
> -static inline bool
> +inline bool
> end_readonly_imm_use_p (const imm_use_iterator *imm)
> {
> return (imm->imm_use == imm->end_p);
> }
>
> /* Initialize iterator IMM to process the list for VAR. */
> -static inline use_operand_p
> +inline use_operand_p
> first_readonly_imm_use (imm_use_iterator *imm, tree var)
> {
> imm->end_p = &(SSA_NAME_IMM_USE_NODE (var));
> @@ -360,7 +360,7 @@ first_readonly_imm_use (imm_use_iterator *imm, tree var)
> }
>
> /* Bump IMM to the next use in the list. */
> -static inline use_operand_p
> +inline use_operand_p
> next_readonly_imm_use (imm_use_iterator *imm)
> {
> use_operand_p old = imm->imm_use;
> @@ -383,7 +383,7 @@ next_readonly_imm_use (imm_use_iterator *imm)
>
>
> /* Return true if VAR has no nondebug uses. */
> -static inline bool
> +inline bool
> has_zero_uses (const_tree var)
> {
> const ssa_use_operand_t *const head = &(SSA_NAME_IMM_USE_NODE (var));
> @@ -397,7 +397,7 @@ has_zero_uses (const_tree var)
> }
>
> /* Return true if VAR has a single nondebug use. */
> -static inline bool
> +inline bool
> has_single_use (const_tree var)
> {
> const ssa_use_operand_t *const head = &(SSA_NAME_IMM_USE_NODE (var));
> @@ -418,7 +418,7 @@ has_single_use (const_tree var)
>
> /* If VAR has only a single immediate nondebug use, return true, and
> set USE_P and STMT to the use pointer and stmt of occurrence. */
> -static inline bool
> +inline bool
> single_imm_use (const_tree var, use_operand_p *use_p, gimple **stmt)
> {
> const ssa_use_operand_t *const ptr = &(SSA_NAME_IMM_USE_NODE (var));
> @@ -449,7 +449,7 @@ single_imm_use (const_tree var, use_operand_p *use_p, gimple **stmt)
> }
>
> /* Return the number of nondebug immediate uses of VAR. */
> -static inline unsigned int
> +inline unsigned int
> num_imm_uses (const_tree var)
> {
> const ssa_use_operand_t *const start = &(SSA_NAME_IMM_USE_NODE (var));
> @@ -476,14 +476,14 @@ num_imm_uses (const_tree var)
> SSA operands. */
>
> /* Return true if PTR is finished iterating. */
> -static inline bool
> +inline bool
> op_iter_done (const ssa_op_iter *ptr)
> {
> return ptr->done;
> }
>
> /* Get the next iterator use value for PTR. */
> -static inline use_operand_p
> +inline use_operand_p
> op_iter_next_use (ssa_op_iter *ptr)
> {
> use_operand_p use_p;
> @@ -503,7 +503,7 @@ op_iter_next_use (ssa_op_iter *ptr)
> }
>
> /* Get the next iterator def value for PTR. */
> -static inline def_operand_p
> +inline def_operand_p
> op_iter_next_def (ssa_op_iter *ptr)
> {
> gcc_checking_assert (ptr->iter_type == ssa_op_iter_def);
> @@ -538,7 +538,7 @@ op_iter_next_def (ssa_op_iter *ptr)
> }
>
> /* Get the next iterator tree value for PTR. */
> -static inline tree
> +inline tree
> op_iter_next_tree (ssa_op_iter *ptr)
> {
> tree val;
> @@ -582,7 +582,7 @@ op_iter_next_tree (ssa_op_iter *ptr)
> used to prevent warnings in the compile about might be uninitialized
> components. */
>
> -static inline void
> +inline void
> clear_and_done_ssa_iter (ssa_op_iter *ptr)
> {
> ptr->i = 0;
> @@ -595,7 +595,7 @@ clear_and_done_ssa_iter (ssa_op_iter *ptr)
> }
>
> /* Initialize the iterator PTR to the virtual defs in STMT. */
> -static inline void
> +inline void
> op_iter_init (ssa_op_iter *ptr, gimple *stmt, int flags)
> {
> /* PHI nodes require a different iterator initialization path. We
> @@ -640,7 +640,7 @@ op_iter_init (ssa_op_iter *ptr, gimple *stmt, int flags)
>
> /* Initialize iterator PTR to the use operands in STMT based on FLAGS. Return
> the first use. */
> -static inline use_operand_p
> +inline use_operand_p
> op_iter_init_use (ssa_op_iter *ptr, gimple *stmt, int flags)
> {
> gcc_checking_assert ((flags & SSA_OP_ALL_DEFS) == 0
> @@ -652,7 +652,7 @@ op_iter_init_use (ssa_op_iter *ptr, gimple *stmt, int flags)
>
> /* Initialize iterator PTR to the def operands in STMT based on FLAGS. Return
> the first def. */
> -static inline def_operand_p
> +inline def_operand_p
> op_iter_init_def (ssa_op_iter *ptr, gimple *stmt, int flags)
> {
> gcc_checking_assert ((flags & SSA_OP_ALL_USES) == 0
> @@ -664,7 +664,7 @@ op_iter_init_def (ssa_op_iter *ptr, gimple *stmt, int flags)
>
> /* Initialize iterator PTR to the operands in STMT based on FLAGS. Return
> the first operand as a tree. */
> -static inline tree
> +inline tree
> op_iter_init_tree (ssa_op_iter *ptr, gimple *stmt, int flags)
> {
> op_iter_init (ptr, stmt, flags);
> @@ -675,7 +675,7 @@ op_iter_init_tree (ssa_op_iter *ptr, gimple *stmt, int flags)
>
> /* If there is a single operand in STMT matching FLAGS, return it. Otherwise
> return NULL. */
> -static inline tree
> +inline tree
> single_ssa_tree_operand (gimple *stmt, int flags)
> {
> tree var;
> @@ -693,7 +693,7 @@ single_ssa_tree_operand (gimple *stmt, int flags)
>
> /* If there is a single operand in STMT matching FLAGS, return it. Otherwise
> return NULL. */
> -static inline use_operand_p
> +inline use_operand_p
> single_ssa_use_operand (gimple *stmt, int flags)
> {
> use_operand_p var;
> @@ -710,7 +710,7 @@ single_ssa_use_operand (gimple *stmt, int flags)
>
> /* Return the single virtual use operand in STMT if present. Otherwise
> return NULL. */
> -static inline use_operand_p
> +inline use_operand_p
> ssa_vuse_operand (gimple *stmt)
> {
> if (! gimple_vuse (stmt))
> @@ -721,7 +721,7 @@ ssa_vuse_operand (gimple *stmt)
>
> /* If there is a single operand in STMT matching FLAGS, return it. Otherwise
> return NULL. */
> -static inline def_operand_p
> +inline def_operand_p
> single_ssa_def_operand (gimple *stmt, int flags)
> {
> def_operand_p var;
> @@ -739,7 +739,7 @@ single_ssa_def_operand (gimple *stmt, int flags)
>
> /* Return true if there are zero operands in STMT matching the type
> given in FLAGS. */
> -static inline bool
> +inline bool
> zero_ssa_operands (gimple *stmt, int flags)
> {
> ssa_op_iter iter;
> @@ -750,7 +750,7 @@ zero_ssa_operands (gimple *stmt, int flags)
>
>
> /* Return the number of operands matching FLAGS in STMT. */
> -static inline int
> +inline int
> num_ssa_operands (gimple *stmt, int flags)
> {
> ssa_op_iter iter;
> @@ -765,7 +765,7 @@ num_ssa_operands (gimple *stmt, int flags)
>
> /* If there is a single DEF in the PHI node which matches FLAG, return it.
> Otherwise return NULL_DEF_OPERAND_P. */
> -static inline tree
> +inline tree
> single_phi_def (gphi *stmt, int flags)
> {
> tree def = PHI_RESULT (stmt);
> @@ -778,7 +778,7 @@ single_phi_def (gphi *stmt, int flags)
>
> /* Initialize the iterator PTR for uses matching FLAGS in PHI. FLAGS should
> be either SSA_OP_USES or SSA_OP_VIRTUAL_USES. */
> -static inline use_operand_p
> +inline use_operand_p
> op_iter_init_phiuse (ssa_op_iter *ptr, gphi *phi, int flags)
> {
> tree phi_def = gimple_phi_result (phi);
> @@ -808,7 +808,7 @@ op_iter_init_phiuse (ssa_op_iter *ptr, gphi *phi, int flags)
>
> /* Start an iterator for a PHI definition. */
>
> -static inline def_operand_p
> +inline def_operand_p
> op_iter_init_phidef (ssa_op_iter *ptr, gphi *phi, int flags)
> {
> tree phi_def = PHI_RESULT (phi);
> @@ -838,7 +838,7 @@ op_iter_init_phidef (ssa_op_iter *ptr, gphi *phi, int flags)
>
> /* Return true is IMM has reached the end of the immediate use stmt list. */
>
> -static inline bool
> +inline bool
> end_imm_use_stmt_p (const imm_use_iterator *imm)
> {
> return (imm->imm_use == imm->end_p);
> @@ -847,7 +847,7 @@ end_imm_use_stmt_p (const imm_use_iterator *imm)
> /* Finished the traverse of an immediate use stmt list IMM by removing the
> placeholder node from the list. */
>
> -static inline void
> +inline void
> end_imm_use_stmt_traverse (imm_use_iterator *imm)
> {
> delink_imm_use (&(imm->iter_node));
> @@ -859,7 +859,7 @@ end_imm_use_stmt_traverse (imm_use_iterator *imm)
> currently delimited by HEAD and LAST_P. The new LAST_P value is
> returned. */
>
> -static inline use_operand_p
> +inline use_operand_p
> move_use_after_head (use_operand_p use_p, use_operand_p head,
> use_operand_p last_p)
> {
> @@ -885,7 +885,7 @@ move_use_after_head (use_operand_p use_p, use_operand_p head,
> /* This routine will relink all uses with the same stmt as HEAD into the list
> immediately following HEAD for iterator IMM. */
>
> -static inline void
> +inline void
> link_use_stmts_after (use_operand_p head, imm_use_iterator *imm)
> {
> use_operand_p use_p;
> @@ -925,7 +925,7 @@ link_use_stmts_after (use_operand_p head, imm_use_iterator *imm)
> }
>
> /* Initialize IMM to traverse over uses of VAR. Return the first statement. */
> -static inline gimple *
> +inline gimple *
> first_imm_use_stmt (imm_use_iterator *imm, tree var)
> {
> imm->end_p = &(SSA_NAME_IMM_USE_NODE (var));
> @@ -950,7 +950,7 @@ first_imm_use_stmt (imm_use_iterator *imm, tree var)
>
> /* Bump IMM to the next stmt which has a use of var. */
>
> -static inline gimple *
> +inline gimple *
> next_imm_use_stmt (imm_use_iterator *imm)
> {
> imm->imm_use = imm->iter_node.next;
> @@ -968,7 +968,7 @@ next_imm_use_stmt (imm_use_iterator *imm)
> /* This routine will return the first use on the stmt IMM currently refers
> to. */
>
> -static inline use_operand_p
> +inline use_operand_p
> first_imm_use_on_stmt (imm_use_iterator *imm)
> {
> imm->next_imm_name = imm->imm_use->next;
> @@ -977,7 +977,7 @@ first_imm_use_on_stmt (imm_use_iterator *imm)
>
> /* Return TRUE if the last use on the stmt IMM refers to has been visited. */
>
> -static inline bool
> +inline bool
> end_imm_use_on_stmt_p (const imm_use_iterator *imm)
> {
> return (imm->imm_use == &(imm->iter_node));
> @@ -985,7 +985,7 @@ end_imm_use_on_stmt_p (const imm_use_iterator *imm)
>
> /* Bump to the next use on the stmt IMM refers to, return NULL if done. */
>
> -static inline use_operand_p
> +inline use_operand_p
> next_imm_use_on_stmt (imm_use_iterator *imm)
> {
> imm->imm_use = imm->next_imm_name;
> @@ -999,7 +999,7 @@ next_imm_use_on_stmt (imm_use_iterator *imm)
> }
>
> /* Delink all immediate_use information for STMT. */
> -static inline void
> +inline void
> delink_stmt_imm_use (gimple *stmt)
> {
> ssa_op_iter iter;
> diff --git a/gcc/system.h b/gcc/system.h
> index 5eaeb9d2d03..64cd5a49258 100644
> --- a/gcc/system.h
> +++ b/gcc/system.h
> @@ -1166,7 +1166,7 @@ extern void fancy_abort (const char *, int, const char *)
> so does GCC 3.4.x (PR17436). */
> #define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q; TOTYPE _nq;})(X))._nq)
> #elif defined(__GNUC__)
> -static inline char *
> +inline char *
> helper_const_non_const_cast (const char *p)
> {
> union {
> @@ -1308,7 +1308,7 @@ void gcc_stablesort_r (void *, size_t, size_t, sort_r_cmp_fn *, void *data);
>
> /* Return true if STR string starts with PREFIX. */
>
> -static inline bool
> +inline bool
> startswith (const char *str, const char *prefix)
> {
> return strncmp (str, prefix, strlen (prefix)) == 0;
> @@ -1316,7 +1316,7 @@ startswith (const char *str, const char *prefix)
>
> /* Return true if STR string ends with SUFFIX. */
>
> -static inline bool
> +inline bool
> endswith (const char *str, const char *suffix)
> {
> size_t str_len = strlen (str);
> diff --git a/gcc/target-globals.h b/gcc/target-globals.h
> index 551b21e8a60..daedf66017f 100644
> --- a/gcc/target-globals.h
> +++ b/gcc/target-globals.h
> @@ -69,7 +69,7 @@ extern class target_globals default_target_globals;
> extern class target_globals *save_target_globals (void);
> extern class target_globals *save_target_globals_default_opts (void);
>
> -static inline void
> +inline void
> restore_target_globals (class target_globals *g)
> {
> this_target_flag_state = g->flag_state;
> diff --git a/gcc/target.h b/gcc/target.h
> index 03fd03a5207..fdb364ca451 100644
> --- a/gcc/target.h
> +++ b/gcc/target.h
> @@ -279,7 +279,7 @@ extern struct gcc_target targetm;
> runtime value is needed for correctness, since the function only
> provides a rough guess. */
>
> -static inline HOST_WIDE_INT
> +inline HOST_WIDE_INT
> estimated_poly_value (poly_int64 x,
> poly_value_estimate_kind kind = POLY_VALUE_LIKELY)
> {
> @@ -295,7 +295,7 @@ estimated_poly_value (poly_int64 x,
> #define CUMULATIVE_ARGS_MAGIC ((void *) &targetm.calls)
> #endif
>
> -static inline CUMULATIVE_ARGS *
> +inline CUMULATIVE_ARGS *
> get_cumulative_args (cumulative_args_t arg)
> {
> #if CHECKING_P
> @@ -304,7 +304,7 @@ get_cumulative_args (cumulative_args_t arg)
> return (CUMULATIVE_ARGS *) arg.p;
> }
>
> -static inline cumulative_args_t
> +inline cumulative_args_t
> pack_cumulative_args (CUMULATIVE_ARGS *arg)
> {
> cumulative_args_t ret;
> diff --git a/gcc/timevar.h b/gcc/timevar.h
> index 6f3ac370917..ad465731609 100644
> --- a/gcc/timevar.h
> +++ b/gcc/timevar.h
> @@ -206,14 +206,14 @@ class timer
> };
>
> /* Provided for backward compatibility. */
> -static inline void
> +inline void
> timevar_push (timevar_id_t tv)
> {
> if (g_timer)
> g_timer->push (tv);
> }
>
> -static inline void
> +inline void
> timevar_pop (timevar_id_t tv)
> {
> if (g_timer)
> diff --git a/gcc/tree-chrec.h b/gcc/tree-chrec.h
> index 83ec0f58659..9c412dc879a 100644
> --- a/gcc/tree-chrec.h
> +++ b/gcc/tree-chrec.h
> @@ -35,7 +35,7 @@ along with GCC; see the file COPYING3. If not see
> /* After having added an automatically generated element, please
> include it in the following function. */
>
> -static inline bool
> +inline bool
> automatically_generated_chrec_p (const_tree chrec)
> {
> return (chrec == chrec_dont_know
> @@ -44,7 +44,7 @@ automatically_generated_chrec_p (const_tree chrec)
>
> /* The tree nodes aka. CHRECs. */
>
> -static inline bool
> +inline bool
> tree_is_chrec (const_tree expr)
> {
> if (TREE_CODE (expr) == POLYNOMIAL_CHREC
> @@ -96,7 +96,7 @@ extern bool evolution_function_right_is_integer_cst (const_tree);
>
> /* Determines whether CHREC is equal to zero. */
>
> -static inline bool
> +inline bool
> chrec_zerop (const_tree chrec)
> {
> if (chrec == NULL_TREE)
> @@ -111,7 +111,7 @@ chrec_zerop (const_tree chrec)
> /* Determines whether CHREC is a loop invariant with respect to LOOP_NUM.
> Set the result in RES and return true when the property can be computed. */
>
> -static inline bool
> +inline bool
> no_evolution_in_loop_p (tree chrec, unsigned loop_num, bool *res)
> {
> tree scev;
> @@ -129,7 +129,7 @@ no_evolution_in_loop_p (tree chrec, unsigned loop_num, bool *res)
>
> /* Build a polynomial chain of recurrence. */
>
> -static inline tree
> +inline tree
> build_polynomial_chrec (unsigned loop_num,
> tree left,
> tree right)
> @@ -167,7 +167,7 @@ build_polynomial_chrec (unsigned loop_num,
>
> /* Determines whether the expression CHREC is a constant. */
>
> -static inline bool
> +inline bool
> evolution_function_is_constant_p (const_tree chrec)
> {
> if (chrec == NULL_TREE)
> @@ -178,7 +178,7 @@ evolution_function_is_constant_p (const_tree chrec)
>
> /* Determine whether CHREC is an affine evolution function in LOOPNUM. */
>
> -static inline bool
> +inline bool
> evolution_function_is_affine_in_loop (const_tree chrec, int loopnum)
> {
> if (chrec == NULL_TREE)
> @@ -200,7 +200,7 @@ evolution_function_is_affine_in_loop (const_tree chrec, int loopnum)
>
> /* Determine whether CHREC is an affine evolution function or not. */
>
> -static inline bool
> +inline bool
> evolution_function_is_affine_p (const_tree chrec)
> {
> return chrec
> @@ -213,7 +213,7 @@ evolution_function_is_affine_p (const_tree chrec)
>
> /* Determines whether EXPR does not contains chrec expressions. */
>
> -static inline bool
> +inline bool
> tree_does_not_contain_chrecs (const_tree expr)
> {
> return !tree_contains_chrecs (expr, NULL);
> @@ -221,7 +221,7 @@ tree_does_not_contain_chrecs (const_tree expr)
>
> /* Returns the type of the chrec. */
>
> -static inline tree
> +inline tree
> chrec_type (const_tree chrec)
> {
> if (automatically_generated_chrec_p (chrec))
> @@ -230,7 +230,7 @@ chrec_type (const_tree chrec)
> return TREE_TYPE (chrec);
> }
>
> -static inline tree
> +inline tree
> chrec_fold_op (enum tree_code code, tree type, tree op0, tree op1)
> {
> switch (code)
> diff --git a/gcc/tree-data-ref.h b/gcc/tree-data-ref.h
> index 50718c0642a..4d1a5c4a45e 100644
> --- a/gcc/tree-data-ref.h
> +++ b/gcc/tree-data-ref.h
> @@ -592,7 +592,7 @@ extern bool dr_known_forward_stride_p (struct data_reference *);
> /* Return true when the base objects of data references A and B are
> the same memory object. */
>
> -static inline bool
> +inline bool
> same_data_refs_base_objects (data_reference_p a, data_reference_p b)
> {
> return DR_NUM_DIMENSIONS (a) == DR_NUM_DIMENSIONS (b)
> @@ -603,7 +603,7 @@ same_data_refs_base_objects (data_reference_p a, data_reference_p b)
> memory object with the same access functions. Optionally skip the
> last OFFSET dimensions in the data reference. */
>
> -static inline bool
> +inline bool
> same_data_refs (data_reference_p a, data_reference_p b, int offset = 0)
> {
> unsigned int i;
> @@ -641,7 +641,7 @@ known_dependences_p (vec<ddr_p> dependence_relations)
> LEVEL = 0 means a lexicographic dependence, i.e. a dependence due
> to the sequence of statements, not carried by any loop. */
>
> -static inline unsigned
> +inline unsigned
> dependence_level (lambda_vector dist_vect, int length)
> {
> int i;
> @@ -655,7 +655,7 @@ dependence_level (lambda_vector dist_vect, int length)
>
> /* Return the dependence level for the DDR relation. */
>
> -static inline unsigned
> +inline unsigned
> ddr_dependence_level (ddr_p ddr)
> {
> unsigned vector;
> @@ -672,7 +672,7 @@ ddr_dependence_level (ddr_p ddr)
>
> /* Return the index of the variable VAR in the LOOP_NEST array. */
>
> -static inline int
> +inline int
> index_in_loop_nest (int var, const vec<loop_p> &loop_nest)
> {
> class loop *loopi;
> @@ -688,7 +688,7 @@ index_in_loop_nest (int var, const vec<loop_p> &loop_nest)
> /* Returns true when the data reference DR the form "A[i] = ..."
> with a stride equal to its unit type size. */
>
> -static inline bool
> +inline bool
> adjacent_dr_p (struct data_reference *dr)
> {
> /* If this is a bitfield store bail out. */
> @@ -709,7 +709,7 @@ void split_constant_offset (tree , tree *, tree *);
>
> /* Compute the greatest common divisor of a VECTOR of SIZE numbers. */
>
> -static inline lambda_int
> +inline lambda_int
> lambda_vector_gcd (lambda_vector vector, int size)
> {
> int i;
> @@ -726,7 +726,7 @@ lambda_vector_gcd (lambda_vector vector, int size)
>
> /* Allocate a new vector of given SIZE. */
>
> -static inline lambda_vector
> +inline lambda_vector
> lambda_vector_new (int size)
> {
> /* ??? We shouldn't abuse the GC allocator here. */
> @@ -735,7 +735,7 @@ lambda_vector_new (int size)
>
> /* Clear out vector VEC1 of length SIZE. */
>
> -static inline void
> +inline void
> lambda_vector_clear (lambda_vector vec1, int size)
> {
> memset (vec1, 0, size * sizeof (*vec1));
> @@ -744,7 +744,7 @@ lambda_vector_clear (lambda_vector vec1, int size)
> /* Returns true when the vector V is lexicographically positive, in
> other words, when the first nonzero element is positive. */
>
> -static inline bool
> +inline bool
> lambda_vector_lexico_pos (lambda_vector v,
> unsigned n)
> {
> @@ -763,7 +763,7 @@ lambda_vector_lexico_pos (lambda_vector v,
>
> /* Return true if vector VEC1 of length SIZE is the zero vector. */
>
> -static inline bool
> +inline bool
> lambda_vector_zerop (lambda_vector vec1, int size)
> {
> int i;
> @@ -775,7 +775,7 @@ lambda_vector_zerop (lambda_vector vec1, int size)
>
> /* Allocate a matrix of M rows x N cols. */
>
> -static inline lambda_matrix
> +inline lambda_matrix
> lambda_matrix_new (int m, int n, struct obstack *lambda_obstack)
> {
> lambda_matrix mat;
> diff --git a/gcc/tree-iterator.h b/gcc/tree-iterator.h
> index d09ec7d4118..800dd2e9c0e 100644
> --- a/gcc/tree-iterator.h
> +++ b/gcc/tree-iterator.h
> @@ -49,7 +49,7 @@ struct tree_stmt_iterator {
> tree operator* () const { return ptr->stmt; }
> };
>
> -static inline tree_stmt_iterator
> +inline tree_stmt_iterator
> tsi_start (tree t)
> {
> tree_stmt_iterator i;
> @@ -60,7 +60,7 @@ tsi_start (tree t)
> return i;
> }
>
> -static inline tree_stmt_iterator
> +inline tree_stmt_iterator
> tsi_last (tree t)
> {
> tree_stmt_iterator i;
> @@ -71,37 +71,37 @@ tsi_last (tree t)
> return i;
> }
>
> -static inline bool
> +inline bool
> tsi_end_p (tree_stmt_iterator i)
> {
> return i.ptr == NULL;
> }
>
> -static inline bool
> +inline bool
> tsi_one_before_end_p (tree_stmt_iterator i)
> {
> return i.ptr != NULL && i.ptr->next == NULL;
> }
>
> -static inline void
> +inline void
> tsi_next (tree_stmt_iterator *i)
> {
> ++(*i);
> }
>
> -static inline void
> +inline void
> tsi_prev (tree_stmt_iterator *i)
> {
> --(*i);
> }
>
> -static inline tree *
> +inline tree *
> tsi_stmt_ptr (tree_stmt_iterator i)
> {
> return &(*i);
> }
>
> -static inline tree
> +inline tree
> tsi_stmt (tree_stmt_iterator i)
> {
> return *i;
> diff --git a/gcc/tree-outof-ssa.h b/gcc/tree-outof-ssa.h
> index 75264ed2b8a..d69c5a7e68d 100644
> --- a/gcc/tree-outof-ssa.h
> +++ b/gcc/tree-outof-ssa.h
> @@ -53,7 +53,7 @@ extern struct ssaexpand SA;
>
> /* Returns the RTX expression representing the storage of the outof-SSA
> partition that the SSA name EXP is a member of. */
> -static inline rtx
> +inline rtx
> get_rtx_for_ssa_name (tree exp)
> {
> int p = partition_find (SA.map->var_partition, SSA_NAME_VERSION (exp));
> @@ -65,7 +65,7 @@ get_rtx_for_ssa_name (tree exp)
>
> /* If TER decided to forward the definition of SSA name EXP this function
> returns the defining statement, otherwise NULL. */
> -static inline gimple *
> +inline gimple *
> get_gimple_for_ssa_name (tree exp)
> {
> int v = SSA_NAME_VERSION (exp);
> diff --git a/gcc/tree-phinodes.h b/gcc/tree-phinodes.h
> index 29b2143589b..932a461e987 100644
> --- a/gcc/tree-phinodes.h
> +++ b/gcc/tree-phinodes.h
> @@ -31,7 +31,7 @@ extern void remove_phi_nodes (basic_block);
> extern tree degenerate_phi_result (gphi *);
> extern void set_phi_nodes (basic_block, gimple_seq);
>
> -static inline use_operand_p
> +inline use_operand_p
> gimple_phi_arg_imm_use_ptr (gimple *gs, int i)
> {
> return &gimple_phi_arg (gs, i)->imm_use;
> @@ -39,7 +39,7 @@ gimple_phi_arg_imm_use_ptr (gimple *gs, int i)
>
> /* Return the phi argument which contains the specified use. */
>
> -static inline int
> +inline int
> phi_arg_index_from_use (use_operand_p use)
> {
> struct phi_arg_d *element, *root;
> diff --git a/gcc/tree-scalar-evolution.h b/gcc/tree-scalar-evolution.h
> index d26bfc7ba79..c58a8a16e81 100644
> --- a/gcc/tree-scalar-evolution.h
> +++ b/gcc/tree-scalar-evolution.h
> @@ -46,7 +46,7 @@ extern tree compute_overall_effect_of_inner_loop (class loop *, tree);
> /* Returns the basic block preceding LOOP, or the CFG entry block when
> the loop is function's body. */
>
> -static inline basic_block
> +inline basic_block
> block_before_loop (loop_p loop)
> {
> edge preheader = loop_preheader_edge (loop);
> @@ -57,7 +57,7 @@ block_before_loop (loop_p loop)
> symbolic form. LOOP is the loop in which symbolic names have to
> be analyzed and instantiated. */
>
> -static inline tree
> +inline tree
> instantiate_parameters (class loop *loop, tree chrec)
> {
> return instantiate_scev (loop_preheader_edge (loop), loop, chrec);
> @@ -65,7 +65,7 @@ instantiate_parameters (class loop *loop, tree chrec)
>
> /* Returns the loop of the polynomial chrec CHREC. */
>
> -static inline class loop *
> +inline class loop *
> get_chrec_loop (const_tree chrec)
> {
> return get_loop (cfun, CHREC_VARIABLE (chrec));
> diff --git a/gcc/tree-sra.h b/gcc/tree-sra.h
> index e817d0cdd6d..f20266c4622 100644
> --- a/gcc/tree-sra.h
> +++ b/gcc/tree-sra.h
> @@ -24,7 +24,7 @@ bool type_internals_preclude_sra_p (tree type, const char **msg);
> /* Return true iff TYPE is stdarg va_list type (which early SRA and IPA-SRA
> should leave alone). */
>
> -static inline bool
> +inline bool
> is_va_list_type (tree type)
> {
> return TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (va_list_type_node);
> diff --git a/gcc/tree-ssa-alias.h b/gcc/tree-ssa-alias.h
> index ac676422e41..dce27323247 100644
> --- a/gcc/tree-ssa-alias.h
> +++ b/gcc/tree-ssa-alias.h
> @@ -186,7 +186,7 @@ extern GTY(()) struct pt_solution ipa_escaped_pt;
> overlap. SIZE1 and/or SIZE2 can be (unsigned)-1 in which case the
> range is open-ended. Otherwise return false. */
>
> -static inline bool
> +inline bool
> ranges_overlap_p (HOST_WIDE_INT pos1,
> unsigned HOST_WIDE_INT size1,
> HOST_WIDE_INT pos2,
> diff --git a/gcc/tree-ssa-live.h b/gcc/tree-ssa-live.h
> index 33d35496df6..de665d6bad0 100644
> --- a/gcc/tree-ssa-live.h
> +++ b/gcc/tree-ssa-live.h
> @@ -109,7 +109,7 @@ region_contains_p (var_map map, basic_block bb)
>
> /* Return number of partitions in MAP. */
>
> -static inline unsigned
> +inline unsigned
> num_var_partitions (var_map map)
> {
> return map->num_partitions;
> @@ -119,7 +119,7 @@ num_var_partitions (var_map map)
> /* Given partition index I from MAP, return the variable which represents that
> partition. */
>
> -static inline tree
> +inline tree
> partition_to_var (var_map map, int i)
> {
> tree name;
> @@ -134,7 +134,7 @@ partition_to_var (var_map map, int i)
> /* Given ssa_name VERSION, if it has a partition in MAP, return the var it
> is associated with. Otherwise return NULL. */
>
> -static inline tree
> +inline tree
> version_to_var (var_map map, int version)
> {
> int part;
> @@ -151,7 +151,7 @@ version_to_var (var_map map, int version)
> /* Given VAR, return the partition number in MAP which contains it.
> NO_PARTITION is returned if it's not in any partition. */
>
> -static inline int
> +inline int
> var_to_partition (var_map map, tree var)
> {
> int part;
> @@ -166,7 +166,7 @@ var_to_partition (var_map map, tree var)
> /* Given VAR, return the variable which represents the entire partition
> it is a member of in MAP. NULL is returned if it is not in a partition. */
>
> -static inline tree
> +inline tree
> var_to_partition_to_var (var_map map, tree var)
> {
> int part;
> @@ -180,7 +180,7 @@ var_to_partition_to_var (var_map map, tree var)
>
> /* Return the index into the basevar table for PARTITION's base in MAP. */
>
> -static inline int
> +inline int
> basevar_index (var_map map, int partition)
> {
> gcc_checking_assert (partition >= 0
> @@ -191,7 +191,7 @@ basevar_index (var_map map, int partition)
>
> /* Return the number of different base variables in MAP. */
>
> -static inline int
> +inline int
> num_basevars (var_map map)
> {
> return map->num_basevars;
> @@ -274,7 +274,7 @@ extern void destroy_live_vars (vec<bitmap_head> &);
>
> /* Return TRUE if P is marked as a global in LIVE. */
>
> -static inline int
> +inline int
> partition_is_global (tree_live_info_p live, int p)
> {
> gcc_checking_assert (live->global);
> @@ -285,7 +285,7 @@ partition_is_global (tree_live_info_p live, int p)
> /* Return the bitmap from LIVE representing the live on entry blocks for
> partition P. */
>
> -static inline bitmap
> +inline bitmap
> live_on_entry (tree_live_info_p live, basic_block bb)
> {
> gcc_checking_assert (live->livein
> @@ -299,7 +299,7 @@ live_on_entry (tree_live_info_p live, basic_block bb)
> /* Return the bitmap from LIVE representing the live on exit partitions from
> block BB. */
>
> -static inline bitmap
> +inline bitmap
> live_on_exit (tree_live_info_p live, basic_block bb)
> {
> gcc_checking_assert (live->liveout
> @@ -312,7 +312,7 @@ live_on_exit (tree_live_info_p live, basic_block bb)
>
> /* Return the partition map which the information in LIVE utilizes. */
>
> -static inline var_map
> +inline var_map
> live_var_map (tree_live_info_p live)
> {
> return live->map;
> @@ -321,7 +321,7 @@ live_var_map (tree_live_info_p live)
>
> /* Mark partition P as live on entry to basic block BB in LIVE. */
>
> -static inline void
> +inline void
> make_live_on_entry (tree_live_info_p live, basic_block bb , int p)
> {
> bitmap_set_bit (&live->livein[bb->index], p);
> diff --git a/gcc/tree-ssa-loop-manip.h b/gcc/tree-ssa-loop-manip.h
> index f0b1ed00f9a..d49273a3987 100644
> --- a/gcc/tree-ssa-loop-manip.h
> +++ b/gcc/tree-ssa-loop-manip.h
> @@ -27,7 +27,7 @@ extern void create_iv (tree, tree, tree, class loop *, gimple_stmt_iterator *,
> extern void rewrite_into_loop_closed_ssa (bitmap, unsigned);
> extern void verify_loop_closed_ssa (bool, class loop * = NULL);
>
> -static inline void
> +inline void
> checking_verify_loop_closed_ssa (bool verify_ssa_p, class loop *loop = NULL)
> {
> if (flag_checking)
> diff --git a/gcc/tree-ssa-loop.h b/gcc/tree-ssa-loop.h
> index d42ccd455f0..3fd4cd45466 100644
> --- a/gcc/tree-ssa-loop.h
> +++ b/gcc/tree-ssa-loop.h
> @@ -71,7 +71,7 @@ extern unsigned tree_num_loop_insns (class loop *, struct eni_weights *);
>
> /* Returns the loop of the statement STMT. */
>
> -static inline class loop *
> +inline class loop *
> loop_containing_stmt (gimple *stmt)
> {
> basic_block bb = gimple_bb (stmt);
> diff --git a/gcc/tree-ssa-operands.h b/gcc/tree-ssa-operands.h
> index 946cd95f125..ae36bcdb893 100644
> --- a/gcc/tree-ssa-operands.h
> +++ b/gcc/tree-ssa-operands.h
> @@ -106,14 +106,14 @@ extern void debug_immediate_uses_for (tree var);
> extern void unlink_stmt_vdef (gimple *);
>
> /* Return the tree pointed-to by USE. */
> -static inline tree
> +inline tree
> get_use_from_ptr (use_operand_p use)
> {
> return *(use->use);
> }
>
> /* Return the tree pointed-to by DEF. */
> -static inline tree
> +inline tree
> get_def_from_ptr (def_operand_p def)
> {
> return *def;
> diff --git a/gcc/tree-ssa-propagate.h b/gcc/tree-ssa-propagate.h
> index c9921e56971..be4cb457873 100644
> --- a/gcc/tree-ssa-propagate.h
> +++ b/gcc/tree-ssa-propagate.h
> @@ -26,7 +26,7 @@ along with GCC; see the file COPYING3. If not see
>
> /* If SIM_P is true, statement S will be simulated again. */
>
> -static inline void
> +inline void
> prop_set_simulate_again (gimple *s, bool visit_p)
> {
> gimple_set_visited (s, visit_p);
> @@ -34,7 +34,7 @@ prop_set_simulate_again (gimple *s, bool visit_p)
>
> /* Return true if statement T should be simulated again. */
>
> -static inline bool
> +inline bool
> prop_simulate_again_p (gimple *s)
> {
> return gimple_visited_p (s);
> diff --git a/gcc/tree-ssa-sccvn.h b/gcc/tree-ssa-sccvn.h
> index a6f5973a368..675240ebb9d 100644
> --- a/gcc/tree-ssa-sccvn.h
> +++ b/gcc/tree-ssa-sccvn.h
> @@ -68,7 +68,7 @@ typedef const struct vn_nary_op_s *const_vn_nary_op_t;
>
> /* Return the size of a vn_nary_op_t with LENGTH operands. */
>
> -static inline size_t
> +inline size_t
> sizeof_vn_nary_op (unsigned int length)
> {
> return sizeof (struct vn_nary_op_s) + sizeof (tree) * length - sizeof (tree);
> @@ -166,7 +166,7 @@ enum vn_kind vn_get_stmt_kind (gimple *);
> /* Hash the type TYPE using bits that distinguishes it in the
> types_compatible_p sense. */
>
> -static inline hashval_t
> +inline hashval_t
> vn_hash_type (tree type)
> {
> return (INTEGRAL_TYPE_P (type)
> @@ -177,7 +177,7 @@ vn_hash_type (tree type)
> /* Hash the constant CONSTANT with distinguishing type incompatible
> constants in the types_compatible_p sense. */
>
> -static inline hashval_t
> +inline hashval_t
> vn_hash_constant_with_type (tree constant)
> {
> inchash::hash hstate;
> @@ -189,7 +189,7 @@ vn_hash_constant_with_type (tree constant)
> /* Compare the constants C1 and C2 with distinguishing type incompatible
> constants in the types_compatible_p sense. */
>
> -static inline bool
> +inline bool
> vn_constant_eq_with_type (tree c1, tree c2)
> {
> return (expressions_equal_p (c1, c2)
> @@ -286,7 +286,7 @@ unsigned int get_constant_value_id (tree);
> unsigned int get_or_alloc_constant_value_id (tree);
>
> /* Return true if V is a value id for a constant. */
> -static inline bool
> +inline bool
> value_id_constant_p (unsigned int v)
> {
> return (int)v < 0;
> diff --git a/gcc/tree-ssa.h b/gcc/tree-ssa.h
> index 2153cefd226..fa8c8082311 100644
> --- a/gcc/tree-ssa.h
> +++ b/gcc/tree-ssa.h
> @@ -63,7 +63,7 @@ extern void mark_ssa_maybe_undefs (void);
> /* Return TRUE iff VAR is marked as maybe-undefined. See
> mark_ssa_maybe_undefs. */
>
> -static inline bool
> +inline bool
> ssa_name_maybe_undef_p (tree var)
> {
> gcc_checking_assert (TREE_CODE (var) == SSA_NAME);
> @@ -72,7 +72,7 @@ ssa_name_maybe_undef_p (tree var)
>
> /* Set (or clear, depending on VALUE) VAR's maybe-undefined mark. */
>
> -static inline void
> +inline void
> ssa_name_set_maybe_undef (tree var, bool value = true)
> {
> gcc_checking_assert (TREE_CODE (var) == SSA_NAME);
> @@ -84,7 +84,7 @@ extern void execute_update_addresses_taken (void);
>
> /* Given an edge_var_map V, return the PHI arg definition. */
>
> -static inline tree
> +inline tree
> redirect_edge_var_map_def (edge_var_map *v)
> {
> return v->def;
> @@ -92,7 +92,7 @@ redirect_edge_var_map_def (edge_var_map *v)
>
> /* Given an edge_var_map V, return the PHI result. */
>
> -static inline tree
> +inline tree
> redirect_edge_var_map_result (edge_var_map *v)
> {
> return v->result;
> @@ -100,7 +100,7 @@ redirect_edge_var_map_result (edge_var_map *v)
>
> /* Given an edge_var_map V, return the PHI arg location. */
>
> -static inline location_t
> +inline location_t
> redirect_edge_var_map_location (edge_var_map *v)
> {
> return v->locus;
> @@ -108,7 +108,7 @@ redirect_edge_var_map_location (edge_var_map *v)
>
> /* Verify SSA invariants, if internal consistency checks are enabled. */
>
> -static inline void
> +inline void
> checking_verify_ssa (bool check_modified_stmt, bool check_ssa_operands)
> {
> if (flag_checking)
> diff --git a/gcc/tree-ssanames.h b/gcc/tree-ssanames.h
> index b45b37b43e7..b09e71bf779 100644
> --- a/gcc/tree-ssanames.h
> +++ b/gcc/tree-ssanames.h
> @@ -91,7 +91,7 @@ extern void flush_ssaname_freelist (void);
> /* Return an SSA_NAME node for variable VAR defined in statement STMT
> in function cfun. */
>
> -static inline tree
> +inline tree
> make_ssa_name (tree var, gimple *stmt = NULL)
> {
> return make_ssa_name_fn (cfun, var, stmt);
> @@ -100,7 +100,7 @@ make_ssa_name (tree var, gimple *stmt = NULL)
> /* Return an SSA_NAME node using the template SSA name NAME defined in
> statement STMT in function cfun. */
>
> -static inline tree
> +inline tree
> copy_ssa_name (tree var, gimple *stmt = NULL)
> {
> return copy_ssa_name_fn (cfun, var, stmt);
> @@ -109,7 +109,7 @@ copy_ssa_name (tree var, gimple *stmt = NULL)
> /* Creates a duplicate of a SSA name NAME tobe defined by statement STMT
> in function cfun. */
>
> -static inline tree
> +inline tree
> duplicate_ssa_name (tree var, gimple *stmt)
> {
> return duplicate_ssa_name_fn (cfun, var, stmt);
> @@ -117,7 +117,7 @@ duplicate_ssa_name (tree var, gimple *stmt)
>
> /* Release the SSA name NAME used in function cfun. */
>
> -static inline void
> +inline void
> release_ssa_name (tree name)
> {
> release_ssa_name_fn (cfun, name);
> @@ -126,7 +126,7 @@ release_ssa_name (tree name)
> /* Return an anonymous SSA_NAME node for type TYPE defined in statement STMT
> in function cfun. Arrange so that it uses NAME in dumps. */
>
> -static inline tree
> +inline tree
> make_temp_ssa_name (tree type, gimple *stmt, const char *name)
> {
> tree ssa_name;
> diff --git a/gcc/tree-streamer.h b/gcc/tree-streamer.h
> index acca901d660..170d61cf20b 100644
> --- a/gcc/tree-streamer.h
> +++ b/gcc/tree-streamer.h
> @@ -90,7 +90,7 @@ void streamer_tree_cache_delete (struct streamer_tree_cache_d *);
>
> /* Return the tree node at slot IX in CACHE. */
>
> -static inline tree
> +inline tree
> streamer_tree_cache_get_tree (struct streamer_tree_cache_d *cache, unsigned ix)
> {
> return cache->nodes[ix];
> @@ -98,20 +98,20 @@ streamer_tree_cache_get_tree (struct streamer_tree_cache_d *cache, unsigned ix)
>
> /* Return the tree hash value at slot IX in CACHE. */
>
> -static inline hashval_t
> +inline hashval_t
> streamer_tree_cache_get_hash (struct streamer_tree_cache_d *cache, unsigned ix)
> {
> return cache->hashes[ix];
> }
>
> -static inline void
> +inline void
> bp_pack_machine_mode (struct bitpack_d *bp, machine_mode mode)
> {
> streamer_mode_table[mode] = 1;
> bp_pack_enum (bp, machine_mode, 1 << 8, mode);
> }
>
> -static inline machine_mode
> +inline machine_mode
> bp_unpack_machine_mode (struct bitpack_d *bp)
> {
> return (machine_mode)
> diff --git a/gcc/tree-switch-conversion.h b/gcc/tree-switch-conversion.h
> index 07b11a998a5..4e97164e0ef 100644
> --- a/gcc/tree-switch-conversion.h
> +++ b/gcc/tree-switch-conversion.h
> @@ -914,7 +914,7 @@ switch_decision_tree::reset_out_edges_aux (gswitch *swtch)
>
> /* Release CLUSTERS vector and destruct all dynamically allocated items. */
>
> -static inline void
> +inline void
> release_clusters (vec<cluster *> &clusters)
> {
> for (unsigned i = 0; i < clusters.length (); i++)
> diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
> index a2aa71bedc0..87851080758 100644
> --- a/gcc/tree-vectorizer.h
> +++ b/gcc/tree-vectorizer.h
> @@ -969,7 +969,7 @@ public:
> stack. */
> typedef opt_pointer_wrapper <loop_vec_info> opt_loop_vec_info;
>
> -static inline loop_vec_info
> +inline loop_vec_info
> loop_vec_info_for_loop (class loop *loop)
> {
> return (loop_vec_info) loop->aux;
> @@ -1641,7 +1641,7 @@ vector_costs::suggested_unroll_factor () const
> && TYPE_PRECISION (TYPE) == 1 \
> && TYPE_UNSIGNED (TYPE)))
>
> -static inline bool
> +inline bool
> nested_in_vect_loop_p (class loop *loop, stmt_vec_info stmt_info)
> {
> return (loop->inner
> @@ -1652,7 +1652,7 @@ nested_in_vect_loop_p (class loop *loop, stmt_vec_info stmt_info)
> Return the initial value of the variable on entry to the containing
> loop. */
>
> -static inline tree
> +inline tree
> vect_phi_initial_value (gphi *phi)
> {
> basic_block bb = gimple_bb (phi);
> @@ -1664,7 +1664,7 @@ vect_phi_initial_value (gphi *phi)
> /* Return true if STMT_INFO should produce a vector mask type rather than
> a normal nonmask type. */
>
> -static inline bool
> +inline bool
> vect_use_mask_type_p (stmt_vec_info stmt_info)
> {
> return stmt_info->mask_precision && stmt_info->mask_precision != ~0U;
> @@ -1673,7 +1673,7 @@ vect_use_mask_type_p (stmt_vec_info stmt_info)
> /* Return TRUE if a statement represented by STMT_INFO is a part of a
> pattern. */
>
> -static inline bool
> +inline bool
> is_pattern_stmt_p (stmt_vec_info stmt_info)
> {
> return stmt_info->pattern_stmt_p;
> @@ -1692,7 +1692,7 @@ vect_orig_stmt (stmt_vec_info stmt_info)
>
> /* Return the later statement between STMT1_INFO and STMT2_INFO. */
>
> -static inline stmt_vec_info
> +inline stmt_vec_info
> get_later_stmt (stmt_vec_info stmt1_info, stmt_vec_info stmt2_info)
> {
> if (gimple_uid (vect_orig_stmt (stmt1_info)->stmt)
> @@ -1715,7 +1715,7 @@ vect_stmt_to_vectorize (stmt_vec_info stmt_info)
>
> /* Return true if BB is a loop header. */
>
> -static inline bool
> +inline bool
> is_loop_header_bb_p (basic_block bb)
> {
> if (bb == (bb->loop_father)->header)
> @@ -1726,7 +1726,7 @@ is_loop_header_bb_p (basic_block bb)
>
> /* Return pow2 (X). */
>
> -static inline int
> +inline int
> vect_pow2 (int x)
> {
> int i, res = 1;
> @@ -1739,7 +1739,7 @@ vect_pow2 (int x)
>
> /* Alias targetm.vectorize.builtin_vectorization_cost. */
>
> -static inline int
> +inline int
> builtin_vectorization_cost (enum vect_cost_for_stmt type_of_cost,
> tree vectype, int misalign)
> {
> @@ -1749,7 +1749,7 @@ builtin_vectorization_cost (enum vect_cost_for_stmt type_of_cost,
>
> /* Get cost by calling cost target builtin. */
>
> -static inline
> +inline
> int vect_get_stmt_cost (enum vect_cost_for_stmt type_of_cost)
> {
> return builtin_vectorization_cost (type_of_cost, NULL, 0);
> @@ -1757,7 +1757,7 @@ int vect_get_stmt_cost (enum vect_cost_for_stmt type_of_cost)
>
> /* Alias targetm.vectorize.init_cost. */
>
> -static inline vector_costs *
> +inline vector_costs *
> init_cost (vec_info *vinfo, bool costing_for_scalar)
> {
> return targetm.vectorize.create_costs (vinfo, costing_for_scalar);
> @@ -1769,7 +1769,7 @@ extern void dump_stmt_cost (FILE *, int, enum vect_cost_for_stmt,
>
> /* Alias targetm.vectorize.add_stmt_cost. */
>
> -static inline unsigned
> +inline unsigned
> add_stmt_cost (vector_costs *costs, int count,
> enum vect_cost_for_stmt kind,
> stmt_vec_info stmt_info, slp_tree node,
> @@ -1784,7 +1784,7 @@ add_stmt_cost (vector_costs *costs, int count,
> return cost;
> }
>
> -static inline unsigned
> +inline unsigned
> add_stmt_cost (vector_costs *costs, int count, enum vect_cost_for_stmt kind,
> enum vect_cost_model_location where)
> {
> @@ -1795,7 +1795,7 @@ add_stmt_cost (vector_costs *costs, int count, enum vect_cost_for_stmt kind,
>
> /* Alias targetm.vectorize.add_stmt_cost. */
>
> -static inline unsigned
> +inline unsigned
> add_stmt_cost (vector_costs *costs, stmt_info_for_cost *i)
> {
> return add_stmt_cost (costs, i->count, i->kind, i->stmt_info, i->node,
> @@ -1804,7 +1804,7 @@ add_stmt_cost (vector_costs *costs, stmt_info_for_cost *i)
>
> /* Alias targetm.vectorize.finish_cost. */
>
> -static inline void
> +inline void
> finish_cost (vector_costs *costs, const vector_costs *scalar_costs,
> unsigned *prologue_cost, unsigned *body_cost,
> unsigned *epilogue_cost, unsigned *suggested_unroll_factor = NULL)
> @@ -1845,7 +1845,7 @@ extern int dr_misalignment (dr_vec_info *dr_info, tree vectype,
> #define SET_DR_MISALIGNMENT(DR, VAL) set_dr_misalignment (DR, VAL)
>
> /* Only defined once DR_MISALIGNMENT is defined. */
> -static inline const poly_uint64
> +inline const poly_uint64
> dr_target_alignment (dr_vec_info *dr_info)
> {
> if (STMT_VINFO_GROUPED_ACCESS (dr_info->stmt))
> @@ -1854,7 +1854,7 @@ dr_target_alignment (dr_vec_info *dr_info)
> }
> #define DR_TARGET_ALIGNMENT(DR) dr_target_alignment (DR)
>
> -static inline void
> +inline void
> set_dr_target_alignment (dr_vec_info *dr_info, poly_uint64 val)
> {
> dr_info->target_alignment = val;
> @@ -1864,7 +1864,7 @@ set_dr_target_alignment (dr_vec_info *dr_info, poly_uint64 val)
> /* Return true if data access DR_INFO is aligned to the targets
> preferred alignment for VECTYPE (which may be less than a full vector). */
>
> -static inline bool
> +inline bool
> aligned_access_p (dr_vec_info *dr_info, tree vectype)
> {
> return (dr_misalignment (dr_info, vectype) == 0);
> @@ -1874,7 +1874,7 @@ aligned_access_p (dr_vec_info *dr_info, tree vectype)
> respect to the targets preferred alignment for VECTYPE, and FALSE
> otherwise. */
>
> -static inline bool
> +inline bool
> known_alignment_for_access_p (dr_vec_info *dr_info, tree vectype)
> {
> return (dr_misalignment (dr_info, vectype) != DR_MISALIGNMENT_UNKNOWN);
> @@ -1883,7 +1883,7 @@ known_alignment_for_access_p (dr_vec_info *dr_info, tree vectype)
> /* Return the minimum alignment in bytes that the vectorized version
> of DR_INFO is guaranteed to have. */
>
> -static inline unsigned int
> +inline unsigned int
> vect_known_alignment_in_bytes (dr_vec_info *dr_info, tree vectype)
> {
> int misalignment = dr_misalignment (dr_info, vectype);
> @@ -1898,7 +1898,7 @@ vect_known_alignment_in_bytes (dr_vec_info *dr_info, tree vectype)
> (which for outer loop vectorization might not be the behavior recorded
> in DR_INFO itself). */
>
> -static inline innermost_loop_behavior *
> +inline innermost_loop_behavior *
> vect_dr_behavior (vec_info *vinfo, dr_vec_info *dr_info)
> {
> stmt_vec_info stmt_info = dr_info->stmt;
> @@ -1936,7 +1936,7 @@ get_dr_vinfo_offset (vec_info *vinfo,
>
>
> /* Return the vect cost model for LOOP. */
> -static inline enum vect_cost_model
> +inline enum vect_cost_model
> loop_cost_model (loop_p loop)
> {
> if (loop != NULL
> @@ -1947,7 +1947,7 @@ loop_cost_model (loop_p loop)
> }
>
> /* Return true if the vect cost model is unlimited. */
> -static inline bool
> +inline bool
> unlimited_cost_model (loop_p loop)
> {
> return loop_cost_model (loop) == VECT_COST_MODEL_UNLIMITED;
> @@ -1957,7 +1957,7 @@ unlimited_cost_model (loop_p loop)
> if the first iteration should use a partial mask in order to achieve
> alignment. */
>
> -static inline bool
> +inline bool
> vect_use_loop_mask_for_alignment_p (loop_vec_info loop_vinfo)
> {
> return (LOOP_VINFO_FULLY_MASKED_P (loop_vinfo)
> @@ -1968,7 +1968,7 @@ vect_use_loop_mask_for_alignment_p (loop_vec_info loop_vinfo)
> NUNITS elements. NUNITS should be based on the vectorization factor,
> so it is always a known multiple of the number of elements in VECTYPE. */
>
> -static inline unsigned int
> +inline unsigned int
> vect_get_num_vectors (poly_uint64 nunits, tree vectype)
> {
> return exact_div (nunits, TYPE_VECTOR_SUBPARTS (vectype)).to_constant ();
> @@ -1979,7 +1979,7 @@ vect_get_num_vectors (poly_uint64 nunits, tree vectype)
> vectorization factor divided by the number of elements in
> VECTYPE and is always known at compile time. */
>
> -static inline unsigned int
> +inline unsigned int
> vect_get_num_copies (loop_vec_info loop_vinfo, tree vectype)
> {
> return vect_get_num_vectors (LOOP_VINFO_VECT_FACTOR (loop_vinfo), vectype);
> @@ -1988,7 +1988,7 @@ vect_get_num_copies (loop_vec_info loop_vinfo, tree vectype)
> /* Update maximum unit count *MAX_NUNITS so that it accounts for
> NUNITS. *MAX_NUNITS can be 1 if we haven't yet recorded anything. */
>
> -static inline void
> +inline void
> vect_update_max_nunits (poly_uint64 *max_nunits, poly_uint64 nunits)
> {
> /* All unit counts have the form vec_info::vector_size * X for some
> @@ -2001,7 +2001,7 @@ vect_update_max_nunits (poly_uint64 *max_nunits, poly_uint64 nunits)
> the number of units in vector type VECTYPE. *MAX_NUNITS can be 1
> if we haven't yet recorded any vector types. */
>
> -static inline void
> +inline void
> vect_update_max_nunits (poly_uint64 *max_nunits, tree vectype)
> {
> vect_update_max_nunits (max_nunits, TYPE_VECTOR_SUBPARTS (vectype));
> @@ -2012,7 +2012,7 @@ vect_update_max_nunits (poly_uint64 *max_nunits, tree vectype)
> Pick a reasonable estimate if the vectorization factor isn't
> known at compile time. */
>
> -static inline unsigned int
> +inline unsigned int
> vect_vf_for_cost (loop_vec_info loop_vinfo)
> {
> return estimated_poly_value (LOOP_VINFO_VECT_FACTOR (loop_vinfo));
> @@ -2022,7 +2022,7 @@ vect_vf_for_cost (loop_vec_info loop_vinfo)
> Pick a reasonable estimate if the exact number isn't known at
> compile time. */
>
> -static inline unsigned int
> +inline unsigned int
> vect_nunits_for_cost (tree vec_type)
> {
> return estimated_poly_value (TYPE_VECTOR_SUBPARTS (vec_type));
> @@ -2030,7 +2030,7 @@ vect_nunits_for_cost (tree vec_type)
>
> /* Return the maximum possible vectorization factor for LOOP_VINFO. */
>
> -static inline unsigned HOST_WIDE_INT
> +inline unsigned HOST_WIDE_INT
> vect_max_vf (loop_vec_info loop_vinfo)
> {
> unsigned HOST_WIDE_INT vf;
> @@ -2160,7 +2160,7 @@ extern unsigned record_stmt_cost (stmt_vector_for_cost *, int,
>
> /* Overload of record_stmt_cost with VECTYPE derived from STMT_INFO. */
>
> -static inline unsigned
> +inline unsigned
> record_stmt_cost (stmt_vector_for_cost *body_cost_vec, int count,
> enum vect_cost_for_stmt kind, stmt_vec_info stmt_info,
> int misalign, enum vect_cost_model_location where)
> diff --git a/gcc/tree.h b/gcc/tree.h
> index c656cd5b7bf..92ac0e6a214 100644
> --- a/gcc/tree.h
> +++ b/gcc/tree.h
> @@ -1280,7 +1280,7 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int,
> location. */
> #define CAN_HAVE_LOCATION_P(NODE) ((NODE) && EXPR_P (NODE))
>
> -static inline source_range
> +inline source_range
> get_expr_source_range (tree expr)
> {
> location_t loc = EXPR_LOCATION (expr);
> @@ -3263,7 +3263,7 @@ extern void decl_fini_priority_insert (tree, priority_type);
> /* Set decl_type of a DECL. Set it to T when SET is true, or reset
> it to NONE. */
>
> -static inline void
> +inline void
> set_function_decl_type (tree decl, function_decl_type t, bool set)
> {
> if (set)
> @@ -4009,7 +4009,7 @@ any_integral_type_check (const_tree __t, const char *__f, int __l,
> /* Compute the number of operands in an expression node NODE. For
> tcc_vl_exp nodes like CALL_EXPRs, this is stored in the node itself,
> otherwise it is looked up from the node's code. */
> -static inline int
> +inline int
> tree_operand_length (const_tree node)
> {
> if (VL_EXP_CLASS_P (node))
> @@ -4139,7 +4139,7 @@ SET_TYPE_VECTOR_SUBPARTS (tree node, poly_uint64 subparts)
> /* Return true if we can construct vector types with the given number
> of subparts. */
>
> -static inline bool
> +inline bool
> valid_vector_subparts_p (poly_uint64 subparts)
> {
> unsigned HOST_WIDE_INT coeff0 = subparts.coeffs[0];
> @@ -4587,7 +4587,7 @@ extern tree build5 (enum tree_code, tree, tree, tree, tree, tree,
>
> /* _loc versions of build[1-5]. */
>
> -static inline tree
> +inline tree
> build1_loc (location_t loc, enum tree_code code, tree type,
> tree arg1 CXX_MEM_STAT_INFO)
> {
> @@ -4597,7 +4597,7 @@ build1_loc (location_t loc, enum tree_code code, tree type,
> return t;
> }
>
> -static inline tree
> +inline tree
> build2_loc (location_t loc, enum tree_code code, tree type, tree arg0,
> tree arg1 CXX_MEM_STAT_INFO)
> {
> @@ -4607,7 +4607,7 @@ build2_loc (location_t loc, enum tree_code code, tree type, tree arg0,
> return t;
> }
>
> -static inline tree
> +inline tree
> build3_loc (location_t loc, enum tree_code code, tree type, tree arg0,
> tree arg1, tree arg2 CXX_MEM_STAT_INFO)
> {
> @@ -4617,7 +4617,7 @@ build3_loc (location_t loc, enum tree_code code, tree type, tree arg0,
> return t;
> }
>
> -static inline tree
> +inline tree
> build4_loc (location_t loc, enum tree_code code, tree type, tree arg0,
> tree arg1, tree arg2, tree arg3 CXX_MEM_STAT_INFO)
> {
> @@ -4627,7 +4627,7 @@ build4_loc (location_t loc, enum tree_code code, tree type, tree arg0,
> return t;
> }
>
> -static inline tree
> +inline tree
> build5_loc (location_t loc, enum tree_code code, tree type, tree arg0,
> tree arg1, tree arg2, tree arg3, tree arg4 CXX_MEM_STAT_INFO)
> {
> @@ -5174,7 +5174,7 @@ extern tree get_narrower (tree, int *);
>
> /* Return true if T is an expression that get_inner_reference handles. */
>
> -static inline bool
> +inline bool
> handled_component_p (const_tree t)
> {
> switch (TREE_CODE (t))
> @@ -5195,7 +5195,7 @@ handled_component_p (const_tree t)
>
> /* Return true T is a component with reverse storage order. */
>
> -static inline bool
> +inline bool
> reverse_storage_order_for_component_p (tree t)
> {
> /* The storage order only applies to scalar components. */
> @@ -5233,7 +5233,7 @@ reverse_storage_order_for_component_p (tree t)
> outer type, a VIEW_CONVERT_EXPR can modify the storage order because
> it can change the partition of the aggregate object into scalars. */
>
> -static inline bool
> +inline bool
> storage_order_barrier_p (const_tree t)
> {
> if (TREE_CODE (t) != VIEW_CONVERT_EXPR)
> @@ -5274,7 +5274,7 @@ extern bool real_zerop (const_tree);
>
> /* Initialize the iterator I with arguments from function FNDECL */
>
> -static inline void
> +inline void
> function_args_iter_init (function_args_iterator *i, const_tree fntype)
> {
> i->next = TYPE_ARG_TYPES (fntype);
> @@ -5283,7 +5283,7 @@ function_args_iter_init (function_args_iterator *i, const_tree fntype)
> /* Return a pointer that holds the next argument if there are more arguments to
> handle, otherwise return NULL. */
>
> -static inline tree *
> +inline tree *
> function_args_iter_cond_ptr (function_args_iterator *i)
> {
> return (i->next) ? &TREE_VALUE (i->next) : NULL;
> @@ -5292,14 +5292,14 @@ function_args_iter_cond_ptr (function_args_iterator *i)
> /* Return the next argument if there are more arguments to handle, otherwise
> return NULL. */
>
> -static inline tree
> +inline tree
> function_args_iter_cond (function_args_iterator *i)
> {
> return (i->next) ? TREE_VALUE (i->next) : NULL_TREE;
> }
>
> /* Advance to the next argument. */
> -static inline void
> +inline void
> function_args_iter_next (function_args_iterator *i)
> {
> gcc_assert (i->next != NULL_TREE);
> @@ -5311,7 +5311,7 @@ function_args_iter_next (function_args_iterator *i)
> so the function returns true for all but the innermost and outermost
> blocks into which an expression has been inlined. */
>
> -static inline bool
> +inline bool
> inlined_function_outer_scope_p (const_tree block)
> {
> return LOCATION_LOCUS (BLOCK_SOURCE_LOCATION (block)) != UNKNOWN_LOCATION;
> @@ -5385,7 +5385,7 @@ extern const char *combined_fn_name (combined_fn);
> pointer. Assumes all pointers are interchangeable, which is sort
> of already assumed by gcc elsewhere IIRC. */
>
> -static inline int
> +inline int
> struct_ptr_eq (const void *a, const void *b)
> {
> const void * const * x = (const void * const *) a;
> @@ -5393,7 +5393,7 @@ struct_ptr_eq (const void *a, const void *b)
> return *x == *y;
> }
>
> -static inline hashval_t
> +inline hashval_t
> struct_ptr_hash (const void *a)
> {
> const void * const * x = (const void * const *) a;
> @@ -5401,7 +5401,7 @@ struct_ptr_hash (const void *a)
> }
>
> /* Return nonzero if CODE is a tree code that represents a truth value. */
> -static inline bool
> +inline bool
> truth_value_p (enum tree_code code)
> {
> return (TREE_CODE_CLASS (code) == tcc_comparison
> @@ -5412,7 +5412,7 @@ truth_value_p (enum tree_code code)
>
> /* Return whether TYPE is a type suitable for an offset for
> a POINTER_PLUS_EXPR. */
> -static inline bool
> +inline bool
> ptrofftype_p (tree type)
> {
> return (INTEGRAL_TYPE_P (type)
> @@ -5423,7 +5423,7 @@ ptrofftype_p (tree type)
> /* Return true if the argument is a complete type or an array
> of unknown bound (whose type is incomplete but) whose elements
> have complete type. */
> -static inline bool
> +inline bool
> complete_or_array_type_p (const_tree type)
> {
> return COMPLETE_TYPE_P (type)
> @@ -5482,7 +5482,7 @@ extern void add_expr (const_tree, hash &, unsigned int = 0);
>
> /* Compat version until all callers are converted. Return hash for
> TREE with SEED. */
> -static inline hashval_t iterative_hash_expr(const_tree tree, hashval_t seed)
> +inline hashval_t iterative_hash_expr(const_tree tree, hashval_t seed)
> {
> inchash::hash hstate (seed);
> inchash::add_expr (tree, hstate);
> @@ -5776,7 +5776,7 @@ typedef hash_map<tree,tree,decl_tree_traits> decl_tree_map;
>
> /* Initialize the abstract argument list iterator object ITER with the
> arguments from CALL_EXPR node EXP. */
> -static inline void
> +inline void
> init_call_expr_arg_iterator (tree exp, call_expr_arg_iterator *iter)
> {
> iter->t = exp;
> @@ -5784,7 +5784,7 @@ init_call_expr_arg_iterator (tree exp, call_expr_arg_iterator *iter)
> iter->i = 0;
> }
>
> -static inline void
> +inline void
> init_const_call_expr_arg_iterator (const_tree exp, const_call_expr_arg_iterator *iter)
> {
> iter->t = exp;
> @@ -5794,7 +5794,7 @@ init_const_call_expr_arg_iterator (const_tree exp, const_call_expr_arg_iterator
>
> /* Return the next argument from abstract argument list iterator object ITER,
> and advance its state. Return NULL_TREE if there are no more arguments. */
> -static inline tree
> +inline tree
> next_call_expr_arg (call_expr_arg_iterator *iter)
> {
> tree result;
> @@ -5805,7 +5805,7 @@ next_call_expr_arg (call_expr_arg_iterator *iter)
> return result;
> }
>
> -static inline const_tree
> +inline const_tree
> next_const_call_expr_arg (const_call_expr_arg_iterator *iter)
> {
> const_tree result;
> @@ -5820,14 +5820,14 @@ next_const_call_expr_arg (const_call_expr_arg_iterator *iter)
> past and return the first argument. Useful in for expressions, e.g.
> for (arg = first_call_expr_arg (exp, &iter); arg;
> arg = next_call_expr_arg (&iter)) */
> -static inline tree
> +inline tree
> first_call_expr_arg (tree exp, call_expr_arg_iterator *iter)
> {
> init_call_expr_arg_iterator (exp, iter);
> return next_call_expr_arg (iter);
> }
>
> -static inline const_tree
> +inline const_tree
> first_const_call_expr_arg (const_tree exp, const_call_expr_arg_iterator *iter)
> {
> init_const_call_expr_arg_iterator (exp, iter);
> @@ -5836,7 +5836,7 @@ first_const_call_expr_arg (const_tree exp, const_call_expr_arg_iterator *iter)
>
> /* Test whether there are more arguments in abstract argument list iterator
> ITER, without changing its state. */
> -static inline bool
> +inline bool
> more_call_expr_args_p (const call_expr_arg_iterator *iter)
> {
> return (iter->i < iter->n);
> @@ -5853,7 +5853,7 @@ more_call_expr_args_p (const call_expr_arg_iterator *iter)
> (arg) = next_const_call_expr_arg (&(iter)))
>
> /* Return true if tree node T is a language-specific node. */
> -static inline bool
> +inline bool
> is_lang_specific (const_tree t)
> {
> return TREE_CODE (t) == LANG_TYPE || TREE_CODE (t) >= NUM_TREE_CODES;
> @@ -5871,7 +5871,7 @@ is_lang_specific (const_tree t)
> (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (builtin_decl_explicit (BUILTIN))))
>
> /* Return the tree node for an explicit standard builtin function or NULL. */
> -static inline tree
> +inline tree
> builtin_decl_explicit (enum built_in_function fncode)
> {
> gcc_checking_assert (BUILTIN_VALID_P (fncode));
> @@ -5880,7 +5880,7 @@ builtin_decl_explicit (enum built_in_function fncode)
> }
>
> /* Return the tree node for an implicit builtin function or NULL. */
> -static inline tree
> +inline tree
> builtin_decl_implicit (enum built_in_function fncode)
> {
> size_t uns_fncode = (size_t)fncode;
> @@ -5900,7 +5900,7 @@ extern tree build_builtin_unreachable (location_t);
> /* Set explicit builtin function nodes and whether it is an implicit
> function. */
>
> -static inline void
> +inline void
> set_builtin_decl (enum built_in_function fncode, tree decl, bool implicit_p)
> {
> size_t ufncode = (size_t)fncode;
> @@ -5915,7 +5915,7 @@ set_builtin_decl (enum built_in_function fncode, tree decl, bool implicit_p)
>
> /* Set the implicit flag for a builtin function. */
>
> -static inline void
> +inline void
> set_builtin_decl_implicit_p (enum built_in_function fncode, bool implicit_p)
> {
> size_t uns_fncode = (size_t)fncode;
> @@ -5928,7 +5928,7 @@ set_builtin_decl_implicit_p (enum built_in_function fncode, bool implicit_p)
>
> /* Set the declared flag for a builtin function. */
>
> -static inline void
> +inline void
> set_builtin_decl_declared_p (enum built_in_function fncode, bool declared_p)
> {
> size_t uns_fncode = (size_t)fncode;
> @@ -5942,7 +5942,7 @@ set_builtin_decl_declared_p (enum built_in_function fncode, bool declared_p)
> /* Return whether the standard builtin function can be used as an explicit
> function. */
>
> -static inline bool
> +inline bool
> builtin_decl_explicit_p (enum built_in_function fncode)
> {
> gcc_checking_assert (BUILTIN_VALID_P (fncode));
> @@ -5951,7 +5951,7 @@ builtin_decl_explicit_p (enum built_in_function fncode)
>
> /* Return whether the standard builtin function can be used implicitly. */
>
> -static inline bool
> +inline bool
> builtin_decl_implicit_p (enum built_in_function fncode)
> {
> size_t uns_fncode = (size_t)fncode;
> @@ -5963,7 +5963,7 @@ builtin_decl_implicit_p (enum built_in_function fncode)
>
> /* Return whether the standard builtin function was declared. */
>
> -static inline bool
> +inline bool
> builtin_decl_declared_p (enum built_in_function fncode)
> {
> size_t uns_fncode = (size_t)fncode;
> @@ -5983,7 +5983,7 @@ builtin_decl_declared_p (enum built_in_function fncode)
> Avoid using this, as it's generally better to use attributes rather
> than to check for functions by name. */
>
> -static inline bool
> +inline bool
> maybe_special_function_p (const_tree fndecl)
> {
> tree name_decl = DECL_NAME (fndecl);
> @@ -6001,7 +6001,7 @@ maybe_special_function_p (const_tree fndecl)
> /* Return true if T (assumed to be a DECL) is a global variable.
> A variable is considered global if its storage is not automatic. */
>
> -static inline bool
> +inline bool
> is_global_var (const_tree t)
> {
> return (TREE_STATIC (t) || DECL_EXTERNAL (t));
> @@ -6011,7 +6011,7 @@ is_global_var (const_tree t)
> maybe aliased if it has its address taken by the local TU
> or possibly by another TU and might be modified through a pointer. */
>
> -static inline bool
> +inline bool
> may_be_aliased (const_tree var)
> {
> return (TREE_CODE (var) != CONST_DECL
> @@ -6025,7 +6025,7 @@ may_be_aliased (const_tree var)
> }
>
> /* Return pointer to optimization flags of FNDECL. */
> -static inline struct cl_optimization *
> +inline struct cl_optimization *
> opts_for_fn (const_tree fndecl)
> {
> tree fn_opts = DECL_FUNCTION_SPECIFIC_OPTIMIZATION (fndecl);
> @@ -6035,7 +6035,7 @@ opts_for_fn (const_tree fndecl)
> }
>
> /* Return pointer to target flags of FNDECL. */
> -static inline cl_target_option *
> +inline cl_target_option *
> target_opts_for_fn (const_tree fndecl)
> {
> tree fn_opts = DECL_FUNCTION_SPECIFIC_TARGET (fndecl);
> diff --git a/gcc/wide-int.h b/gcc/wide-int.h
> index b3c19ec451c..a450a744c9f 100644
> --- a/gcc/wide-int.h
> +++ b/gcc/wide-int.h
> @@ -3495,7 +3495,7 @@ wi::set_bit_in_zero (unsigned int bit)
>
> /* Accumulate a set of overflows into OVERFLOW. */
>
> -static inline void
> +inline void
> wi::accumulate_overflow (wi::overflow_type &overflow,
> wi::overflow_type suboverflow)
> {
> --
> 2.39.1.367.g5cc9858f1b
>
next prev parent reply other threads:[~2023-01-31 7:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-31 3:37 Patrick Palka
2023-01-31 7:05 ` Richard Biener [this message]
2023-01-31 8:42 ` Jakub Jelinek
2023-01-31 9:09 ` Richard Biener
2023-01-31 10:21 ` Eric Botcazou
2023-02-16 13:37 ` Patrick Palka
2023-02-16 13:50 ` Jakub Jelinek
2023-02-16 13:44 ` [PATCH] don't declare header-defined functions both static and inline, pt 2 Patrick Palka
2023-02-27 15:13 ` Patrick Palka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAFiYyc35A3J8hV7k+YYcxefWuLm1PmDJ1NmXSxVrt3n=TTHGfw@mail.gmail.com' \
--to=richard.guenther@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=ppalka@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).