-
Notifications
You must be signed in to change notification settings - Fork 14.3k
nonblocking/nonallocating attributes (was: nolock/noalloc) #84983
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 4 commits
Commits
Show all changes
84 commits
Select commit
Hold shift + click to select a range
0619e30
Initial squash/cleanup
2a1b0d2
Cleanup, mostly code style
8aaeeb2
squash me
eb204df
apply the in-tree clang-format (which seems subtly different from my …
3b0277b
Address most of the low-hanging fruit in the initial review feedback.
4c6486f
Update clang/include/clang/AST/Type.h
dougsonos e6b1e35
- Sema::CheckAddCallableWithEffects: really do skip functions in depe…
fc67743
ASTContext::mergeFunctionTypes doesn't seem to need to do anything (?)
a638125
Fix function pointer type conversion in C by making IsFunctionConvers…
c2ba529
De-virtualize FunctionEffect; it's now a value type. Prepare for the …
2a5c14f
Remove unused parameters from FunctionEffect interface.
ad39599
Don't merge effects back to Old on redeclaration
513c88c
Fix: canInferOnFunction can't always get a TypeSourceInfo.
1325429
Cleanup of redeclarations (Sema::MergeFunctionDecl) so that the type …
5ac7429
FunctionEffectSet::create() is now a method of ASTContext; the global…
81b86df
- Serialize FunctionEffectSet as part of a FunctionProtoType.
8414186
Don't repeat function names in diagnostics.
62b125e
Functionality:
b15b53a
Merge remote-tracking branch 'llvm-origin/main' into nolock
525962e
Mass renaming: nolock/noalloc -> nonblocking/nonallocating
c026355
Remove vestigial FunctionEffect flags
02a3b7a
ArrayRef<const FunctionEffect> -> ArrayRef<FunctionEffect> (it's alre…
8121422
Adding the `blocking` and `allocating` attributes, as synonyms for `n…
9471aa1
Look for blocking and allocating attributes across all redeclarations.
12e213a
Reinstate the warning that nonblocking/nonallocating should be accomp…
2a58dda
Groundwork for `nonblocking(expr)`
e942a90
Low-hanging fruit in review feedback.
45389bd
- During parsing, don't remove nonallocating when nonblocking is adde…
80d5e7a
- Get rid of ugly const_cast in Sema::CheckOverridingFunctionAttributes.
9e223a3
Split out the Objective-C tests into a separate source file.
9bac8d2
Make FunctionEffectSet::operator==() more elegant.
b955435
Create a flat effect representation in FunctionProtoType. Renaming of…
6045573
Separate effects and conditions.
57d09ce
FunctionEffectCondExpr => FunctionEffectCondition
a9edec6
FunctionTypeEffectSet => FunctionEffectSet
80495b7
nonblocking(cond) now parsed into new form.
1853b39
wip with computed effects
0aa20af
- Inline the methods on Decl.
67c3e47
Merge llvm-origin/main into nolock
ca9b8fa
- Adapt to merge from main.
5143877
tiny cleanup
8c691dc
Merge main into nolock
65e5b61
Tests involving nonblocking(expression)
1748edb
ASTReader: adapt to GlobalDeclID change
485c941
warn_perf_constraint_implies_noexcept should only be issued in C++ wi…
92e4b9a
Obtain extern-C-ness from the function's canonical Decl.
c534d63
Fix build problem involving std::any_of and a FunctionEffectsRef.
5cd7bfd
Remove AnalysisBasedWarnings debug code that was pulling in ASTMatchers.
c18b774
Remove the 2nd pass caller/callee analysis/verification for now (to b…
13e71c0
Merge branch 'main' into nolock
b6cfea8
In Sema::ImpCastExprToType, the check for a nullptr source was
711bc56
Better attribute documentation
990f5bb
- Remove disabling of future warning
db576ef
Cleanup dead code.
b95964c
- AttrDocs: add note about -W option to control diagnostics.
46830f6
Review feedback, notably: FunctionEffectsRef invariants, mergeFunctio…
d918424
Review feedback:
86795b4
Detect and diagnose conflicts when merging effects between declarations.
8fdea5b
In CheckOverridingFunctionAttributes, gather and report effect confli…
f4e299f
nonblocking(expr): Simplify ActOnEffectExpression, add tests.
cad5d0d
- Require function prototypes in conjunction with the new attributes.
f4112ff
tighten up ActOnEffectExpression
c2848f8
More syntax tests.
1fef4b1
Apply suggestions from code review
dougsonos ba7f53f
- review feedback: getCondition(), default-constructable iterator.
173d36b
Remove the "clang_" prefix from the attribute spellings.
5438e96
More review feedback.
9e4782c
- Clean up comments (trailing period).
60bf34c
TreeTransform is a class not a struct.
13ba987
Merge branch 'main' into nolock
877dec8
Add a positive test case per Aaron's feedback
6a92ddf
Merge branch 'main' into nolock
8bef15b
Fix: read past end of Conditions array in FunctionEffectSet::insert.
f015a24
Apply suggestions from code review
dougsonos d8d34be
FunctionEffectCondition => EffectConditionExpr, more minor review fee…
29d2c3d
In FunctionEffectsRef::get(QualType QT), handle case of multiple levels
8204611
Merge llvm-origin/main into nolock
3ac9bcb
Review feedback:
dbc511a
Add tests suggested by Aaron Ballman.
7cda574
Defer diagnosis of conflicting effect attributes when there is a cond…
23ff5a5
tolerate/ignore redundant attributes
23d486b
Merge remote-tracking branch 'llvm-origin/main' into nolock
7505858
Release notes
64fede2
fix test failure (last merge from main changed how bool template argu…
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.