[flang-commits] [flang] [llvm] [Flang][OpenMP] Support certain directives in PURE procedures (PR #212676)

via flang-commits flang-commits at lists.llvm.org
Tue Jul 28 23:05:10 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 179829 tests passed
* 3514 tests skipped
* 2 tests failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.TableGen/directive1.td</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-tblgen -gen-directive-decl -I /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/../../include /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive1.td | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -match-full-lines /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive1.td
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-tblgen -gen-directive-decl -I /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/../../include /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive1.td
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -match-full-lines /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive1.td
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive1.td:193:16: error: CHECK-NEXT: is not on the line after the previous match
# | // CHECK-NEXT: constexpr SourceLanguage getDirectiveLanguages(Directive D) {
# |                ^
# | <stdin>:151:1: note: 'next' match was here
# | constexpr SourceLanguage getDirectiveLanguages(Directive D) {
# | ^
# | <stdin>:142:1: note: previous match ended here
# | 
# | ^
# | <stdin>:143:1: note: non-matching line after previous match is here
# | constexpr bool isDirectivePure(Directive Dir) {
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive1.td
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           137:  abort(); 
# |           138: #else 
# |           139:  llvm_unreachable("Unexpected directive"); 
# |           140: #endif 
# |           141: } 
# |           142:  
# | next:193'0    {   search range start (exclusive)
# |           143: constexpr bool isDirectivePure(Directive Dir) { 
# |           144:  switch (Dir) { 
# |           145:  return true; 
# |           146:  default: 
# |           147:  return false; 
# |           148:  } // switch (Dir) 
# |           149: } 
# |           150:  
# |           151: constexpr SourceLanguage getDirectiveLanguages(Directive D) { 
# | next:193'1     !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   error: match on wrong line
# |           152:  switch (D) { 
# |           153:  case TDLD_dira: 
# |           154:  return SourceLanguage::C | SourceLanguage::Fortran; 
# |           155:  } // switch(D) 
# |           156: #if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 9 
# |             .
# |             .
# |             .
# |           208: }; 
# |           209:  
# |           210: } // namespace llvm 
# |           211:  
# |           212: #endif // LLVM_Tdl_INC 
# |           213:  
# | next:193'2      } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.TableGen/directive2.td</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-tblgen -gen-directive-decl -I /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/../../include /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive2.td | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -match-full-lines /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive2.td
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-tblgen -gen-directive-decl -I /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/../../include /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive2.td
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -match-full-lines /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive2.td
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive2.td:158:16: error: CHECK-NEXT: is not on the line after the previous match
# | // CHECK-NEXT: constexpr SourceLanguage getDirectiveLanguages(Directive D) {
# |                ^
# | <stdin>:122:1: note: 'next' match was here
# | constexpr SourceLanguage getDirectiveLanguages(Directive D) {
# | ^
# | <stdin>:113:1: note: previous match ended here
# | 
# | ^
# | <stdin>:114:1: note: non-matching line after previous match is here
# | constexpr bool isDirectivePure(Directive Dir) {
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/directive2.td
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           108:  abort(); 
# |           109: #else 
# |           110:  llvm_unreachable("Unexpected directive"); 
# |           111: #endif 
# |           112: } 
# |           113:  
# | next:158'0    {   search range start (exclusive)
# |           114: constexpr bool isDirectivePure(Directive Dir) { 
# |           115:  switch (Dir) { 
# |           116:  return true; 
# |           117:  default: 
# |           118:  return false; 
# |           119:  } // switch (Dir) 
# |           120: } 
# |           121:  
# |           122: constexpr SourceLanguage getDirectiveLanguages(Directive D) { 
# | next:158'1     !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   error: match on wrong line
# |           123:  switch (D) { 
# |           124:  case TDLD_dira: 
# |           125:  return SourceLanguage::C | SourceLanguage::Fortran; 
# |           126:  } // switch(D) 
# |           127: #if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 9 
# |             .
# |             .
# |             .
# |           177: }; 
# |           178:  
# |           179: } // namespace llvm 
# |           180:  
# |           181: #endif // LLVM_Tdl_INC 
# |           182:  
# | next:158'2      } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/212676


More information about the flang-commits mailing list