Validates. The wording could probably use some work. OK to push to the website repo?
--- htdocs/gcc-10/changes.html | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/htdocs/gcc-10/changes.html b/htdocs/gcc-10/changes.html index 65e2fb3d..acd0c342 100644 --- a/htdocs/gcc-10/changes.html +++ b/htdocs/gcc-10/changes.html @@ -98,6 +98,14 @@ a work-in-progress.</p> This makes it possible to rebuild program with same outcome which is useful, for example, for distribution packages. </li> + <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html">-fanalyzer</a> + enables a new static analysis pass and associated warnings. + This pass performs a time-consuming exploration of paths through + the code in the hope of detecting various common errors, such as + double-free bugs. This option should be regarded as + <b>experimental</b> in this release. In particular, analysis of non-C + code is unlikely to work. + </li> </ul> </li> <li> @@ -860,7 +868,23 @@ typedef svbool_t pred512 __attribute__((arm_sve_vector_bits(512))); <!-- .................................................................. --> -<!-- <h2 id="plugins">Improvements for plugin authors</h2> --> +<h2 id="plugins">Improvements for plugin authors</h2> +<ul> + <li> + GCC diagnostics can now have a chain of events associated with them, + describing a path through the code that triggers the problem. + These can be printed by the diagnostics subsystem in various ways, + controlled by the + <a href="https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-path-format">-fdiagnostics-path-format</a> + option, or captured in JSON form via + <a href="https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format">-fdiagnostics-format=json</a>.</li> + <li> + GCC diagnostics can now be associated with + <a href="https://cwe.mitre.org/">CWE weakness identifiers</a>, which + will appear on the standard error stream, and in the JSON output from + <a href="https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format">-fdiagnostics-format=json</a>. + </li> +</ul> <!-- .................................................................. --> <h2>Other significant improvements</h2> @@ -873,9 +897,18 @@ typedef svbool_t pred512 __attribute__((arm_sve_vector_bits(512))); for overlapping memory moves, consistent with the library functions <code>memcpy</code> and <code>memmove</code>. </li> + <li> + For many releases, when GCC emits a warning it prints the option + controlling that warning. As of GCC 10, that option text is now a + clickable hyperlink for the documentation of that option (assuming a + <a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda">sufficiently capable terminal</a>). + This behavior can be controlled via a new + <a href="https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-urls">-fdiagnostics-urls</a> + option (along with various environment variables and heuristics + documented with that option). + </li> </ul> - <!-- .................................................................. --> <!-- <h2><a name="10.1">GCC 10.1</a></h2> --> -- 2.21.0