https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101941

--- Comment #17 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #6)
> *** Bug 102361 has been marked as a duplicate of this bug. ***

Basic block 4
  freq:0.00 size:  1 time:0.00 __write_overflow ();
  freq:0.00 size:  2 time:0.00 fortify_panic (&__func__);
Cannot split: warning or error attribute.
found articulation at bb 4 but cannot split
found articulation at bb 3

So basically in this case uncharge_gather_clear is marked as gnu_inline but not
always_inline.
It is defined as:
static inline void uncharge_gather_clear(struct uncharge_gather *ug)
Which got expanded as:
static inline __attribute__((__gnu_inline__)) __attribute__((__unused__))
__attribute__((no_instrument_function)) void uncharge_gather_clear(struct
uncharge_gather *ug)

Which is due to:
https://github.com/torvalds/linux/blob/master/include/linux/compiler_types.h#L142

Reply via email to