Skip to content

Commit 670c08b

Browse files
committed
[clang] Mark some language options as benign.
I'm fairly certain that the options in this CL are benign, as I don't believe they affect the AST. * RTTI - shouldn't affect the AST, should only affect codegen * Trivial var init - also should only affect codegen * Stack protector - also codegen * Exceptions - Since exceptions do allow new things in the AST, but I'm pretty sure that they can differ in parent and child safely, I marked it as compatible instead. I welcome any input from someone more familiar with this than me, as I might be wrong.
1 parent e0e3d05 commit 670c08b

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ Bug Fixes in This Version
562562
- Fixed a bug where an attribute before a ``pragma clang attribute`` or
563563
``pragma clang __debug`` would cause an assertion. Instead, this now diagnoses
564564
the invalid attribute location appropriately. (#GH137861)
565-
- Fixed a crash when a malformed ``_Pragma`` directive appears as part of an
565+
- Fixed a crash when a malformed ``_Pragma`` directive appears as part of an
566566
``#include`` directive. (#GH138094)
567567

568568
Bug Fixes to Compiler Builtins
@@ -674,6 +674,7 @@ Bug Fixes to C++ Support
674674
whose type depends on itself. (#GH51347), (#GH55872)
675675
- Improved parser recovery of invalid requirement expressions. In turn, this
676676
fixes crashes from follow-on processing of the invalid requirement. (#GH138820)
677+
- Clang modules now allow a module and its user to differ on TrivialAutoVarInit*
677678

678679
Bug Fixes to AST Handling
679680
^^^^^^^^^^^^^^^^^^^^^^^^^

clang/include/clang/Basic/LangOptions.def

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -398,11 +398,11 @@ BENIGN_LANGOPT(HalfNoSemanticInterposition, 1, 0,
398398
"Like -fno-semantic-interposition but don't use local aliases")
399399
ENUM_LANGOPT(StackProtector, StackProtectorMode, 2, SSPOff,
400400
"stack protector mode")
401-
ENUM_LANGOPT(TrivialAutoVarInit, TrivialAutoVarInitKind, 2, TrivialAutoVarInitKind::Uninitialized,
401+
BENIGN_ENUM_LANGOPT(TrivialAutoVarInit, TrivialAutoVarInitKind, 2, TrivialAutoVarInitKind::Uninitialized,
402402
"trivial automatic variable initialization")
403-
VALUE_LANGOPT(TrivialAutoVarInitStopAfter, 32, 0,
403+
BENIGN_VALUE_LANGOPT(TrivialAutoVarInitStopAfter, 32, 0,
404404
"stop trivial automatic variable initialization after the specified number of instances. Must be greater than 0.")
405-
VALUE_LANGOPT(TrivialAutoVarInitMaxSize, 32, 0,
405+
BENIGN_VALUE_LANGOPT(TrivialAutoVarInitMaxSize, 32, 0,
406406
"stop trivial automatic variable initialization if var size exceeds the specified size (in bytes). Must be greater than 0.")
407407
ENUM_LANGOPT(SignedOverflowBehavior, SignedOverflowBehaviorTy, 2, SOB_Undefined,
408408
"signed integer overflow handling")

0 commit comments

Comments
 (0)