mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-16 04:40:25 +08:00
Fix one issue in OpenMP 'requires' directive diagnostics
Fix-up for recent commit 683f11843974f0bdf42f79cdcbb0c2b43c7b81b0 "OpenMP: Move omp requires checks to libgomp". gcc/ * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct 'fn2' computation. libgomp/ * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's. * testsuite/libgomp.c-c++-common/requires-2.c: Likewise. * testsuite/libgomp.c-c++-common/requires-3.c: Likewise. * testsuite/libgomp.c-c++-common/requires-7.c: Likewise. * testsuite/libgomp.fortran/requires-1.f90: Likewise.
This commit is contained in:
parent
13f44099bc
commit
faa0c328ee
@ -1879,7 +1879,7 @@ input_offload_tables (bool do_force_output)
|
||||
&& TREE_CODE (tmp_decl) != TRANSLATION_UNIT_DECL)
|
||||
tmp_decl = DECL_CONTEXT (tmp_decl);
|
||||
if (tmp_decl != NULL_TREE)
|
||||
fn2 = IDENTIFIER_POINTER (DECL_NAME (requires_decl));
|
||||
fn2 = IDENTIFIER_POINTER (DECL_NAME (tmp_decl));
|
||||
}
|
||||
|
||||
char buf1[sizeof ("unified_address, unified_shared_memory, "
|
||||
|
@ -20,5 +20,7 @@ main (void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* { dg-error "OpenMP 'requires' directive with non-identical clauses in multiple compilation units: 'unified_shared_memory' vs. 'unified_address'" "" { target *-*-* } 0 } */
|
||||
/* { dg-error "OpenMP 'requires' directive with non-identical clauses in multiple compilation units: 'unified_shared_memory' vs. 'unified_address'" "" { target *-*-* } 0 }
|
||||
{ dg-note {requires-1\.c' has 'unified_shared_memory'} {} { target *-*-* } 0 }
|
||||
{ dg-note {requires-1-aux\.c' has 'unified_address'} {} { target *-*-* } 0 } */
|
||||
/* { dg-excess-errors "Ignore messages like: errors during merging of translation units|mkoffload returned 1 exit status" } */
|
||||
|
@ -21,5 +21,7 @@ main (void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* { dg-error "OpenMP 'requires' directive with 'unified_shared_memory' specified only in some compilation units" "" { target *-*-* } 0 } */
|
||||
/* { dg-error "OpenMP 'requires' directive with 'unified_shared_memory' specified only in some compilation units" "" { target *-*-* } 0 }
|
||||
{ dg-note {requires-2\.c' has 'unified_shared_memory'} {} { target *-*-* } 0 }
|
||||
{ dg-note {but '[^']*requires-2-aux\.c' has not} {} { target *-*-* } 0 } */
|
||||
/* { dg-excess-errors "Ignore messages like: errors during merging of translation units|mkoffload returned 1 exit status" } */
|
||||
|
@ -20,5 +20,7 @@ main (void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* { dg-error "OpenMP 'requires' directive with non-identical clauses in multiple compilation units: 'unified_address, unified_shared_memory' vs. 'unified_address'" "" { target *-*-* } 0 } */
|
||||
/* { dg-error "OpenMP 'requires' directive with non-identical clauses in multiple compilation units: 'unified_address, unified_shared_memory' vs. 'unified_address'" "" { target *-*-* } 0 }
|
||||
{ dg-note {requires-3\.c' has 'unified_address, unified_shared_memory'} {} { target *-*-* } 0 }
|
||||
{ dg-note {requires-3-aux\.c' has 'unified_address'} {} { target *-*-* } 0 } */
|
||||
/* { dg-excess-errors "Ignore messages like: errors during merging of translation units|mkoffload returned 1 exit status" } */
|
||||
|
@ -20,5 +20,13 @@ main (void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* { dg-error "OpenMP 'requires' directive with non-identical clauses in multiple compilation units: 'unified_shared_memory' vs. 'unified_address'" "" { target *-*-* } 0 } */
|
||||
/* { dg-error "OpenMP 'requires' directive with non-identical clauses in multiple compilation units: 'unified_shared_memory' vs. 'unified_address'" "" { target *-*-* } 0 }
|
||||
{ dg-note {requires-7\.c' has 'unified_shared_memory'} {} { target *-*-* } 0 }
|
||||
TODO We're currently not streaming location information for the OpenMP
|
||||
directives used in 'requires-7-aux.c', so we're not seeing the source file
|
||||
name here (but a temporary '*.o' instead; for details, see
|
||||
<https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598011.html>):
|
||||
{ dg-note {requires-7-aux\.c' has 'unified_address'} {} { xfail *-*-* } 0 }
|
||||
..., but we may still verify that the rest of the diagnostic is correct:
|
||||
{ dg-note {' has 'unified_address'} {} { target *-*-* } 0 } */
|
||||
/* { dg-excess-errors "Ignore messages like: errors during merging of translation units|mkoffload returned 1 exit status" } */
|
||||
|
@ -23,4 +23,12 @@ program main
|
||||
end
|
||||
|
||||
! { dg-error "OpenMP 'requires' directive with non-identical clauses in multiple compilation units: 'unified_shared_memory' vs. 'unified_address'" "" { target *-*-* } 0 }
|
||||
! { dg-note {requires-1\.f90' has 'unified_shared_memory'} {} { target *-*-* } 0 }
|
||||
! TODO We're currently not streaming location information for the OpenMP
|
||||
! directives used in 'requires-7-aux.c', so we're not seeing the source file
|
||||
! name here (but a temporary '*.o' instead; for details, see
|
||||
! <https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598011.html>):
|
||||
! { dg-note {requires-1-aux\.f90' has 'unified_address'} {} { xfail *-*-* } 0 }
|
||||
! ..., but we may still verify that the rest of the diagnostic is correct:
|
||||
! { dg-note {' has 'unified_address'} {} { target *-*-* } 0 }
|
||||
! { dg-excess-errors "Ignore messages like: errors during merging of translation units|mkoffload returned 1 exit status" }
|
||||
|
Loading…
x
Reference in New Issue
Block a user