summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDonald Sharp <donaldsharp72@gmail.com>2022-04-20 13:51:45 +0200
committerGitHub <noreply@github.com>2022-04-20 13:51:45 +0200
commita71e190d44395ab119579dacd4d86d2a2dfa9916 (patch)
tree62cc9f42e4650c5a8b6b759da439d1ee132c7a51 /doc
parentMerge pull request #11052 from opensourcerouting/fix/log_dir_permissions (diff)
parentbuild: enable `-fms-extensions` (diff)
downloadfrr-a71e190d44395ab119579dacd4d86d2a2dfa9916.tar.xz
frr-a71e190d44395ab119579dacd4d86d2a2dfa9916.zip
Merge pull request #10961 from opensourcerouting/build-ms-ext
build: enable `-fms-extensions`
Diffstat (limited to 'doc')
-rw-r--r--doc/developer/workflow.rst22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/developer/workflow.rst b/doc/developer/workflow.rst
index af8756a90..adab9725d 100644
--- a/doc/developer/workflow.rst
+++ b/doc/developer/workflow.rst
@@ -623,6 +623,8 @@ Please copy-paste this header verbatim. In particular:
- Do not replace "This program" with "FRR"
- Do not change the address of the FSF
+- keep ``#include <zebra.h>``. The absolute first header included in any C
+ file **must** be either ``zebra.h`` or ``config.h`` (with HAVE_CONFIG_H guard)
Adding Copyright Claims to Existing Files
-----------------------------------------
@@ -895,6 +897,26 @@ necessary replacements.
| u_long | unsigned long |
+-----------+--------------------------+
+FRR also uses unnamed struct fields, enabled with ``-fms-extensions`` (cf.
+https://gcc.gnu.org/onlinedocs/gcc/Unnamed-Fields.html). The following two
+patterns can/should be used where contextually appropriate:
+
+.. code-block:: c
+
+ struct outer {
+ struct inner;
+ };
+
+.. code-block:: c
+
+ struct outer {
+ union {
+ struct inner;
+ struct inner inner_name;
+ };
+ };
+
+
.. _style-exceptions:
Exceptions