File tree Expand file tree Collapse file tree 7 files changed +81
-8
lines changed Expand file tree Collapse file tree 7 files changed +81
-8
lines changed Original file line number Diff line number Diff line change 1
- KNOWNBUG
1
+ CORE
2
2
const-array.c
3
3
^.*: .* is constant$
4
4
^ array\[1\] = 2;$
Original file line number Diff line number Diff line change 1
- KNOWNBUG
1
+ CORE
2
2
const-member.c
3
3
4
4
^.*: .* is constant$
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ SRC = armcc_cmdline.cpp \
4
4
as_cmdline.cpp \
5
5
as_mode.cpp \
6
6
bcc_cmdline.cpp \
7
+ cl_message_handler.cpp \
7
8
compile.cpp \
8
9
cw_mode.cpp \
9
10
gcc_cmdline.cpp \
Original file line number Diff line number Diff line change
1
+ /* ******************************************************************\
2
+
3
+ Module: Print messages like CL.exe does
4
+
5
+ Author: Michael Tautschnig
6
+
7
+ \*******************************************************************/
8
+
9
+ #include " cl_message_handler.h"
10
+
11
+ #include < fstream>
12
+ #include < iostream>
13
+
14
+ #include " unicode.h"
15
+
16
+ void console_message_handlert::print (
17
+ unsigned level,
18
+ const std::string &message,
19
+ const source_locationt &location)
20
+ {
21
+ console_message_handlert::print (level, message, location);
22
+
23
+ const auto file_name = location.full_path ();
24
+ const std::string &line = id2string (location.get_line ());
25
+
26
+ if (file_name.has_value () && !line.empty ())
27
+ {
28
+ #ifdef _WIN32
29
+ std::ifstream in (widen (file_name.value ()));
30
+ #else
31
+ std::ifstream in (file_name.value ());
32
+ #endif
33
+ if (in)
34
+ {
35
+ const auto line_number = std::stoull (line);
36
+ std::string source_line;
37
+ for (std::size_t l = 0 ; l < line_number; l++)
38
+ std::getline (in, source_line);
39
+
40
+ if (in)
41
+ {
42
+ // Messages level 3 or lower go to cerr, messages level 4 or
43
+ // above go to cout.
44
+ if (level >= 4 )
45
+ std::cout << ' ' << source_line << ' \n ' ;
46
+ else
47
+ std::cerr << ' ' << source_line << ' \n ' ;
48
+ }
49
+ }
50
+ }
51
+ }
Original file line number Diff line number Diff line change
1
+ /* ******************************************************************\
2
+
3
+ Module: Print messages like CL.exe does
4
+
5
+ Author: Michael Tautschnig
6
+
7
+ \*******************************************************************/
8
+
9
+ #ifndef CPROVER_GOTO_CC_CL_MESSAGE_HANDLER_H
10
+ #define CPROVER_GOTO_CC_CL_MESSAGE_HANDLER_H
11
+
12
+ #include < util/cout_message.h>
13
+
14
+ class cl_message_handlert : public console_message_handlert
15
+ {
16
+ public:
17
+ void print (
18
+ unsigned level,
19
+ const std::string &message,
20
+ const source_locationt &location) override ;
21
+ };
22
+
23
+ #endif // CPROVER_GOTO_CC_CL_MESSAGE_HANDLER_H
Original file line number Diff line number Diff line change @@ -14,8 +14,7 @@ Date: June 2006
14
14
#ifndef CPROVER_GOTO_CC_MS_CL_MODE_H
15
15
#define CPROVER_GOTO_CC_MS_CL_MODE_H
16
16
17
- #include < util/cout_message.h>
18
-
17
+ #include " cl_message_handler.h"
19
18
#include " goto_cc_mode.h"
20
19
#include " ms_cl_cmdline.h"
21
20
@@ -35,7 +34,7 @@ class ms_cl_modet:public goto_cc_modet
35
34
36
35
protected:
37
36
ms_cl_cmdlinet &cmdline;
38
- console_message_handlert message_handler;
37
+ cl_message_handlert message_handler;
39
38
};
40
39
41
40
#endif // CPROVER_GOTO_CC_MS_CL_MODE_H
Original file line number Diff line number Diff line change @@ -14,11 +14,10 @@ Date: July 2018
14
14
#ifndef CPROVER_GOTO_CC_MS_LINK_MODE_H
15
15
#define CPROVER_GOTO_CC_MS_LINK_MODE_H
16
16
17
+ #include " cl_message_handler.h"
17
18
#include " compile.h"
18
19
#include " goto_cc_mode.h"
19
20
20
- #include < util/cout_message.h>
21
-
22
21
class ms_link_modet : public goto_cc_modet
23
22
{
24
23
public:
@@ -28,7 +27,7 @@ class ms_link_modet : public goto_cc_modet
28
27
explicit ms_link_modet (goto_cc_cmdlinet &);
29
28
30
29
protected:
31
- console_message_handlert message_handler;
30
+ cl_message_handlert message_handler;
32
31
};
33
32
34
33
#endif // CPROVER_GOTO_CC_MS_LINK_MODE_H
You can’t perform that action at this time.
0 commit comments