llvm-project/clang/docs
Aaron Ballman a18632adc8 Add diagnostic groups for attribute extensions
Some users have a need to control attribute extension diagnostics
independent of other extension diagnostics. Consider something like use
of [[nodiscard]] within C++11:
```
[[nodiscard]]
int f();
```
If compiled with -Wc++17-extensions enabled, this will produce warning:
use of the 'nodiscard' attribute is a C++17 extension. This diagnostic
is correct -- using [[nodiscard]] in C++11 mode is a C++17 extension.
And the behavior of __has_cpp_attribute(nodiscard) is also correct --
we support [[nodiscard]] in C++11 mode as a conforming extension. But
this makes use of -Werror or -pedantic-errors` builds more onerous.

This patch adds diagnostic groups for attribute extensions so that
users can selectively disable attribute extension diagnostics. I
believe this is preferable to requiring users to specify additional
flags because it means -Wc++17-extensions continues to be the way we
enable all C++17-related extension diagnostics. It would be quite easy
for someone to use that flag thinking they're protected from some
portability issues without realizing it skipped attribute extensions if
we went the other way.

This addresses PR33518.
2021-12-07 11:49:53 -05:00
..
CommandGuide [clang][docs] Fix documentation of -O 2020-09-17 13:44:01 +01:00
DataFlowAnalysisIntroImages [clang][docs][dataflow] Added an introduction to dataflow analysis 2021-12-06 12:16:35 +01:00
analyzer [analyzer][doc] Add user documenation for taint analysis 2021-11-28 23:36:47 +01:00
tools [clang-format] NFC update LLVM overall clang-formatted status 2021-11-25 19:35:45 +00:00
APINotes.rst docs: add documentation describing API Notes 2020-10-05 18:29:13 +00:00
AddressSanitizer.rst [clang] Fix typos in documentation (NFC) 2021-08-21 12:17:58 -07:00
AutomaticReferenceCounting.rst [clang] Fix typos in documentation (NFC) 2021-03-06 15:52:52 -08:00
Block-ABI-Apple.rst [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
BlockLanguageSpec.rst
CMakeLists.txt fix comment typo to cycle bots 2020-04-06 18:58:27 -04:00
ClangCheck.rst
ClangCommandLineReference.rst [ARM] Implement setjmp BTI placement for PACBTI-M 2021-12-06 11:07:10 +00:00
ClangFormat.rst [clang-format] Add basic support for formatting JSON 2021-06-26 15:20:17 +01:00
ClangFormatStyleOptions.rst [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
ClangFormattedStatus.rst [clang-format] NFC update LLVM overall clang-formatted status 2021-11-25 19:35:45 +00:00
ClangNvlinkWrapper.rst [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
ClangOffloadBundler.rst [clang-offload-bundler][docs][NFC] invalid indentation cause build issue 2021-09-24 08:03:52 +01:00
ClangPlugins.rst [clang][driver] Add -fplugin-arg- to pass arguments to plugins 2021-11-25 10:47:55 +01:00
ClangStaticAnalyzer.rst
ClangTools.rst [Branch-Rename] Fix some links 2021-02-01 16:43:21 +05:30
ClangTransformerTutorial.rst Add a clang-transformer tutorial 2021-11-17 13:40:46 +00:00
ConstantInterpreter.rst [docs] Fix warnings in ConstantInterpreter 2020-05-23 19:36:05 +00:00
ControlFlowIntegrity.rst [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
ControlFlowIntegrityDesign.rst [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
CrossCompilation.rst
DataFlowAnalysisIntro.md [clang][docs][dataflow] Added an introduction to dataflow analysis 2021-12-06 12:16:35 +01:00
DataFlowSanitizer.rst [DFSan] Add force_zero_label abilist option to DFSan. This can be used as a work-around for overtainting. 2021-09-17 12:57:40 -07:00
DataFlowSanitizerDesign.rst [clang] Fix typos in documentation (NFC) 2021-08-21 12:17:58 -07:00
DriverArchitecture.png
DriverInternals.rst
ExternalClangExamples.rst
FAQ.rst
HardwareAssistedAddressSanitizerDesign.rst [HWASan] Mention x86_64 aliasing mode in design doc. 2021-03-25 14:22:20 -07:00
HowToSetupToolingForLLVM.rst
InternalsManual.rst [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
IntroductionToTheClangAST.rst [clang] Fix typos in documentation (NFC) 2021-08-21 12:17:58 -07:00
ItaniumMangleAbiTags.rst
JSONCompilationDatabase.rst Compilation Database: Point Bazel users to a solution 2021-11-28 19:30:06 -05:00
LTOVisibility.rst [Docs] Document --lto-whole-program-visibility 2020-08-25 19:44:54 -07:00
LanguageExtensions.rst Introduce _BitInt, deprecate _ExtInt 2021-12-06 12:52:01 -05:00
LeakSanitizer.rst [lsan][docs] Clarify supported platforms 2021-04-21 10:27:55 -07:00
LibASTImporter.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
LibASTMatchers.rst
LibASTMatchersReference.html Fix documentation for `forEachLambdaCapture` and `hasAnyCapture` 2021-12-02 13:28:05 +00:00
LibASTMatchersTutorial.rst [docs] Fix linking issues in LibASTMatchers tutorial 2021-07-05 12:11:25 +03:00
LibFormat.rst [NFC] Inclusive language: Remove instances of master in URLs 2021-11-05 08:48:41 -05:00
LibTooling.rst [Branch-Rename] Fix some links 2021-02-01 16:43:21 +05:30
MSVCCompatibility.rst
MatrixTypes.rst [Matrix] Add missing newline to appease sphinx. 2021-03-12 09:33:36 +00:00
MemorySanitizer.rst [msan] Add support for disable_sanitizer_instrumentation attribute 2021-08-20 15:11:26 +02:00
Modules.rst [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
ObjectiveCLiterals.rst
OpenCLSupport.rst [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
OpenMPSupport.rst [OpenMP] support depend clause for taskwait directive, by Deepak 2021-11-19 06:30:17 -08:00
PCHInternals.rst
PCHLayout.graffle
PCHLayout.png
RAVFrontendAction.rst [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
README.txt
RefactoringEngine.rst
ReleaseNotes.rst Add diagnostic groups for attribute extensions 2021-12-07 11:49:53 -05:00
SYCLSupport.rst [SYCL] Enable `opencl_global_[host,device]` attributes for SYCL 2021-05-18 10:27:35 +03:00
SafeStack.rst
SanitizerCoverage.rst [NFC] Trim trailing whitespace in *.rst 2021-11-15 09:17:08 +08:00
SanitizerSpecialCaseList.rst [clang] accept -fsanitize-ignorelist= in addition to -fsanitize-blacklist= 2021-05-04 10:24:00 -04:00
SanitizerStats.rst
ShadowCallStack.rst
SourceBasedCodeCoverage.rst Coverage: Document how to collect a profile without a filesystem 2021-04-22 11:29:39 -07:00
ThinLTO.rst [clang] Fix sentence in the usage section of ThinLTO docs. 2021-09-30 07:26:19 +05:30
ThreadSafetyAnalysis.rst [clang][docs] Inclusive language: remove use of sanity check in option description 2021-11-30 15:07:43 -05:00
ThreadSanitizer.rst [tsan] Add support for disable_sanitizer_instrumentation attribute 2021-08-23 12:38:33 +02:00
Toolchain.rst [clang] Fix library name (libsupc++) in the admonition note. 2021-09-29 19:45:06 +05:30
Tooling.rst
UndefinedBehaviorSanitizer.rst Improve UBSan documentation 2021-08-02 15:10:21 -07:00
UsersManual.rst [Docs] Removed /Zd flag still mentioned in documentation 2021-11-26 18:08:06 +05:30
conf.py [clang][docs][dataflow] Added an introduction to dataflow analysis 2021-12-06 12:16:35 +01:00
doxygen-mainpage.dox
doxygen.cfg.in [NFC] Inclusive Language: change master to main for .chm files 2021-11-08 08:23:04 -06:00
index.rst [clang][docs][dataflow] Added an introduction to dataflow analysis 2021-12-06 12:16:35 +01:00
make.bat

README.txt

See llvm/docs/README.txt