File tree 9 files changed +52
-9
lines changed
9 files changed +52
-9
lines changed Original file line number Diff line number Diff line change @@ -63,6 +63,7 @@ phases:
63
63
- |
64
64
$env:Path = "C:\tools\cygwin\bin;$env:Path"
65
65
cmd /c 'call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && bash -c "make -C regression test BUILD_ENV=MSVC" '
66
+ cmd /c 'call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && bash -c "make -C regression/goto-cl test BUILD_ENV=MSVC" '
66
67
67
68
- |
68
69
$env:Path = "C:\tools\cygwin\bin;$env:Path"
Original file line number Diff line number Diff line change
1
+ CORE
2
+
3
+ /c main1.c main2.c /Fo dir
4
+ ^EXIT=0$
5
+ ^SIGNAL=0$
6
+ --
7
+ ^warning: ignoring
8
+ ^CONVERSION ERROR$
Original file line number Diff line number Diff line change
1
+ // blank
Original file line number Diff line number Diff line change
1
+ // blank
Original file line number Diff line number Diff line change
1
+ // blank
Original file line number Diff line number Diff line change
1
+ default : tests.log
2
+
3
+ test :
4
+ @../test.pl -p -c ../../../src/goto-cc/goto-cl
5
+
6
+ tests.log : ../test.pl
7
+ @../test.pl -p -c ../../../src/goto-cc/goto-cl
8
+
9
+ show :
10
+ @for dir in * ; do \
11
+ if [ -d " $$ dir" ]; then \
12
+ vim -o " $$ dir/*.c" " $$ dir/*.out" ; \
13
+ fi ; \
14
+ done ;
15
+
16
+ clean :
17
+ find -name ' *.out' -execdir $(RM ) ' {}' \;
18
+ find -name ' *.gb' -execdir $(RM ) ' {}' \;
19
+ find -name ' *.goto-cc-saved' -execdir $(RM ) ' {}' \;
20
+ $(RM ) tests.log
Original file line number Diff line number Diff line change @@ -421,9 +421,17 @@ bool compilet::compile()
421
421
std::string cfn;
422
422
423
423
if (output_file_object==" " )
424
- cfn=get_base_name (file_name, true )+" ." +object_file_extension;
424
+ {
425
+ std::string file_name =
426
+ get_base_name (file_name, true ) + " ." + object_file_extension;
427
+
428
+ if (!output_directory_object.empty ())
429
+ cfn = concat_dir_file (output_directory_object, file_name);
430
+ else
431
+ cfn = file_name;
432
+ }
425
433
else
426
- cfn= output_file_object;
434
+ cfn = output_file_object;
427
435
428
436
if (write_object_file (cfn, symbol_table, compiled_functions))
429
437
return true ;
Original file line number Diff line number Diff line change @@ -45,7 +45,10 @@ class compilet:public language_uit
45
45
std::list<irep_idt> seen_modes;
46
46
47
47
std::string object_file_extension;
48
- std::string output_file_object, output_file_executable;
48
+ std::string output_file_executable;
49
+
50
+ // the two options below are mutually exclusive -- use either or
51
+ std::string output_file_object, output_directory_object;
49
52
50
53
compilet (cmdlinet &_cmdline, ui_message_handlert &mh, bool Werror);
51
54
Original file line number Diff line number Diff line change @@ -103,13 +103,13 @@ int ms_cl_modet::doit()
103
103
104
104
if (cmdline.isset (" Fo" ))
105
105
{
106
- compiler. output_file_object = cmdline.get_value (" Fo" );
106
+ std::string Fo_value = cmdline.get_value (" Fo" );
107
107
108
- // this could be a directory
109
- if (is_directory (compiler. output_file_object ) &&
110
- cmdline. args . size ()>= 1 )
111
- compiler. output_file_object +=
112
- get_base_name (cmdline. args [ 0 ], true )+ " .obj " ;
108
+ // this could be a directory or a file name
109
+ if (is_directory (Fo_value))
110
+ compiler. output_directory_object = Fo_value;
111
+ else
112
+ compiler. output_file_object = Fo_value ;
113
113
}
114
114
115
115
if (cmdline.isset (" Fe" ))
You can’t perform that action at this time.
0 commit comments