From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
The following built-in functions have been introduced.
__builtin_roundeven
for the corresponding function from
- ISO/IEC TS 18661.
+ __has_builtin
+ built-in preprocessor operator can be used to query support
+ for built-in functions provided by GCC and other compilers
+ that support it.
+ __builtin_roundeven
for the corresponding function from
+ ISO/IEC TS 18661.
+ -fallocation-dce
- has been added. The option removes unneeded pairs of new
- and delete
operators.
+ New command-line options:
+ -fallocation-dce
+ removes unneeded pairs of new
and delete
+ operators.
+ -fprofile-values
,
+ Using -fprofile-values
,
an instrumented binary can track multiple
values (up to 4) for e.g. indirect calls and provide more precise profile information.
lto-dump
+ A new binary lto-dump
has been added. The program can dump various
information about a LTO bytecode object file.
access
function and type attribute has been added
+ to describe how a function accesses objects passed to it by pointer
+ or reference, and to associate such arguments with integer arguments
+ denoting the objects' sizes. The attribute is used to enable
+ the detection of invalid accesses by user-defined functions, such
+ as those diagnosed by -Wstringop-overflow
.
+ -Wstring-compare
, enabled
+ by -Wextra
, warns about equality and inequality
+ expressions between zero and the result of a call to either
+ strcmp
and strncmp
that evaluate to
+ a constant as a result of the length of one argument being greater
+ than the size of the array pointed to by the other.
+ -Wzero-length-bounds
,
+ enabled by -Warray-bounds
, warns about accesses to
+ elements of zero-length arrays that might overlap other members
+ of the same object.
+ -Warray-bounds
+ detects more out-of-bounds accesses to member arrays as well as
+ accesses to elements of zero-length arrays.
+ -Wformat-overflow
+ makes full use of string length information computed by
+ the strlen
optimization pass.
+ -Wrestrict
+ detects overlapping accesses to dynamically allocated objects.
+ -Wreturn-local-addr
+ diagnoses more instances of return
statements returning
+ addresses of automatic variables.
+ -Wstringop-overflow
+ detects more out-of-bounds stores to member arrays including
+ zero-length arrays, dynamically allocated objects and variable length
+ arrays, as well as more instances of reads of unterminated character
+ arrays by string built-in functions. The warning also detects
+ out-of-bounds accesses by calls to user-defined functions declared
+ with the new attribute access
.
+ initializer-list
-Wmismatched-tags
,
+ disabled by default, warns about declarations of structs, classes,
+ and class templates and their specializations with a class-key that
+ does not match either the definition or the first declaration if no
+ definition is provided. The option is provided to ease portability
+ to Windows-based compilers.
+ -Wredundant-tags
,
+ disabled by default, warns about redundant class-key and
+ enum-key in contexts where the key can be eliminated without
+ causing an syntactic ambiguity.
+ -B
and
-mmcu=
.
See
- AVR
+ AVR
command-line options for details.
This feature is also available in GCC 9.3+ and GCC 8.4+.