Skip to content

Commit e8b35cc

Browse files
authored
Merge branch 'main' into llvm-c-enumerator-arbitrary-size
2 parents c57193a + 3ce2d1e commit e8b35cc

File tree

325 files changed

+8970
-1258
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

325 files changed

+8970
-1258
lines changed

bolt/docs/CMakeLists.txt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,6 @@ if (LLVM_ENABLE_DOXYGEN)
4848
set(bolt_doxygen_qhp_cust_filter_attrs "")
4949
endif()
5050

51-
option(LLVM_DOXYGEN_SVG
52-
"Use svg instead of png files for doxygen graphs." OFF)
53-
if (LLVM_DOXYGEN_SVG)
54-
set(DOT_IMAGE_FORMAT "svg")
55-
else()
56-
set(DOT_IMAGE_FORMAT "png")
57-
endif()
58-
5951
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
6052
${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
6153

@@ -73,7 +65,6 @@ if (LLVM_ENABLE_DOXYGEN)
7365
set(bolt_doxygen_qhelpgenerator_path)
7466
set(bolt_doxygen_qhp_cust_filter_name)
7567
set(bolt_doxygen_qhp_cust_filter_attrs)
76-
set(DOT_IMAGE_FORMAT)
7768

7869
add_custom_target(doxygen-bolt
7970
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg

bolt/docs/doxygen.cfg.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2210,7 +2210,7 @@ DIRECTORY_GRAPH = YES
22102210
# The default value is: png.
22112211
# This tag requires that the tag HAVE_DOT is set to YES.
22122212

2213-
DOT_IMAGE_FORMAT = @DOT_IMAGE_FORMAT@
2213+
DOT_IMAGE_FORMAT = svg
22142214

22152215
# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
22162216
# enable generation of interactive SVG images that allow zooming and panning.

clang-tools-extra/docs/CMakeLists.txt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,6 @@ if (DOXYGEN_FOUND)
4646
set(clang_tools_doxygen_qhp_cust_filter_attrs "")
4747
endif()
4848

49-
option(LLVM_DOXYGEN_SVG
50-
"Use svg instead of png files for doxygen graphs." OFF)
51-
if (LLVM_DOXYGEN_SVG)
52-
set(DOT_IMAGE_FORMAT "svg")
53-
else()
54-
set(DOT_IMAGE_FORMAT "png")
55-
endif()
56-
5749
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
5850
${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
5951

@@ -71,7 +63,6 @@ if (DOXYGEN_FOUND)
7163
set(clang_tools_doxygen_qhelpgenerator_path)
7264
set(clang_tools_doxygen_qhp_cust_filter_name)
7365
set(clang_tools_doxygen_qhp_cust_filter_attrs)
74-
set(DOT_IMAGE_FORMAT)
7566

7667
add_custom_target(doxygen-clang-tools
7768
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg

clang-tools-extra/docs/doxygen.cfg.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2205,7 +2205,7 @@ DIRECTORY_GRAPH = YES
22052205
# The default value is: png.
22062206
# This tag requires that the tag HAVE_DOT is set to YES.
22072207

2208-
DOT_IMAGE_FORMAT = @DOT_IMAGE_FORMAT@
2208+
DOT_IMAGE_FORMAT = svg
22092209

22102210
# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
22112211
# enable generation of interactive SVG images that allow zooming and panning.

clang/docs/CMakeLists.txt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,6 @@ if (LLVM_ENABLE_DOXYGEN)
4747
set(clang_doxygen_qhp_cust_filter_attrs "")
4848
endif()
4949

50-
option(LLVM_DOXYGEN_SVG
51-
"Use svg instead of png files for doxygen graphs." OFF)
52-
if (LLVM_DOXYGEN_SVG)
53-
set(DOT_IMAGE_FORMAT "svg")
54-
else()
55-
set(DOT_IMAGE_FORMAT "png")
56-
endif()
57-
5850
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxygen.cfg.in
5951
${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg @ONLY)
6052

@@ -72,7 +64,6 @@ if (LLVM_ENABLE_DOXYGEN)
7264
set(clang_doxygen_qhelpgenerator_path)
7365
set(clang_doxygen_qhp_cust_filter_name)
7466
set(clang_doxygen_qhp_cust_filter_attrs)
75-
set(DOT_IMAGE_FORMAT)
7667

7768
add_custom_target(doxygen-clang
7869
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg

clang/docs/CommandGuide/clang.rst

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -443,11 +443,8 @@ Code Generation Options
443443
:option:`-Oz` Like :option:`-Os` (and thus :option:`-O2`), but reduces code
444444
size further.
445445

446-
:option:`-Og` Similar to :option:`-O1`, but with slightly reduced
447-
optimization and better variable visibility. The same optimizations are run
448-
as at :option:`-O1`, but the ``-fextend-variable-liveness`` flag is
449-
also set, which tries to prevent optimizations from reducing the liveness of
450-
user variables, improving their availability when debugging.
446+
:option:`-Og` Like :option:`-O1`. In future versions, this option might
447+
disable different optimizations in order to improve debuggability.
451448

452449
:option:`-O` Equivalent to :option:`-O1`.
453450

clang/docs/ReleaseNotes.rst

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,13 @@ C Language Changes
140140
- Clang now allows an ``inline`` specifier on a typedef declaration of a
141141
function type in Microsoft compatibility mode. #GH124869
142142
- Clang now allows ``restrict`` qualifier for array types with pointer elements (#GH92847).
143+
- Clang now diagnoses ``const``-qualified object definitions without an
144+
initializer. If the object is zero-initialized, it will be diagnosed under
145+
the new warning ``-Wdefault-const-init`` (which is grouped under
146+
``-Wc++-compat`` because this construct is not compatible with C++). If the
147+
object is left uninitialized, it will be diagnosed unsed the new warning
148+
``-Wdefault-const-init-unsafe`` (which is grouped under
149+
``-Wdefault-const-init``). #GH19297
143150
- Added ``-Wimplicit-void-ptr-cast``, grouped under ``-Wc++-compat``, which
144151
diagnoses implicit conversion from ``void *`` to another pointer type as
145152
being incompatible with C++. (#GH17792)
@@ -230,10 +237,6 @@ Modified Compiler Flags
230237

231238
- The ``-mexecute-only`` and ``-mpure-code`` flags are now accepted for AArch64 targets. (#GH125688)
232239

233-
- The ``-Og`` optimization flag now sets ``-fextend-variable-liveness``,
234-
reducing performance slightly while reducing the number of optimized-out
235-
variables.
236-
237240
Removed Compiler Flags
238241
-------------------------
239242

clang/docs/doxygen.cfg.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2193,7 +2193,7 @@ DIRECTORY_GRAPH = YES
21932193
# The default value is: png.
21942194
# This tag requires that the tag HAVE_DOT is set to YES.
21952195

2196-
DOT_IMAGE_FORMAT = @DOT_IMAGE_FORMAT@
2196+
DOT_IMAGE_FORMAT = svg
21972197

21982198
# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
21992199
# enable generation of interactive SVG images that allow zooming and panning.

clang/include/clang/Basic/DiagnosticGroups.td

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,11 @@ def BuiltinRequiresHeader : DiagGroup<"builtin-requires-header">;
154154
def C99Compat : DiagGroup<"c99-compat">;
155155
def C23Compat : DiagGroup<"c23-compat">;
156156
def : DiagGroup<"c2x-compat", [C23Compat]>;
157-
157+
def DefaultConstInitUnsafe : DiagGroup<"default-const-init-unsafe">;
158+
def DefaultConstInit : DiagGroup<"default-const-init", [DefaultConstInitUnsafe]>;
158159
def ImplicitVoidPtrCast : DiagGroup<"implicit-void-ptr-cast">;
159-
def CXXCompat: DiagGroup<"c++-compat", [ImplicitVoidPtrCast]>;
160+
def CXXCompat: DiagGroup<"c++-compat", [ImplicitVoidPtrCast, DefaultConstInit]>;
161+
160162
def ExternCCompat : DiagGroup<"extern-c-compat">;
161163
def KeywordCompat : DiagGroup<"keyword-compat">;
162164
def GNUCaseRange : DiagGroup<"gnu-case-range">;

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8197,6 +8197,16 @@ def err_address_space_qualified_new : Error<
81978197
def err_address_space_qualified_delete : Error<
81988198
"'delete' cannot delete objects of type %0 in address space '%1'">;
81998199

8200+
def note_default_init_const_member : Note<
8201+
"member %0 declared 'const' here">;
8202+
def warn_default_init_const : Warning<
8203+
"default initialization of an object of type %0%select{| with const member}1 "
8204+
"is incompatible with C++">,
8205+
InGroup<DefaultConstInit>, DefaultIgnore;
8206+
def warn_default_init_const_unsafe : Warning<
8207+
"default initialization of an object of type %0%select{| with const member}1 "
8208+
"leaves the object uninitialized and is incompatible with C++">,
8209+
InGroup<DefaultConstInitUnsafe>;
82008210
def err_default_init_const : Error<
82018211
"default initialization of an object of const type %0"
82028212
"%select{| without a user-provided default constructor}1">;

0 commit comments

Comments
 (0)