You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: clang/docs/ReleaseNotes.rst
+58-9
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ Written by the `LLVM Team <https://llvm.org/>`_
11
11
Introduction
12
12
============
13
13
14
-
This document contains the release notes for the Clang C/C++/Objective-C
14
+
This document contains the release notes for the Clang C/C++/Objective-C/OpenCL
15
15
frontend, part of the LLVM Compiler Infrastructure, release 8.0.0. Here we
16
16
describe the status of Clang in some detail, including major
17
17
improvements from the previous release and new feature work. For the
@@ -41,7 +41,7 @@ Major New Features
41
41
example, due to renaming a class or namespace).
42
42
See the :ref:`UsersManual <profile_remapping>` for details.
43
43
44
-
- Clang has new options to initialize automatic variables with either a pattern or with zeroes. The default is still that automatic variables are uninitialized. This isn't meant to change the semantics of C and C++. Rather, it's meant to be a last resort when programmers inadvertently have some undefined behavior in their code. These options aim to make undefined behavior hurt less, which security-minded people will be very happy about. Notably, this means that there's no inadvertent information leak when:
44
+
- Clang has new options to initialize automatic variables with a pattern. The default is still that automatic variables are uninitialized. This isn't meant to change the semantics of C and C++. Rather, it's meant to be a last resort when programmers inadvertently have some undefined behavior in their code. These options aim to make undefined behavior hurt less, which security-minded people will be very happy about. Notably, this means that there's no inadvertent information leak when:
45
45
46
46
* The compiler re-uses stack slots, and a value is used uninitialized.
There is also a new attribute to request a variable to not be initialized, mainly to disable initialization of large stack arrays when deemed too expensive:
0 commit comments