Bug: https://bugs.llvm.org/show_bug.cgi?id=34016
**Problem:**
Clang format does not allow the flag **BraceWrapping.AfterEnum** control the case when our **enum** is preceded by **typedef** keyword (what is common in C language).
Due to the lack of "brace wrapping extern" flag, clang format does parse the block after **extern** keyword moving the opening bracket to the header line **always**!
**Patch description:**
Added case to the **"AfterEnum"** flag when our enum does not start a line - is preceded by **typedef** keyword.
Added if statement handling the case when our **"extern block"** has the opening bracket in "non-header" line. Then forcing break before bracket.
**After fix:**
**CONFIG:**
```
BreakBeforeBraces: Custom
BraceWrapping: {
AfterClass: true, AfterControlStatement: true, AfterEnum: true, AfterFunction: true, AfterNamespace: false, AfterStruct: true, AfterUnion: true, BeforeCatch: true, BeforeElse: true
}
```
**BEFORE:**
```
typedef enum
{
a,
b,
c
} SomeEnum;
extern "C"
{
#include <SomeInclude.h>
}
```
**AFTER:**
```
typedef enum
{
a,
b,
c
} SomeEnum;
extern "C"
{
#include <SomeInclude.h>
}
```
**Remains the same!**