[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Erich Keane via cfe-commits
https://github.com/erichkeane closed https://github.com/llvm/llvm-project/pull/73015 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Alexey Bataev via cfe-commits
https://github.com/alexey-bataev approved this pull request. https://github.com/llvm/llvm-project/pull/73015 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Erich Keane via cfe-commits
@@ -143,26 +139,25 @@ ParseOpenACCEnterExitDataDirective(Parser &P, Token FirstTok, : OpenACCDirectiveKind::ExitData; } -OpenACCDirectiveKind ParseOpenACCAtomicDirective(Parser &P) { +OpenACCAtomicKind ParseOpenACCAtomicKind(Parser &P) { Token AtomicClauseToke

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Alexey Bataev via cfe-commits
@@ -143,26 +139,25 @@ ParseOpenACCEnterExitDataDirective(Parser &P, Token FirstTok, : OpenACCDirectiveKind::ExitData; } -OpenACCDirectiveKind ParseOpenACCAtomicDirective(Parser &P) { +OpenACCAtomicKind ParseOpenACCAtomicKind(Parser &P) { Token AtomicClauseToke

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Erich Keane via cfe-commits
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef Name) { return llvm::StringSwitch(Name) .Case("enter", OpenACCDirectiveKindEx::Enter) .Case("exit", OpenACCDirectiveKindEx::Exit) + .Case("atomic", OpenACCDirectiveKindEx::Atomic)

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Erich Keane via cfe-commits
https://github.com/erichkeane updated https://github.com/llvm/llvm-project/pull/73015 >From e656fb03feeafa1997a4b93126063ad77ecf5b2c Mon Sep 17 00:00:00 2001 From: erichkeane Date: Tue, 21 Nov 2023 08:56:00 -0800 Subject: [PATCH 1/2] [OpenACC] Implement Atomic construct variants `atomic` is re

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Alexey Bataev via cfe-commits
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef Name) { return llvm::StringSwitch(Name) .Case("enter", OpenACCDirectiveKindEx::Enter) .Case("exit", OpenACCDirectiveKindEx::Exit) + .Case("atomic", OpenACCDirectiveKindEx::Atomic)

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Erich Keane via cfe-commits
@@ -94,6 +94,37 @@ void func() { #pragma acc kernels loop for(;;){} + int i = 0, j = 0, k = 0; + // expected-error@+2{{missing OpenACC 'atomic-clause'; expected 'read', 'write', 'update', or 'capture'}} + // expected-warning@+1{{OpenACC directives not yet implemented, pr

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Erich Keane via cfe-commits
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef Name) { return llvm::StringSwitch(Name) .Case("enter", OpenACCDirectiveKindEx::Enter) .Case("exit", OpenACCDirectiveKindEx::Exit) + .Case("atomic", OpenACCDirectiveKindEx::Atomic)

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Alexey Bataev via cfe-commits
@@ -94,6 +94,37 @@ void func() { #pragma acc kernels loop for(;;){} + int i = 0, j = 0, k = 0; + // expected-error@+2{{missing OpenACC 'atomic-clause'; expected 'read', 'write', 'update', or 'capture'}} + // expected-warning@+1{{OpenACC directives not yet implemented, pr

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Alexey Bataev via cfe-commits
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef Name) { return llvm::StringSwitch(Name) .Case("enter", OpenACCDirectiveKindEx::Enter) .Case("exit", OpenACCDirectiveKindEx::Exit) + .Case("atomic", OpenACCDirectiveKindEx::Atomic)

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Erich Keane via cfe-commits
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef Name) { return llvm::StringSwitch(Name) .Case("enter", OpenACCDirectiveKindEx::Enter) .Case("exit", OpenACCDirectiveKindEx::Exit) + .Case("atomic", OpenACCDirectiveKindEx::Atomic)

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Alexey Bataev via cfe-commits
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef Name) { return llvm::StringSwitch(Name) .Case("enter", OpenACCDirectiveKindEx::Enter) .Case("exit", OpenACCDirectiveKindEx::Exit) + .Case("atomic", OpenACCDirectiveKindEx::Atomic)

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Erich Keane (erichkeane) Changes `atomic` is required to be followed by a special `atomic clause`, so this patch manages the parsing of that. We are representing each of the variants of the atomic construct as separate kinds, because the

[clang] [OpenACC] Implement Atomic construct variants (PR #73015)

2023-11-21 Thread Erich Keane via cfe-commits
https://github.com/erichkeane created https://github.com/llvm/llvm-project/pull/73015 `atomic` is required to be followed by a special `atomic clause`, so this patch manages the parsing of that. We are representing each of the variants of the atomic construct as separate kinds, because they h