8000 [mypyc] Use more accurate flags with msvc · python/mypy@c609d52 · GitHub
[go: up one dir, main page]

Skip to content

Commit c609d52

Browse files
committed
[mypyc] Use more accurate flags with msvc
1 parent 1480344 commit c609d52

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

mypyc/build.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,14 +523,27 @@ def mypycify(
523523
# This flag is needed for gcc but does not exist on clang.
524524
cflags += ['-Wno-unused-but-set-variable']
525525
elif compiler.compiler_type == 'msvc':
526-
if opt_level == '3':
526+
# msvc doesn't have levels, '/O2' is 'on' and '/Od' is disable
527+
if opt_level == '0':
528+
opt_level = 'd'
529+
elif opt_level in ('1', '2', '3'):
527530
opt_level = '2'
531+
if debug_level == '0':
532+
cflags += ['/DEBUG:NONE']
533+
elif debug_level == '1':
534+
cflags += ['/DEBUG:FASTLINK']
535+
elif debug_level in ('2', '3'):
536+
cflags += [
537+
'/DEBUG:FULL',
538+
'/Z7', # full symbolic debugging information
539+
]
528540
cflags += [
529541
'/O{}'.format(opt_level),
530542
'/wd4102', # unreferenced label
531543
'/wd4101', # unreferenced local variable
532544
'/wd4146', # negating unsigned int
533545
]
546+
534547
if multi_file:
535548
# Disable whole program optimization in multi-file mode so
536549
# that we actually get the compilation speed and memory

0 commit comments

Comments
 (0)
0