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
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
@@ -143,26 +139,25 @@ ParseOpenACCEnterExitDataDirective(Parser &P, Token
FirstTok,
: OpenACCDirectiveKind::ExitData;
}
-OpenACCDirectiveKind ParseOpenACCAtomicDirective(Parser &P) {
+OpenACCAtomicKind ParseOpenACCAtomicKind(Parser &P) {
Token AtomicClauseToke
@@ -143,26 +139,25 @@ ParseOpenACCEnterExitDataDirective(Parser &P, Token
FirstTok,
: OpenACCDirectiveKind::ExitData;
}
-OpenACCDirectiveKind ParseOpenACCAtomicDirective(Parser &P) {
+OpenACCAtomicKind ParseOpenACCAtomicKind(Parser &P) {
Token AtomicClauseToke
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef
Name) {
return llvm::StringSwitch(Name)
.Case("enter", OpenACCDirectiveKindEx::Enter)
.Case("exit", OpenACCDirectiveKindEx::Exit)
+ .Case("atomic", OpenACCDirectiveKindEx::Atomic)
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
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef
Name) {
return llvm::StringSwitch(Name)
.Case("enter", OpenACCDirectiveKindEx::Enter)
.Case("exit", OpenACCDirectiveKindEx::Exit)
+ .Case("atomic", OpenACCDirectiveKindEx::Atomic)
@@ -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
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef
Name) {
return llvm::StringSwitch(Name)
.Case("enter", OpenACCDirectiveKindEx::Enter)
.Case("exit", OpenACCDirectiveKindEx::Exit)
+ .Case("atomic", OpenACCDirectiveKindEx::Atomic)
@@ -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
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef
Name) {
return llvm::StringSwitch(Name)
.Case("enter", OpenACCDirectiveKindEx::Enter)
.Case("exit", OpenACCDirectiveKindEx::Exit)
+ .Case("atomic", OpenACCDirectiveKindEx::Atomic)
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef
Name) {
return llvm::StringSwitch(Name)
.Case("enter", OpenACCDirectiveKindEx::Enter)
.Case("exit", OpenACCDirectiveKindEx::Exit)
+ .Case("atomic", OpenACCDirectiveKindEx::Atomic)
@@ -59,9 +60,21 @@ OpenACCDirectiveKindEx getOpenACCDirectiveKind(StringRef
Name) {
return llvm::StringSwitch(Name)
.Case("enter", OpenACCDirectiveKindEx::Enter)
.Case("exit", OpenACCDirectiveKindEx::Exit)
+ .Case("atomic", OpenACCDirectiveKindEx::Atomic)
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
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
15 matches
Mail list logo