Skip to content

Commit 12c051b

Browse files
author
Daniel Kroening
authored
Merge pull request #517 from diffblue/gcc-errors2
gcc-style error messages
2 parents 40f553c + 0d86b46 commit 12c051b

File tree

18 files changed

+151
-37
lines changed

18 files changed

+151
-37
lines changed

regression/ansi-c/function_return1/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
main.c
33
--verbosity 2
4-
^file main.c line 3 function fun: function has return void but a return statement returning signed int$
4+
^main.c:3:1: warning: function has return void but a return statement returning signed int$
55
^SIGNAL=0$
66

77
--

regression/ansi-c/struct6/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main.c
33

44
^EXIT=\(64\|1\)$
55
^SIGNAL=0$
6-
^file main.c line 2: incomplete type not permitted here$
6+
^main.c:2:1: error: incomplete type not permitted here$
77
^CONVERSION ERROR$
88
--

regression/ansi-c/struct7/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main.c
33

44
^EXIT=\(64\|1\)$
55
^SIGNAL=0$
6-
^file main.c line 4: duplicate member x$
6+
^main.c:4:1: error: duplicate member .*$
77
^CONVERSION ERROR$
88
--

src/ansi-c/c_typecheck_type.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -918,7 +918,7 @@ void c_typecheck_baset::typecheck_compound_body(
918918
if(!members.insert(it->get_name()).second)
919919
{
920920
error().source_location=it->source_location();
921-
error() << "duplicate member " << it->get_name() << eom;
921+
error() << "duplicate member '" << it->get_name() << '\'' << eom;
922922
throw 0;
923923
}
924924
}

src/goto-cc/armcc_mode.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ int armcc_modet::doit()
5959
if(cmdline.isset("verbosity"))
6060
verbosity=unsafe_string2int(cmdline.get_value("verbosity"));
6161

62-
compiler.ui_message_handler.set_verbosity(verbosity);
63-
ui_message_handler.set_verbosity(verbosity);
62+
compiler.set_message_handler(get_message_handler());
63+
message_handler.set_verbosity(verbosity);
6464

6565
debug() << "ARM mode" << eom;
6666

src/goto-cc/armcc_mode.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,28 @@ Date: June 2006
1111
#ifndef CPROVER_GOTO_CC_ARMCC_MODE_H
1212
#define CPROVER_GOTO_CC_ARMCC_MODE_H
1313

14+
#include <util/cout_message.h>
15+
1416
#include "goto_cc_mode.h"
1517
#include "armcc_cmdline.h"
1618

1719
class armcc_modet:public goto_cc_modet
1820
{
1921
public:
20-
virtual int doit();
21-
virtual void help_mode();
22+
int doit() final;
23+
void help_mode() final;
2224

2325
armcc_modet(
2426
armcc_cmdlinet &_armcc_cmdline,
2527
const std::string &_base_name):
26-
goto_cc_modet(_armcc_cmdline, _base_name),
28+
goto_cc_modet(_armcc_cmdline, _base_name, message_handler),
2729
cmdline(_armcc_cmdline)
2830
{
2931
}
3032

3133
protected:
3234
armcc_cmdlinet &cmdline;
35+
gcc_message_handlert message_handler;
3336
};
3437

3538
#endif // CPROVER_GOTO_CC_ARMCC_MODE_H

src/goto-cc/as_mode.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Author: Michael Tautschnig
2222
#include <util/tempdir.h>
2323
#include <util/config.h>
2424
#include <util/get_base_name.h>
25+
#include <util/cout_message.h>
2526

2627
#include <cbmc/version.h>
2728

@@ -79,7 +80,7 @@ as_modet::as_modet(
7980
goto_cc_cmdlinet &_cmdline,
8081
const std::string &_base_name,
8182
bool _produce_hybrid_binary):
82-
goto_cc_modet(_cmdline, _base_name),
83+
goto_cc_modet(_cmdline, _base_name, message_handler),
8384
produce_hybrid_binary(_produce_hybrid_binary),
8485
native_tool_name(assembler_name(cmdline, base_name))
8586
{
@@ -137,7 +138,7 @@ int as_modet::doit()
137138
if(cmdline.isset("verbosity"))
138139
verbosity=unsafe_string2unsigned(cmdline.get_value("verbosity"));
139140

140-
ui_message_handler.set_verbosity(verbosity);
141+
message_handler.set_verbosity(verbosity);
141142

142143
if(act_as_as86)
143144
{

src/goto-cc/as_mode.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ Date: July 2016
1111
#ifndef CPROVER_GOTO_CC_AS_MODE_H
1212
#define CPROVER_GOTO_CC_AS_MODE_H
1313

14+
#include <util/cout_message.h>
15+
1416
#include "goto_cc_mode.h"
1517

1618
class as_modet:public goto_cc_modet
@@ -22,10 +24,11 @@ class as_modet:public goto_cc_modet
2224
as_modet(
2325
goto_cc_cmdlinet &_cmdline,
2426
const std::string &_base_name,
25-
bool _produce_hybrid_binar);
27+
bool _produce_hybrid_binary);
2628

2729
protected:
28-
bool produce_hybrid_binary;
30+
gcc_message_handlert message_handler;
31+
const bool produce_hybrid_binary;
2932
const std::string native_tool_name;
3033

3134
int run_as(); // call as with original command line

src/goto-cc/cw_mode.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ int cw_modet::doit()
5959
if(cmdline.isset("verbosity"))
6060
verbosity=unsafe_string2unsigned(cmdline.get_value("verbosity"));
6161

62-
compiler.ui_message_handler.set_verbosity(verbosity);
63-
ui_message_handler.set_verbosity(verbosity);
62+
compiler.set_message_handler(get_message_handler());
63+
message_handler.set_verbosity(verbosity);
6464

6565
debug() << "CodeWarrior mode" << eom;
6666

src/goto-cc/cw_mode.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ Date: June 2006
1111
#ifndef CPROVER_GOTO_CC_CW_MODE_H
1212
#define CPROVER_GOTO_CC_CW_MODE_H
1313

14+
#include <util/cout_message.h>
15+
1416
#include "goto_cc_mode.h"
1517
#include "gcc_cmdline.h"
1618

@@ -21,13 +23,14 @@ class cw_modet:public goto_cc_modet
2123
virtual void help_mode();
2224

2325
cw_modet(gcc_cmdlinet &_gcc_cmdline, const std::string &_base_name):
24-
goto_cc_modet(_gcc_cmdline, _base_name),
26+
goto_cc_modet(_gcc_cmdline, _base_name, message_handler),
2527
cmdline(_gcc_cmdline)
2628
{
2729
}
2830

2931
protected:
3032
gcc_cmdlinet &cmdline;
33+
console_message_handlert message_handler;
3134
};
3235

3336
#endif // CPROVER_GOTO_CC_CW_MODE_H

0 commit comments

Comments
 (0)