Hi!

Reopening this oldie:

On Wed, 19 Dec 2012 16:38:41 +0100, Tobias Burnus <bur...@net-b.de> wrote:
> The attached patch adds
>     -fintrinsic-modules-path ${blddir}
> otherwise, the compiler might have trouble finding the libraries using 
> "use, INTRINSIC :: omp_lib". Without "intrinsic" it searches the "-I" 
> directories.
> 
> (The compiler supports multiple -fintrinsic-modules-path, cf. 
> gfc_add_intrinsic_modules_path; however, the only physically existing 
> intrinsic .mod files are those of libgomp. ISO_C_binding and 
> ISO_Fortran_env do only virtually exist in the compiler.)
> 
> Tested on x86-64-gnu-linux.

> 2012-12-19  Tobias Burnus  <bur...@net-b.de>
> 
>       * testsuite/libgomp.fortran/fortran.exp: Set
>       -fintrinsic-modules-path.
> 
> diff --git a/libgomp/testsuite/libgomp.fortran/fortran.exp 
> b/libgomp/testsuite/libgomp.fortran/fortran.exp
> index 5fa42f4..68440d18 100644
> --- a/libgomp/testsuite/libgomp.fortran/fortran.exp
> +++ b/libgomp/testsuite/libgomp.fortran/fortran.exp
> @@ -14,6 +14,7 @@ set quadmath_library_path "../libquadmath/.libs"
>  dg-init
>  
>  if { $blddir != "" } {
> +    lappend ALWAYS_CFLAGS "additional_flags=-fintrinsic-modules-path 
> ${blddir}"
>      # Look for a static libgfortran first.
>      if [file exists "${blddir}/${lang_library_path}/libgfortran.a"] {
>          set lang_test_file "${lang_library_path}/libgfortran.a"

Doing build-tree testing, this results in several test becoming
UNSUPPORTED (instead of PASS), in particular those that do things like
»dg-require-effective-target tls_runtime« or »dg-do run { target
vect_simd_clones }«, and we then run into:

    spawn [...]/build/gcc/xgcc -B[...]/build/gcc/ 
-B[...]/build/x86_64-unknown-linux-gnu/./libgomp/ 
-B[...]/build/x86_64-unknown-linux-gnu/./libgomp/.libs 
-I[...]/build/x86_64-unknown-linux-gnu/./libgomp 
-I[...]/source/libgomp/testsuite/.. -fmessage-length=0 
-fno-diagnostics-show-caret -fdiagnostics-color=never -fopenmp 
-fintrinsic-modules-path=[...]/build/x86_64-unknown-linux-gnu/./libgomp 
-B[...]/build/x86_64-unknown-linux-gnu/./libgomp/../libquadmath/.libs/ -O2 
-mavx -B[...]/build/x86_64-unknown-linux-gnu/./libgomp/../libgfortran/.libs -c 
-o avx32186.o avx32186.c
    cc1: warning: command line option 
'-fintrinsic-modules-path=[...]/build/x86_64-unknown-linux-gnu/./libgomp' is 
valid for Fortran but not for C
    output is:
    cc1: warning: command line option 
'-fintrinsic-modules-path=[...]/build/x86_64-unknown-linux-gnu/./libgomp' is 
valid for Fortran but not for C
    
    UNSUPPORTED: libgomp.fortran/declare-simd-1.f90
    UNSUPPORTED: libgomp.fortran/declare-simd-2.f90

Is there any obvious cure for this?  (Obviously, reverting that change
isn't the solution, because then libgomp.fortran/use_intrinsic_1.f90
FAILs.)


I think this issue also is part of what has been reported in
<http://gcc.gnu.org/PR55884>, but not yet properly addressed.


Grüße,
 Thomas

Attachment: pgpGtx7kfir4Y.pgp
Description: PGP signature

Reply via email to