Skip to content

Commit 598fede

Browse files
tautschnigPeter Schrammel
authored and
Peter Schrammel
committed
goto-diff --unified: output diff of individual instructions
1 parent 059da82 commit 598fede

File tree

5 files changed

+614
-2
lines changed

5 files changed

+614
-2
lines changed

src/goto-diff/Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
SRC = goto_diff_main.cpp goto_diff_parse_options.cpp \
2-
goto_diff_languages.cpp goto_diff_base.cpp syntactic_diff.cpp
2+
goto_diff_languages.cpp goto_diff_base.cpp syntactic_diff.cpp \
3+
unified_diff.cpp
34

45
OBJ += ../ansi-c/ansi-c$(LIBEXT) \
56
../linking/linking$(LIBEXT) \

src/goto-diff/goto_diff_parse_options.cpp

+12
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ Author: Peter Schrammel
4444
#include "goto_diff_parse_options.h"
4545
#include "goto_diff.h"
4646
#include "syntactic_diff.h"
47+
#include "unified_diff.h"
4748

4849
/*******************************************************************\
4950
@@ -333,6 +334,16 @@ int goto_diff_parse_optionst::doit()
333334
return 0;
334335
}
335336

337+
if(cmdline.isset("unified") ||
338+
cmdline.isset('u'))
339+
{
340+
unified_difft u(goto_model1, goto_model2);
341+
u();
342+
u.output(std::cout);
343+
344+
return 0;
345+
}
346+
336347
std::unique_ptr<goto_difft> goto_diff;
337348
goto_diff = std::unique_ptr<goto_difft>(
338349
new syntactic_difft(goto_model1, goto_model2,get_message_handler()));
@@ -517,6 +528,7 @@ void goto_diff_parse_optionst::help()
517528
"Diff options:\n"
518529
" --show-functions show functions (default)\n"
519530
" --syntactic do syntactic diff (default)\n"
531+
" -u | --unified output unified diff\n"
520532
"\n"
521533
"Other options:\n"
522534
" --version show version and exit\n"

src/goto-diff/goto_diff_parse_options.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ class optionst;
2222
#define GOTO_DIFF_OPTIONS \
2323
"(json-ui)" \
2424
"(show-goto-functions)" \
25-
"(verbosity):(version)"
25+
"(verbosity):(version)" \
26+
"u(unified)"
2627

2728
class goto_diff_parse_optionst:
2829
public parse_options_baset,

0 commit comments

Comments
 (0)