llvm-project/clang/docs
Richard Smith 552c6c2328 PR44406: Follow behavior of array bound constant folding in more recent versions of GCC.
Old GCC used to aggressively fold VLAs to constant-bound arrays at block
scope in GNU mode. That's non-conforming, and more modern versions of
GCC only do this at file scope. Update Clang to do the same.

Also promote the warning for this from off-by-default to on-by-default
in all cases; more recent versions of GCC likewise warn on this by
default.

This is still slightly more permissive than GCC, as pointed out in
PR44406, as we still fold VLAs to constant arrays in structs, but that
seems justifiable given that we don't support VLA-in-struct (and don't
intend to ever support it), but GCC does.

Differential Revision: https://reviews.llvm.org/D89523
2020-10-16 14:34:35 -07:00
..
CommandGuide [clang][docs] Fix documentation of -O 2020-09-17 13:44:01 +01:00
analyzer [NFC][Docs] fix clang-docs compilation 2020-09-24 13:13:38 +02:00
tools [ASTMatchers] Enhanced support for matchers taking Regex arguments 2020-07-02 14:52:25 +01:00
APINotes.rst docs: add documentation describing API Notes 2020-10-05 18:29:13 +00:00
AddressSanitizer.rst
AutomaticReferenceCounting.rst
Block-ABI-Apple.rst Fix the type of the invoke function in the block ABI documentation 2020-09-04 10:29:09 -07:00
Block-ABI-Apple.txt
BlockLanguageSpec.rst
CMakeLists.txt fix comment typo to cycle bots 2020-04-06 18:58:27 -04:00
ClangCheck.rst
ClangCommandLineReference.rst AMDGPU: Update AMDHSA code object version handling 2020-10-14 13:04:27 -04:00
ClangFormat.rst Add -Wno-error=unknown flag to clang-format. 2020-09-19 10:17:57 +02:00
ClangFormatStyleOptions.rst [clang-format] Add a option for the position of Java static import 2020-09-18 18:12:21 +01:00
ClangFormattedStatus.rst [clang-format] NFC 1% improvement in the overall clang-formatted status 2020-06-27 12:18:23 +01:00
ClangPlugins.rst
ClangStaticAnalyzer.rst
ClangTools.rst
ConstantInterpreter.rst [docs] Fix warnings in ConstantInterpreter 2020-05-23 19:36:05 +00:00
ControlFlowIntegrity.rst [docs] Update ControlFlowIntegrity.rst. 2020-10-02 12:01:05 -07:00
ControlFlowIntegrityDesign.rst
CrossCompilation.rst
DataFlowSanitizer.rst [docs] Add missing semicolon to example. 2020-08-14 13:46:05 -07:00
DataFlowSanitizerDesign.rst
DiagnosticsReference.rst [WebAssembly] Handle exception specifications 2020-05-19 01:16:09 -07:00
DriverArchitecture.png
DriverInternals.rst
ExternalClangExamples.rst
FAQ.rst
HardwareAssistedAddressSanitizerDesign.rst
HowToSetupToolingForLLVM.rst
InternalsManual.rst
IntroductionToTheClangAST.rst
ItaniumMangleAbiTags.rst
JSONCompilationDatabase.rst
LTOVisibility.rst [Docs] Document --lto-whole-program-visibility 2020-08-25 19:44:54 -07:00
LanguageExtensions.rst Revert "[SYCL] Implement __builtin_unique_stable_name." 2020-10-12 01:10:09 -04:00
LeakSanitizer.rst
LibASTImporter.rst
LibASTMatchers.rst
LibASTMatchersReference.html [clang-tidy] Fix crash in readability-function-cognitive-complexity on weak refs 2020-10-11 18:52:38 +03:00
LibASTMatchersTutorial.rst
LibFormat.rst [clang-format][docfix] Update predefined styles in docs 2020-05-20 20:03:53 -04:00
LibTooling.rst
MSVCCompatibility.rst
Makefile.sphinx
MatrixTypes.rst typo fixes to cycle bots 2020-07-01 19:20:05 -04:00
MemorySanitizer.rst
Modules.rst
ObjectiveCLiterals.rst
OpenCLSupport.rst
OpenMPSupport.rst [OpenMP][Docs] Mark `present` map type modifier as done 2020-08-05 10:03:31 -04:00
PCHInternals.rst
PCHLayout.graffle
PCHLayout.png
RAVFrontendAction.rst
README.txt
RefactoringEngine.rst
ReleaseNotes.rst [X86] Support -march=x86-64-v[234] 2020-10-12 10:29:46 -07:00
SafeStack.rst
SanitizerCoverage.rst [SanitizeCoverage] Rename -fsanitize-coverage-{white,black}list to -fsanitize-coverage-{allow,block}list 2020-06-19 22:22:47 -07:00
SanitizerSpecialCaseList.rst
SanitizerStats.rst
ShadowCallStack.rst
SourceBasedCodeCoverage.rst [profile] Add %t LLVM_PROFILE_FILE option to substitute $TMPDIR 2020-09-25 09:39:40 -07:00
ThinLTO.rst [ThinLTO][Documentation] Mention possible values for concurrency flags 2020-10-13 09:57:58 -04:00
ThreadSafetyAnalysis.rst Thread safety analysis: Improve documentation for ASSERT_CAPABILITY 2020-09-26 22:16:50 +02:00
ThreadSanitizer.rst
Toolchain.rst
Tooling.rst
UndefinedBehaviorSanitizer.rst Add an unsigned shift base sanitizer 2020-08-27 19:50:10 -07:00
UsersManual.rst PR44406: Follow behavior of array bound constant folding in more recent versions of GCC. 2020-10-16 14:34:35 -07:00
conf.py Bump the trunk major version to 12 2020-07-15 12:05:05 +02:00
doxygen-mainpage.dox
doxygen.cfg.in
index.rst [clang-format] Create a python documentation tool to generate a summary of the clang-format status for the whole of the LLVM project 2020-05-29 20:27:56 +01:00
make.bat

README.txt

See llvm/docs/README.txt