MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / capture_warnings

Method capture_warnings

tools/diagnostics.py:69–115  ·  view source on GitHub ↗
(self, cmd_args)

Source from the content-addressed store, hash-verified

67 }
68
69 def capture_warnings(self, cmd_args):
70 for i in range(len(cmd_args)):
71 if cmd_args[i] == '-w':
72 for warning in self.warnings.values():
73 warning['enabled'] = False
74 continue
75
76 if not cmd_args[i].startswith('-W'):
77 continue
78
79 if cmd_args[i] == '-Wall':
80 for warning in self.warnings.values():
81 if warning['part_of_all']:
82 warning['enabled'] = True
83 continue
84
85 if cmd_args[i] == '-Werror':
86 for warning in self.warnings.values():
87 warning['error'] = True
88 continue
89
90 if cmd_args[i].startswith('-Werror=') or cmd_args[i].startswith('-Wno-error='):
91 warning_name = cmd_args[i].split('=', 1)[1]
92 if warning_name in self.warnings:
93 enabled = not cmd_args[i].startswith('-Wno-')
94 self.warnings[warning_name]['error'] = enabled
95 if enabled:
96 self.warnings[warning_name]['enabled'] = True
97 cmd_args[i] = ''
98 continue
99
100 warning_name = cmd_args[i].removeprefix('-Wno-').removeprefix('-W')
101 enabled = not cmd_args[i].startswith('-Wno-')
102
103 # special case pre-existing warn-absolute-paths
104 if warning_name == 'warn-absolute-paths':
105 self.warnings['absolute-paths']['enabled'] = enabled
106 cmd_args[i] = ''
107 continue
108
109 if warning_name in self.warnings:
110 self.warnings[warning_name]['enabled'] = enabled
111 if not self.warnings[warning_name]['shared']:
112 cmd_args[i] = ''
113 continue
114
115 return cmd_args
116
117 def warning(self, warning_type, message, *args):
118 warning_info = self.warnings[warning_type]

Callers 2

capture_warningsFunction · 0.80
parse_argumentsFunction · 0.80

Calls 2

splitMethod · 0.80
rangeFunction · 0.50

Tested by

no test coverage detected