# [ filename | {regex} ] -{removed options} +{added options} s/// ...
#
# Avoid using non-configure controlled +{} directly in this file, as
# it'll most likely break on other platforms.
#
# Note, empty regex/options are just ignored.
#
src/platform.c      -{-Wcast-qual}           # noisy
src/spf_render.c    -{-Wformat-nonliteral}   # noisy
src/tsq.c           -{@optimize@}           # never optimize tsq.c!
src/ops/core_ops_cg.c      -{@optimize@}    # takes too long
src/ops/core_ops_switch.c  -{@optimize@}    # Overwhelms some compilers.

# io should be -Wunused clean
{^src/io/}              s/-Wno-unused/-Wunused/

# files which make their way into dynamically loaded files should be compiled
# with shared library options
src/extend.c        +{@cc_shared@}
src/nci_test.c      +{@cc_shared@}

# imcc file settings
{^compilers/imcc/}            -{-Wwrite-strings -Wcast-qual}
{^compilers/imcc/(?!imclexer)}      s/-Wno-unused/-Wunused/
compilers/imcc/instructions.c -{-Wformat-nonliteral} # noisy
compilers/imcc/debug.c        -{-Wformat-nonliteral} # noisy
compilers/imcc/optimizer.c    -{-Wformat-nonliteral} # noisy
compilers/imcc/parser_util.c  -{-Wformat-nonliteral} # noisy
compilers/imcc/imclexer.c     -{-Wunused}  # noisy
compilers/imcc/imclexer.c     -{-Wswitch-default}  # occurs in generated code
