[PATCH] D124702: [MSVC] Add support for pragma function

Stephen Long via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue May 10 06:46:18 PDT 2022


steplong added inline comments.


================
Comment at: clang/lib/Parse/ParsePragma.cpp:3578
+
+  if (Tok.isNot(tok::l_paren)) {
+    PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_lparen)
----------------
aaron.ballman wrote:
> Can we use `ExpectAndConsume()` here instead?
I don't think we can use `ExpectAndConsume()` here because it's not a `Parser`


================
Comment at: clang/lib/Sema/SemaAttr.cpp:1070
+    SourceLocation Loc, const llvm::SmallSetVector<StringRef, 4> &Intrinsics) {
+  if (!CurContext->getRedeclContext()->isFileContext()) {
+    Diag(Loc, diag::err_pragma_intrinsic_function_scope);
----------------
aaron.ballman wrote:
> What is `CurContext` when this gets called for your .c test file? I would have expected it to be the `TranslationUnitDecl` which should be a file context (getting the redecl context shouldn't do anything in the cases I've seen).
It looks like it's a `FunctionDecl`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124702/new/

https://reviews.llvm.org/D124702



More information about the cfe-commits mailing list