Skip to content

Commit 0f2cc3a

Browse files
author
Daniel Kroening
authored
Merge pull request #2330 from diffblue/msvc-utf8
ask CL preprocessor for UTF-8 output
2 parents 1df3b9d + bdd5bbb commit 0f2cc3a

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

buildspec-windows.yml

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ phases:
3535
Remove-Item ansi-c\Forward_Declaration2 -Force -Recurse
3636
Remove-Item ansi-c\Incomplete_Type1 -Force -Recurse
3737
Remove-Item ansi-c\Union_Padding1 -Force -Recurse
38-
Remove-Item ansi-c\Universal_characters1 -Force -Recurse
3938
Remove-Item ansi-c\function_return1 -Force -Recurse
4039
Remove-Item ansi-c\gcc_attributes7 -Force -Recurse
4140
Remove-Item ansi-c\gcc_version1 -Force -Recurse

src/ansi-c/c_preprocess.cpp

+8-2
Original file line numberDiff line numberDiff line change
@@ -335,8 +335,14 @@ bool c_preprocess_visual_studio(
335335
// understands.
336336
command_file << char(0xef) << char(0xbb) << char(0xbf);
337337

338-
command_file << "/nologo" << "\n";
339-
command_file << "/E" << "\n";
338+
command_file << "/nologo" << '\n';
339+
command_file << "/E" << '\n';
340+
341+
// This option will make CL produce utf-8 output, as
342+
// opposed to 8-bit with some code page.
343+
// It only works on Visual Studio 2015 or newer.
344+
command_file << "/source-charset:utf-8" << '\n';
345+
340346
command_file << "/D__CPROVER__" << "\n";
341347
command_file << "/D__WORDSIZE=" << config.ansi_c.pointer_width << "\n";
342348

0 commit comments

Comments
 (0)