summaryrefslogtreecommitdiffstats
path: root/js/src/js-cxxflags.mozbuild
blob: 6327bef0ac1af1c6a2bb1c7dd741c700f037b641 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# ICU pkg-config flags
CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS']

if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
    # Also disable strict-aliasing for GCC compiler, that is enabled by default
    # starting with version 7.1, see Bug 1363009
    CXXFLAGS += ['-fno-strict-aliasing']
    # Error on bad printf-like format strings
    CXXFLAGS += ['-Werror=format']
    # Ignore shadowed variable warnings as there are too many.
    CXXFLAGS += ['-Wno-shadow']

# gcc is buggy and warns on our attempts to JS_PUBLIC_API our
# forward-declarations or explicit template instantiations. See
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50044
if CONFIG['CC_TYPE'] == 'gcc':
    CXXFLAGS += ['-Wno-attributes']