1
- ========================================
2
- Clang 10.0.0 (In-Progress) Release Notes
3
- ========================================
1
+ ==========================
2
+ Clang 10.0.0 Release Notes
3
+ ==========================
4
4
5
5
.. contents ::
6
6
:local:
7
7
:depth: 2
8
8
9
9
Written by the `LLVM Team <https://llvm.org/ >`_
10
10
11
- .. warning ::
12
-
13
- These are in-progress notes for the upcoming Clang 10 release.
14
- Release notes for previous releases can be found on
15
- `the Download Page <https://releases.llvm.org/download.html >`_.
16
11
17
12
Introduction
18
13
============
@@ -30,10 +25,6 @@ For more information about Clang or LLVM, including information about the
30
25
latest release, please see the `Clang Web Site <https://clang.llvm.org >`_ or the
31
26
`LLVM Web Site <https://llvm.org >`_.
32
27
33
- Note that if you are reading this file from a Subversion checkout or the
34
- main Clang web page, this document applies to the *next * release, not
35
- the current one. To see the release notes for a specific release, please
36
- see the `releases page <https://llvm.org/releases/ >`_.
37
28
38
29
What's New in Clang 10.0.0?
39
30
===========================
@@ -58,27 +49,33 @@ Improvements to Clang's diagnostics
58
49
59
50
- -Wtautological-overlap-compare will warn on negative numbers and non-int
60
51
types.
52
+
61
53
- -Wtautological-compare for self comparisons and
62
54
-Wtautological-overlap-compare will now look through member and array
63
55
access to determine if two operand expressions are the same.
56
+
64
57
- -Wtautological-bitwise-compare is a new warning group. This group has the
65
58
current warning which diagnoses the tautological comparison of a bitwise
66
59
operation and a constant. The group also has the new warning which diagnoses
67
60
when a bitwise-or with a non-negative value is converted to a bool, since
68
61
that bool will always be true.
62
+
69
63
- -Wbitwise-conditional-parentheses will warn on operator precedence issues
70
64
when mixing bitwise-and (&) and bitwise-or (|) operator with the
71
65
conditional operator (?:).
66
+
72
67
- -Wrange-loop-analysis got several improvements. It no longer warns about a
73
68
copy being made when the result is bound to an rvalue reference. It no longer
74
69
warns when an object of a small, trivially copyable type is copied. The
75
70
warning now offers fixits. Excluding -Wrange-loop-bind-reference it is now
76
71
part of -Wall. To reduce the number of false positives the diagnostic is
77
72
disabled in macros and template instantiations.
73
+
78
74
- -Wmisleading-indentation has been added. This warning is similar to the GCC
79
75
warning of the same name. It warns about statements that are indented as if
80
76
they were part of a if/else/for/while statement but are not semantically
81
77
part of that if/else/for/while.
78
+
82
79
- -Wbitwise-op-parentheses and -Wlogical-op-parentheses are disabled by default.
83
80
84
81
Non-comprehensive list of changes in this release
@@ -98,7 +95,7 @@ Non-comprehensive list of changes in this release
98
95
learned to sanitize pre/post increment/decrement of types with bit width
99
96
smaller than ``int ``.
100
97
101
- - For X86 target, -march=skylake-avx512, -march=icelake-client,
98
+ * For X86 target, -march=skylake-avx512, -march=icelake-client,
102
99
-march=icelake-server, -march=cascadelake, -march=cooperlake will default to
103
100
not using 512-bit zmm registers in vectorized code unless 512-bit intrinsics
104
101
are used in the source code. 512-bit operations are known to cause the CPUs
@@ -145,12 +142,12 @@ New Compiler Flags
145
142
please let us know if you encounter a situation where you need to specify this
146
143
flag for correct program behavior.
147
144
148
- - The `-ffixed-xX ` flags now work on RISC-V. These reserve the corresponding
145
+ - The `` -ffixed-xX ` ` flags now work on RISC-V. These reserve the corresponding
149
146
general-purpose registers.
150
147
151
- - RISC-V has added `-mcmodel=medany ` and `-mcmodel=medlow ` as aliases for
152
- `-mcmodel=small ` and `-mcmodel=medium ` respectively. Preprocessor definitions
153
- for `__riscv_cmodel_medlow ` and `__riscv_cmodel_medany ` have been corrected.
148
+ - RISC-V has added `` -mcmodel=medany `` and `` -mcmodel=medlow ` ` as aliases for
149
+ `` -mcmodel=small `` and `` -mcmodel=medium ` ` respectively. Preprocessor definitions
150
+ for `` __riscv_cmodel_medlow `` and `` __riscv_cmodel_medany ` ` have been corrected.
154
151
155
152
- ``-fmacro-prefix-map=OLD=NEW `` substitutes directory prefix ``OLD `` for
156
153
``NEW `` in predefined preprocessor macros such as ``__FILE__ ``. This helps
@@ -173,12 +170,12 @@ future versions of Clang.
173
170
174
171
- -mmpx used to enable the __MPX__ preprocessor define for the Intel MPX
175
172
instructions. There were no MPX intrinsics.
173
+
176
174
- -mno-mpx used to disable -mmpx and is the default behavior.
175
+
177
176
- -fconcepts-ts previously used to enable experimental concepts support. Use
178
177
-std=c++2a instead to enable Concepts support.
179
178
180
- - ...
181
-
182
179
Modified Compiler Flags
183
180
-----------------------
184
181
@@ -212,11 +209,6 @@ Modified Compiler Flags
212
209
- RISC-V now supports multilibs in baremetal environments. This support does not
213
210
extend to supporting multilib aliases.
214
211
215
- New Pragmas in Clang
216
- --------------------
217
-
218
- - ...
219
-
220
212
Attribute Changes in Clang
221
213
--------------------------
222
214
@@ -247,16 +239,6 @@ Windows Support
247
239
functions using the new ``__declspec(guard(nocf)) `` modifier.
248
240
249
241
250
- C Language Changes in Clang
251
- ---------------------------
252
-
253
- - ...
254
-
255
- C11 Feature Support
256
- ^^^^^^^^^^^^^^^^^^^
257
-
258
- ...
259
-
260
242
C++ Language Changes in Clang
261
243
-----------------------------
262
244
@@ -265,11 +247,6 @@ C++ Language Changes in Clang
265
247
how it behaved in previous Clang versions, a warning is emitted for this
266
248
combination.
267
249
268
- C++1z Feature Support
269
- ^^^^^^^^^^^^^^^^^^^^^
270
-
271
- ...
272
-
273
250
Objective-C Language Changes in Clang
274
251
-------------------------------------
275
252
@@ -390,10 +367,6 @@ Other improvements:
390
367
- Added basic analysis for use of the uninitialized variables in clauses.
391
368
- Bug fixes.
392
369
393
- CUDA Support in Clang
394
- ---------------------
395
-
396
- - ...
397
370
398
371
Internal API Changes
399
372
--------------------
@@ -429,12 +402,6 @@ release of Clang. Users of the build system should adjust accordingly.
429
402
statically linking clang's components. This option will reduce the size of
430
403
binary distributions at the expense of compiler performance.
431
404
432
- - ...
433
-
434
- AST Matchers
435
- ------------
436
-
437
- - ...
438
405
439
406
clang-format
440
407
------------
@@ -578,25 +545,6 @@ Undefined Behavior Sanitizer (UBSan)
578
545
return getelementpointer_inbounds(base, offset);
579
546
}
580
547
581
- Core Analysis Improvements
582
- ==========================
583
-
584
- - ...
585
-
586
- New Issues Found
587
- ================
588
-
589
- - ...
590
-
591
- Python Binding Changes
592
- ----------------------
593
-
594
- The following methods have been added:
595
-
596
- - ...
597
-
598
- Significant Known Problems
599
- ==========================
600
548
601
549
Additional Information
602
550
======================
0 commit comments