# Minimal clang-format version is 11

BasedOnStyle: GNU
UseTab: Always
SpaceAfterCStyleCast: true
SortIncludes: false
AlignConsecutiveMacros: true
BreakBeforeTernaryOperators: false
BreakBeforeBinaryOperators: None
ContinuationIndentWidth: 2

ForEachMacros:
  - 'clib_bitmap_foreach'
  - 'pool_foreach'
  - 'pool_foreach_index'
  - 'vec_foreach'
  - 'vec_foreach_backwards'
  - 'vec_foreach_index'
  - 'vec_foreach_index_backwards'
  - 'vlib_foreach_rx_tx'
  - 'foreach_vlib_main'
  - 'foreach_set_bit_index'
  - 'FOREACH_ARRAY_ELT'
  - 'RTE_ETH_FOREACH_DEV'

StatementMacros:
  - 'CLIB_MULTIARCH_FN'
  - 'VLIB_NODE_FN'
  - 'VNET_DEVICE_CLASS_TX_FN'
  - '__clib_section'
  - '__clib_aligned'

WhitespaceSensitiveMacros:
  - 'WARN_ON'
  - 'WARN_OFF'