blob: 0d6c1ec3a69e1742bf3e1041ab4e077f52f7109d [file] [log] [blame]
"""Abseil compiler options.
This is the source of truth for Abseil compiler options. To modify Abseil
compilation options:
(1) Edit the appropriate list in this file based on the platform the flag is
needed on.
(2) Run `<path_to_absl>/copts/`.
The generated copts are consumed by configure_copts.bzl and
# /Wall with msvc includes unhelpful warnings such as C4711, C4710, ...
# gtest depends on this GNU extension being offered.
"/DNOMINMAX", # Don't define min and max macros (windows.h)
# Don't bloat namespace with incompatible winsock versions.
# Don't warn about usage of insecure C functions.
# Introduced in VS 2017 15.8, allow overaligned types in aligned_storage
"-Wvla", # variable-length array
# Don't define min and max macros (Build on Windows using gcc)
# Warnings that are enabled by group warning flags like -Wall that we
# explicitly disable.
# Disable warnings on unknown warning flags (when warning flags are
# unknown on older compiler versions)
# Don't define min and max macros (Build on Windows using clang)
# Increase the number of sections available in object files
"/wd4005", # macro-redefinition
"/wd4068", # unknown pragma
# qualifier applied to function type has no meaning; ignored
# conversion from 'type1' to 'type2', possible loss of data
# conversion from 'size_t' to 'type', possible loss of data
# The decorated name was longer than the compiler limit
# forcing value to bool 'true' or 'false' (performance warning)
"/wd4018", # signed/unsigned mismatch
"/wd4101", # unreferenced local variable
"/wd4503", # decorated name length exceeded, name was truncated
"/wd4996", # use of deprecated symbol
"/DNOMINMAX", # disable the min() and max() macros from <windows.h>
# Object file doesn't export any previously undefined symbols
# "HWAES" is an abbreviation for "hardware AES" (AES - Advanced Encryption
# Standard). These flags are used for detecting whether or not the target
# architecture has hardware support for AES instructions which can be used
# to improve performance of some random bit generators.
"ABSL_RANDOM_HWAES_ARM64_FLAGS": ["-march=armv8-a+crypto"],
"ABSL_RANDOM_HWAES_ARM32_FLAGS": ["-mfpu=neon"],