diff --git a/paddle/fluid/imperative/layout_transformer.h b/paddle/fluid/imperative/layout_transformer.h index 4dba2d16d598c19eba873e80007ec79946ec8c49..93c924a095c9ee82f40e920fd36aca01ba3398f3 100644 --- a/paddle/fluid/imperative/layout_transformer.h +++ b/paddle/fluid/imperative/layout_transformer.h @@ -402,10 +402,16 @@ class ArgmaxOpTransformer case paddle::framework::proto::AttrType::INT: { auto axis = PADDLE_GET_CONST(int, (*attrs)["axis"]); (*attrs)["axis"] = static_cast(perm[axis]); +#ifdef LINUX + __attribute__((fallthrough)); +#endif } case paddle::framework::proto::AttrType::LONG: { auto axis = PADDLE_GET_CONST(int64_t, (*attrs)["axis"]); (*attrs)["axis"] = static_cast(perm[axis]); +#ifdef LINUX + __attribute__((fallthrough)); +#endif } default: VLOG(4) << "The data_type of axis is Error, axis must be int or " diff --git a/paddle/fluid/prim/api/composite_backward/composite_backward_api.h b/paddle/fluid/prim/api/composite_backward/composite_backward_api.h index 286d3cae8de5dfd3926609e1b551003a46ce47f5..6697f1a614c3818803539edf4c9595de046d22ff 100644 --- a/paddle/fluid/prim/api/composite_backward/composite_backward_api.h +++ b/paddle/fluid/prim/api/composite_backward/composite_backward_api.h @@ -1485,7 +1485,11 @@ void batch_norm_grad(const Tensor& x, } break; } +#ifdef LINUX + __attribute__((fallthrough)); +#endif } + default: PADDLE_THROW(phi::errors::InvalidArgument("Unknown storage order: %s", data_layout)); diff --git a/paddle/utils/string/tinyformat/tinyformat.h b/paddle/utils/string/tinyformat/tinyformat.h index f9c55fe1835fd22c52f47e4347ea0aa610b97116..bd8d47849db96612c69fa4992e6f372e5a11e0a6 100644 --- a/paddle/utils/string/tinyformat/tinyformat.h +++ b/paddle/utils/string/tinyformat/tinyformat.h @@ -691,6 +691,9 @@ inline const char *streamStateFromFormat(std::ostream &out, // NOLINT break; case 'X': out.setf(std::ios::uppercase); +#ifdef LINUX + __attribute__((fallthrough)); +#endif case 'x': case 'p': out.setf(std::ios::hex, std::ios::basefield); @@ -698,17 +701,27 @@ inline const char *streamStateFromFormat(std::ostream &out, // NOLINT break; case 'E': out.setf(std::ios::uppercase); +#ifdef LINUX + __attribute__((fallthrough)); +#endif case 'e': out.setf(std::ios::scientific, std::ios::floatfield); out.setf(std::ios::dec, std::ios::basefield); break; case 'F': out.setf(std::ios::uppercase); +#ifdef LINUX + __attribute__((fallthrough)); +#endif case 'f': out.setf(std::ios::fixed, std::ios::floatfield); break; case 'G': out.setf(std::ios::uppercase); +#ifdef LINUX + __attribute__((fallthrough)); +#endif + case 'g': out.setf(std::ios::dec, std::ios::basefield); // As in boost::format, let stream decide float format.