diff options
Diffstat (limited to 'clang/lib/Sema/SemaCodeComplete.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 0514d10..aa93507 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -10208,6 +10208,24 @@ void SemaCodeCompletion::CodeCompletePreprocessorDirective(bool InConditional) {    Builder.AddPlaceholderChunk("message");    Results.AddResult(Builder.TakeString()); +  if (getLangOpts().C23) { +    // #embed "file" +    Builder.AddTypedTextChunk("embed"); +    Builder.AddChunk(CodeCompletionString::CK_HorizontalSpace); +    Builder.AddTextChunk("\""); +    Builder.AddPlaceholderChunk("file"); +    Builder.AddTextChunk("\""); +    Results.AddResult(Builder.TakeString()); + +    // #embed <file> +    Builder.AddTypedTextChunk("embed"); +    Builder.AddChunk(CodeCompletionString::CK_HorizontalSpace); +    Builder.AddTextChunk("<"); +    Builder.AddPlaceholderChunk("file"); +    Builder.AddTextChunk(">"); +    Results.AddResult(Builder.TakeString()); +  } +    // Note: #ident and #sccs are such crazy anachronisms that we don't provide    // completions for them. And __include_macros is a Clang-internal extension    // that we don't want to encourage anyone to use.  | 
