File tree Expand file tree Collapse file tree 5 files changed +22
-21
lines changed Expand file tree Collapse file tree 5 files changed +22
-21
lines changed Original file line number Diff line number Diff line change @@ -68,11 +68,11 @@ void console_message_handlert::print(
68
68
unsigned level,
69
69
const std::string &message)
70
70
{
71
+ message_handlert::print (level, message);
72
+
71
73
if (verbosity<level)
72
74
return ;
73
75
74
- message_handlert::print (level, message);
75
-
76
76
#ifdef _WIN32
77
77
HANDLE out_handle=
78
78
GetStdHandle ((level>1 )?STD_OUTPUT_HANDLE:STD_ERROR_HANDLE);
@@ -217,6 +217,8 @@ void gcc_message_handlert::print(
217
217
unsigned level,
218
218
const std::string &message)
219
219
{
220
+ message_handlert::print (level, message);
221
+
220
222
// gcc appears to send everything to cerr
221
223
if (verbosity>=level)
222
224
std::cerr << message << ' \n ' << std::flush;
Original file line number Diff line number Diff line change @@ -82,11 +82,10 @@ class stream_message_handlert:public message_handlert
82
82
83
83
virtual void print (unsigned level, const std::string &message)
84
84
{
85
+ message_handlert::print (level, message);
86
+
85
87
if (verbosity>=level)
86
- {
87
- message_handlert::print (level, message);
88
88
out << message << ' \n ' ;
89
- }
90
89
}
91
90
92
91
virtual void flush (unsigned level)
Original file line number Diff line number Diff line change @@ -22,14 +22,19 @@ Author: Daniel Kroening, kroening@kroening.com
22
22
23
23
bool typecheckt::typecheck_main ()
24
24
{
25
+ assert (message_handler);
26
+
27
+ const unsigned errors_before=
28
+ message_handler->get_message_count (messaget::M_ERROR);
29
+
25
30
try
26
31
{
27
32
typecheck ();
28
33
}
29
34
30
35
catch (int )
31
36
{
32
- error_found= true ;
37
+ error () ;
33
38
}
34
39
35
40
catch (const char *e)
@@ -42,5 +47,5 @@ bool typecheckt::typecheck_main()
42
47
error () << e << eom;
43
48
}
44
49
45
- return error_found ;
50
+ return message_handler-> get_message_count (messaget::M_ERROR)!=errors_before ;
46
51
}
Original file line number Diff line number Diff line change @@ -16,30 +16,27 @@ class typecheckt:public messaget
16
16
{
17
17
public:
18
18
explicit typecheckt (message_handlert &_message_handler):
19
- messaget(_message_handler),
20
- error_found(false )
19
+ messaget(_message_handler)
21
20
{
22
21
}
23
22
24
23
virtual ~typecheckt () { }
25
24
26
- mstreamt &error ()
25
+ // not pretty, but makes transition easier
26
+ void err_location (const source_locationt &loc)
27
27
{
28
- error_found=true ;
29
- return messaget::error ();
28
+ messaget::error ().source_location =loc;
30
29
}
31
30
32
31
// not pretty, but makes transition easier
33
32
void err_location (const exprt &src)
34
33
{
35
- error (). source_location = src.find_source_location ();
34
+ err_location ( src.find_source_location () );
36
35
}
37
36
38
- bool error_found;
39
-
40
- bool get_error_found () const
37
+ void err_location (const typet &src)
41
38
{
42
- return error_found ;
39
+ err_location (src. source_location ()) ;
43
40
}
44
41
45
42
protected:
Original file line number Diff line number Diff line change @@ -156,8 +156,6 @@ void ui_message_handlert::print(
156
156
{
157
157
case PLAIN:
158
158
{
159
- message_handlert::print (level, message);
160
-
161
159
console_message_handlert console_message_handler;
162
160
console_message_handler.print (level, message);
163
161
}
@@ -193,6 +191,8 @@ void ui_message_handlert::print(
193
191
int sequence_number,
194
192
const source_locationt &location)
195
193
{
194
+ message_handlert::print (level, message);
195
+
196
196
if (verbosity>=level)
197
197
{
198
198
switch (get_ui ())
@@ -205,8 +205,6 @@ void ui_message_handlert::print(
205
205
case XML_UI:
206
206
case JSON_UI:
207
207
{
208
- message_handlert::print (level, message);
209
-
210
208
std::string tmp_message (message);
211
209
212
210
if (!tmp_message.empty () && *tmp_message.rbegin ()==' \n ' )
You can’t perform that action at this time.
0 commit comments