From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
-Wflex-array-member-not-at-end
to
+ -Wflex-array-member-not-at-end
to
identify all such cases in the source code and modify them.
-fcf-protection=[full|branch|return|none|check]
+ -fcf-protection=[full|branch|return|none|check]
is refactored, to override -fcf-protection
,
-fcf-protection=none
needs to be added and then
with -fcf-protection=xxx
.
@@ -58,7 +58,7 @@ a work-in-progress.
declared obsolete in GCC 14, and the sources will also be removed
in the next release of GCC.
-fanalyzer
+ -fanalyzer
is still only suitable for analyzing C code.
In particular, using it on C++ is unlikely to give meaningful output.
-lm
and/or
-lgfortran
to the offload-device linker using the -foffload-options=
flag.
-fhardened
,
+ -fhardened
,
an umbrella option that enables a set of hardening flags.
The options it enables can be displayed using the
--help=hardened
option.
-fharden-control-flow-redundancy
,
+ -fharden-control-flow-redundancy
,
to verify, at the end of functions, that the visited basic blocks
correspond to a legitimate execution path, so as to detect and
prevent attacks that transfer control into the middle of
@@ -100,7 +100,7 @@ a work-in-progress.
hardbool
,
+ hardbool
,
for C and Ada. Hardened
booleans take user-specified representations for true
and false
, presumably with higher hamming distance
@@ -109,7 +109,7 @@ a work-in-progress.
strub
+ strub
to control stack scrubbing
properties of functions and variables. The stack frame used by
functions marked with the attribute gets zeroed-out upon returning
@@ -119,7 +119,7 @@ a work-in-progress.
-finline-stringops
,
+ -finline-stringops
,
to force inline
expansion of memcmp
, memcpy
,
memmove
and memset
, even when that is
@@ -129,7 +129,7 @@ a work-in-progress.
null_terminated_string_arg(PARAM_IDX)
+ null_terminated_string_arg(PARAM_IDX)
for indicating parameters that are expected to be null-terminated
strings.
std::span
-like classes; there is
also a new attribute gnu::no_dangling
to suppress the
warning. See
- the manual
+ the manual
for more info.-Wnrvo
warning, to warn if the named return value
optimization is not performed although it is allowed by
[class.copy.elision]. See
- the manual
+ the manual
for more info.std::initializer_list
has been made
static, allowing combining multiple equivalent initializer-lists
@@ -500,7 +500,7 @@ a work-in-progress.
(PR18474)hot
and cold
can be applied to
classes as well. See
- the manual
+ the manual
for more info.-mtp=
is now supported for changing the TPIDR
register used for TLS accesses. For more details please refer to the
-
+
documentation.__AVR_RODATA_IN_RAM__
is supported
on all devices. It's defined to 0
or 1
.
@@ -866,7 +866,7 @@ __asm (".global __flmap_lock" "\n\t"
-mfuse-add=level
where level
@@ -977,7 +977,7 @@ __asm (".global __flmap_lock" "\n\t"
-march
parameters has been added:
la64v1.0
-mtune
parameters has been added:
generic
-mtls-dialect=desc
. The default behavior can be
configured with --with-tls=[trad|desc]
.-Wanalyzer-infinite-loop
+ -Wanalyzer-infinite-loop
warns about paths through the code which appear to lead to an infinite loop.
-Wanalyzer-overlapping-buffers
warns for paths through the code in which overlapping buffers are passed to an API for which the behavior on such buffers is undefined.
+ -Wanalyzer-overlapping-buffers
warns for paths through the code in which overlapping buffers are passed to an API for which the behavior on such buffers is undefined.
-Wanalyzer-undefined-behavior-strtok
+ -Wanalyzer-undefined-behavior-strtok
warns for paths through the code in which a call is made to
strtok
with undefined behavior.
-fanalyzer-checker=taint
+ -fanalyzer-checker=taint
(along with
- -fanalyzer
).
+ -fanalyzer
).
This is now enabled by default when
- -fanalyzer
+ -fanalyzer
is selected, thus also enabling the 6 taint-based warnings:
-Wanalyzer-tainted-allocation-size
+ -Wanalyzer-tainted-allocation-size
-Wanalyzer-tainted-array-index
+ -Wanalyzer-tainted-array-index
-Wanalyzer-tainted-assertion
+ -Wanalyzer-tainted-assertion
-Wanalyzer-tainted-divisor
+ -Wanalyzer-tainted-divisor
-Wanalyzer-tainted-offset
+ -Wanalyzer-tainted-offset
-Wanalyzer-tainted-size
+ -Wanalyzer-tainted-size
null_terminated_string_arg(PARAM_IDX)
+ null_terminated_string_arg(PARAM_IDX)
attribute,
functions that use the
- format
+ format
attribute,
and to the library functions
error
(parameter 3),
@@ -1437,14 +1437,14 @@ __asm (".global __flmap_lock" "\n\t"
alloc_size
+ alloc_size
allowing
- -fanalyzer
+ -fanalyzer
to emit
- -Wanalyzer-allocation-size
,
- -Wanalyzer-out-of-bounds
,
+ -Wanalyzer-allocation-size
,
+ -Wanalyzer-out-of-bounds
,
and
- -Wanalyzer-tainted-allocation-size
+ -Wanalyzer-tainted-allocation-size
on execution paths involving allocations using such functions.
-Wanalyzer-out-of-bounds
+ -Wanalyzer-out-of-bounds
has been extended so that, where possible, it will emit a text-based
diagram visualizing the spatial relationship between
Such "text art" diagrams can be controlled (or suppressed) via a new
- -fdiagnostics-text-art-charset=
option.
+ -fdiagnostics-text-art-charset=
option.
For example, given the out-of-bounds write in strcat
in:
@@ -1529,17 +1529,17 @@ it emits:
-fdiagnostics-format=
+ -fdiagnostics-format=
now adds indentation and newlines to reflect the logical JSON structure of the data. The previous compact behavior can be restored via the new option
- -fno-diagnostics-json-formatting
.
+ -fno-diagnostics-json-formatting
.
This also applies to the older output format named "json".
-ftime-report
,
+ -ftime-report
,
and a SARIF output format is requested via
- -fdiagnostics-format=
,
+ -fdiagnostics-format=
,
then the timing and memory usage data is now written in JSON form into
the SARIF output, rather than as plain text to stderr.
The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as well as test results to GCC. -This amazing +This amazing group of volunteers is what makes GCC successful.
For additional information about GCC please refer to the
diff --git a/htdocs/gcc-14/porting_to.html b/htdocs/gcc-14/porting_to.html
index db27f122..ef02e071 100644
--- a/htdocs/gcc-14/porting_to.html
+++ b/htdocs/gcc-14/porting_to.html
@@ -428,7 +428,7 @@ exec /usr/bin/gcc -fpermissive "$@"
C code generators that cannot be updated to generate valid standard C
can emit
-#pragma GCC diagnostic warning
+#pragma GCC diagnostic warning
directives to turn these errors back into warnings:
----------------------------------------------------------------------- Summary of changes: htdocs/gcc-14/changes.html | 128 +++++++++++++++++++++--------------------- htdocs/gcc-14/index.html | 2 +- htdocs/gcc-14/porting_to.html | 2 +- 3 files changed, 66 insertions(+), 66 deletions(-) hooks/post-receive -- gcc-wwwdocs