[
https://issues.apache.org/jira/browse/PROTON-2773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17777267#comment-17777267
]
ASF GitHub Bot commented on PROTON-2773:
----------------------------------------
jiridanek commented on code in PR #408:
URL: https://github.com/apache/qpid-proton/pull/408#discussion_r1365530886
##########
c/include/proton/annotations.h:
##########
@@ -90,4 +90,24 @@
#endif
#endif
+// fallthrough
+#if defined __cplusplus && defined __has_cpp_attribute
+ #if __has_cpp_attribute(fallthrough) && __cplusplus >=
__has_cpp_attribute(fallthrough)
+ #define PN_FALLTHROUGH [[fallthrough]]
+ #endif
+#endif
+#if !defined PN_FALLTHROUGH && defined __STDC_VERSION__ && defined
__has_c_attribute
+ #if __has_c_attribute(fallthrough) && __STDC_VERSION__ >=
__has_c_attribute(fallthrough)
+ #define PN_FALLTHROUGH [[fallthrough]]
+ #endif
+#endif
+#if !defined PN_FALLTHROUGH && defined __has_attribute
+ #if __has_attribute(__fallthrough__)
+ #define PN_FALLTHROUGH __attribute__((__fallthrough__))
+ #endif
+#endif
+#if !defined PN_FALLTHROUGH
+ #define PN_FALLTHROUGH (void)0
Review Comment:
True, this depends on all relevant linters knowing one of the other ways to
annotate the fallthrough.
The default is there for the case of a compiler that does not know how to
warn about missed fallthrough but knows to warn about extraneous semicolon. Not
that I'd expect to ever encounter something like this.
> [c] Add various compiler diagnostic helper macros
> -------------------------------------------------
>
> Key: PROTON-2773
> URL: https://issues.apache.org/jira/browse/PROTON-2773
> Project: Qpid Proton
> Issue Type: Improvement
> Components: proton-c
> Affects Versions: proton-c-0.39.0
> Reporter: Jiri Daněk
> Assignee: Jiri Daněk
> Priority: Major
> Fix For: proton-c-0.40.0
>
>
> This includes the printf format string verification from PROTON-2772,
> fallthrough annotations, and macros for compiler diagnostic handling pragmas.
> If any other improvements are thought of, they can be merged as part of this,
> or new issue can be created if a Proton release happens in the meantime.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]