1{
2    "GCC_ARM": {
3        "common": ["-Wall", "-Wextra",
4                   "-Wno-missing-field-initializers",
5                   "-fmessage-length=0", "-fno-exceptions",
6                   "-ffunction-sections", "-fdata-sections", "-funsigned-char",
7                   "-MMD", "-fno-delete-null-pointer-checks",
8                   "-fomit-frame-pointer", "-Ofast", "-DNDEBUG", "-g", "-DMBED_TRACE_MAX_LEVEL=1"],
9        "asm": ["-c", "-x", "assembler-with-cpp"],
10        "c": ["-c", "-std=gnu11"],
11        "cxx": ["-c", "-std=gnu++14", "-fno-rtti", "-Wvla"],
12        "ld": ["-Wl,--gc-sections", "-Wl,--wrap,main", "-Wl,--wrap,_malloc_r",
13               "-Wl,--wrap,_free_r", "-Wl,--wrap,_realloc_r", "-Wl,--wrap,_memalign_r",
14               "-Wl,--wrap,_calloc_r", "-Wl,--wrap,exit", "-Wl,--wrap,atexit",
15               "-Wl,-n"]
16    },
17    "ARMC6": {
18        "common": ["-c", "--target=arm-arm-none-eabi", "-mthumb", "-Ofast",
19                   "-Wno-armcc-pragma-push-pop", "-Wno-armcc-pragma-anon-unions",
20                   "-Wno-reserved-user-defined-literal", "-Wno-deprecated-register",
21                   "-DMULADDC_CANNOT_USE_R7", "-fdata-sections",
22                   "-fno-exceptions", "-MMD", "-D_LIBCPP_EXTERN_TEMPLATE(...)=",
23                   "-fshort-enums", "-fshort-wchar", "-DNDEBUG"],
24        "asm": [],
25        "c": ["-D__ASSERT_MSG", "-std=gnu11"],
26        "cxx": ["-fno-rtti", "-std=gnu++14"],
27        "ld": ["--show_full_path", "--any_contingency", "--lto",
28               "--keep=os_cb_sections"]
29    },
30    "ARM": {
31        "common": ["-c", "--gnu", "-Ospace", "--split_sections",
32                   "--apcs=interwork", "--brief_diagnostics", "--restrict",
33                   "--multibyte_chars", "-O3", "-DNDEBUG"],
34        "asm": [],
35        "c": ["--md", "--no_depend_system_headers", "--c99", "-D__ASSERT_MSG"],
36        "cxx": ["--cpp11", "--no_rtti", "--no_vla"],
37        "ld": ["--show_full_path", "--any_contingency", "--keep=os_cb_sections"]
38    },
39    "uARM": {
40        "common": ["-c", "--gnu", "-Ospace", "--split_sections",
41                   "--apcs=interwork", "--brief_diagnostics", "--restrict",
42                   "--multibyte_chars", "-O3", "-D__MICROLIB",
43                   "--library_type=microlib", "-DMBED_RTOS_SINGLE_THREAD", "-DNDEBUG"],
44        "asm": [],
45        "c": ["--md", "--no_depend_system_headers", "--c99", "-D__ASSERT_MSG"],
46        "cxx": ["--cpp11", "--no_rtti", "--no_vla"],
47        "ld": ["--library_type=microlib"]
48    },
49    "IAR": {
50        "common": [
51            "--no_wrap_diagnostics", "-e",
52            "--diag_suppress=Pa050,Pa084,Pa093,Pa082,Pe540", "-Ohz", "-DNDEBUG", "--enable_restrict"],
53        "asm": [],
54        "c": ["--vla", "--diag_suppress=Pe546"],
55        "cxx": ["--guard_calls", "--no_static_destruction"],
56        "ld": ["--skip_dynamic_initialization", "--threaded_lib"]
57    }
58}