summaryrefslogtreecommitdiff
path: root/etc/defaults/CC/TARGETS.absl
blob: 266709c9ed5bd2fc68e9fbb5bf830f5243ab8b0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
{ "defaults":
  { "type": ["CC", "defaults"]
  , "arguments_config": ["TOOLCHAIN_CONFIG", "OS", "ARCH", "TARGET_ARCH"]
  , "base": [["@", "base", "CC", "defaults"]]
  , "ADD_CXXFLAGS":
    { "type": "let*"
    , "bindings":
      [ [ "COMPILER_FAMILY"
        , { "type": "lookup"
          , "map":
            { "type": "var"
            , "name": "TOOLCHAIN_CONFIG"
            , "default": {"type": "empty_map"}
            }
          , "key": "FAMILY"
          , "default": "unknown"
          }
        ]
      , [ "OS"
        , { "type": "var"
          , "name": "OS"
          , "default":
            {"type": "fail", "msg": "Required variable 'OS' is not set."}
          }
        ]
      , [ "TARGET_ARCH"
        , { "type": "var"
          , "name": "TARGET_ARCH"
          , "default":
            { "type": "var"
            , "name": "ARCH"
            , "default":
              {"type": "fail", "msg": "Required variable 'ARCH' is not set."}
            }
          }
        ]
      ]
    , "body":
      { "type": "++"
      , "$1":
        [ ["-std=c++20"]
        , { "type": "case"
          , "expr": {"type": "var", "name": "COMPILER_FAMILY"}
          , "case":
            { "gnu":
              [ "-Wall"
              , "-Wextra"
              , "-Wcast-qual"
              , "-Wconversion-null"
              , "-Wformat-security"
              , "-Wmissing-declarations"
              , "-Woverlength-strings"
              , "-Wpointer-arith"
              , "-Wundef"
              , "-Wunused-local-typedefs"
              , "-Wunused-result"
              , "-Wvarargs"
              , "-Wvla"
              , "-Wwrite-strings"
              , "-DNOMINMAX"
              ]
            , "msvc":
              [ "/W3"
              , "/bigobj"
              , "/wd4005"
              , "/wd4068"
              , "/wd4180"
              , "/wd4244"
              , "/wd4267"
              , "/wd4503"
              , "/wd4800"
              , "/DNOMINMAX"
              , "/DWIN32_LEAN_AND_MEAN"
              , "/D_CRT_SECURE_NO_WARNINGS"
              , "/D_SCL_SECURE_NO_WARNINGS"
              , "/D_ENABLE_EXTENDED_ALIGNED_STORAGE"
              , "-ignore:4221"
              ]
            , "clang-cl":
              [ "/W3"
              , "/DNOMINMAX"
              , "/DWIN32_LEAN_AND_MEAN"
              , "/D_CRT_SECURE_NO_WARNINGS"
              , "/D_SCL_SECURE_NO_WARNINGS"
              , "/D_ENABLE_EXTENDED_ALIGNED_STORAGE"
              ]
            , "clang":
              [ "-Wall"
              , "-Wextra"
              , "-Wcast-qual"
              , "-Wconversion"
              , "-Wfloat-overflow-conversion"
              , "-Wfloat-zero-conversion"
              , "-Wfor-loop-analysis"
              , "-Wformat-security"
              , "-Wgnu-redeclared-enum"
              , "-Winfinite-recursion"
              , "-Winvalid-constexpr"
              , "-Wliteral-conversion"
              , "-Wmissing-declarations"
              , "-Woverlength-strings"
              , "-Wpointer-arith"
              , "-Wself-assign"
              , "-Wshadow-all"
              , "-Wshorten-64-to-32"
              , "-Wsign-conversion"
              , "-Wstring-conversion"
              , "-Wtautological-overlap-compare"
              , "-Wtautological-unsigned-zero-compare"
              , "-Wundef"
              , "-Wuninitialized"
              , "-Wunreachable-code"
              , "-Wunused-comparison"
              , "-Wunused-local-typedefs"
              , "-Wunused-result"
              , "-Wvla"
              , "-Wwrite-strings"
              , "-Wno-float-conversion"
              , "-Wno-implicit-float-conversion"
              , "-Wno-implicit-int-float-conversion"
              , "-Wno-unknown-warning-option"
              , "-DNOMINMAX"
              ]
            }
          , "default":
            [ "-Wall"
            , "-Wextra"
            , "-Wcast-qual"
            , "-Wconversion-null"
            , "-Wformat-security"
            , "-Wmissing-declarations"
            , "-Woverlength-strings"
            , "-Wpointer-arith"
            , "-Wundef"
            , "-Wunused-local-typedefs"
            , "-Wunused-result"
            , "-Wvarargs"
            , "-Wvla"
            , "-Wwrite-strings"
            , "-DNOMINMAX"
            ]
          }
        ]
      }
    }
  }
}