Bug 59878 - [4.9 Regression] ISL from cloog does not work with trunk
Summary: [4.9 Regression] ISL from cloog does not work with trunk
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: unknown
: P3 normal
Target Milestone: 4.9.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-19 11:55 UTC by Thomas Koenig
Modified: 2016-02-10 11:43 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Koenig 2014-01-19 11:55:40 UTC
How to reproduce:

- Get isl from infrastructure directory
- configure
- install by default (installs in /usr/local)
- Get cloog from the infrastructure directory
- configure without any options
- install
- configure using

VER=../trunk/configure && test -e $VER && rm -rf * && $VER --prefix=$HOME --with-isl=/usr/local --with-cloog=/usr/local --enable-languages=c,fortran,c++ && make -j6 && make install

Result then is

checking for the correct version of the gmp/mpfr/mpc libraries... yes
checking for version 0.10 of ISL... no
checking for version 0.11 of ISL... no
checking for version 0.12 of ISL... no
configure: error: Unable to find a usable ISL.  See config.log for details.

The reason for this is shown in the modified test program:

ig25@linux-fd1f:/tmp> cat isl.c
#include <isl/version.h>
#include <stdio.h>
int
main ()
{
  printf("%s", isl_version ());
}

ig25@linux-fd1f:/tmp> gcc isl.c -lisl
ig25@linux-fd1f:/tmp> ./a.out
UNKNOWN

It is necessary to configure cloog with --with-isl=system go get around that, which is not documented anywhere.
Comment 1 Andreas Schwab 2014-01-19 12:16:11 UTC
See <http://gcc.gnu.org/install/prerequisites.html>.
Comment 2 Richard Biener 2014-01-20 09:28:25 UTC
I'd say it's a bug in cloog.  Or a bug in our documentation which could be clearer.
Comment 3 Jakub Jelinek 2014-01-20 14:45:50 UTC
But the prerequisites.html already says "Use --with-isl=system".  So to me it looks like a pilot error.
Comment 4 Richard Biener 2014-01-20 15:02:36 UTC
"Use --with-isl=system to direct CLooG to pick up an already installed ISL, otherwise it will use ISL 0.11.1 as bundled with CLooG"

doesn't exactly suggest that using the ISL 0.11.1 bundled with CLooG will
not work though (it's exactly the version suggested ...)

So the wording could be improved.
Comment 5 Richard Biener 2014-02-13 13:35:42 UTC
Author: rguenth
Date: Thu Feb 13 13:35:10 2014
New Revision: 207758

URL: http://gcc.gnu.org/viewcvs?rev=207758&root=gcc&view=rev
Log:
2014-02-13  Richard Biener  <rguenther@suse.de>

	PR bootstrap/59878
	* doc/install.texi (ISL): Update recommended version to 0.12.2,
	mention the possibility of an in-tree build.
	(CLooG): Update recommended version to 0.18.1, mention the
	possibility of an in-tree build and clarify that the ISL
	bundled with CLooG does not work.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/doc/install.texi
Comment 6 Richard Biener 2014-02-13 13:39:48 UTC
"Fixed".  (or invalid, just depends how you interpret it ;))

-> make the cloog folks have the bundled ISL produce a sensible isl_version ()
output would be a better "fix", of course ;)

Tobias?  (not sure, maybe cloog 0.18.1 is fixed in this regard, 0.18.0
definitely wasn't)
Comment 7 Patrick Palka 2015-12-17 04:02:20 UTC
Author: ppalka
Date: Thu Dec 17 04:01:47 2015
New Revision: 231736

URL: https://gcc.gnu.org/viewcvs?rev=231736&root=gcc&view=rev
Log:
Fix some blockers of PR c++/24666 (arrays decay to pointers too early)

gcc/cp/ChangeLog:

	PR c++/16333
	PR c++/41426
	PR c++/59878
	PR c++/66895
	* typeck.c (convert_for_initialization): Don't perform an early
	decaying conversion if converting to a class type.

gcc/testsuite/ChangeLog:

	PR c++/16333
	PR c++/41426
	PR c++/59878
	PR c++/66895
	* g++.dg/conversion/pr16333.C: New test.
	* g++.dg/conversion/pr41426.C: New test.
	* g++.dg/conversion/pr59878.C: New test.
	* g++.dg/conversion/pr66895.C: New test.


Added:
    trunk/gcc/testsuite/g++.dg/conversion/pr16333.C
    trunk/gcc/testsuite/g++.dg/conversion/pr41426.C
    trunk/gcc/testsuite/g++.dg/conversion/pr59878.C
    trunk/gcc/testsuite/g++.dg/conversion/pr66895.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/typeck.c
    trunk/gcc/testsuite/ChangeLog
Comment 8 Patrick Palka 2015-12-17 13:30:44 UTC
Author: ppalka
Date: Thu Dec 17 13:30:04 2015
New Revision: 231755

URL: https://gcc.gnu.org/viewcvs?rev=231755&root=gcc&view=rev
Log:
Fix wrong PR references

PR c++/59878 -> PR c++/59879


Added:
    trunk/gcc/testsuite/g++.dg/conversion/pr59879.C
Removed:
    trunk/gcc/testsuite/g++.dg/conversion/pr59878.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/testsuite/ChangeLog
Comment 9 Tom de Vries 2016-02-10 10:49:28 UTC
(In reply to Richard Biener from comment #6)
> "Fixed".  (or invalid, just depends how you interpret it ;))
> 
> -> make the cloog folks have the bundled ISL produce a sensible isl_version
> ()
> output would be a better "fix", of course ;)
> 
> Tobias?  (not sure, maybe cloog 0.18.1 is fixed in this regard, 0.18.0
> definitely wasn't)

$ for d in cloog-*; do echo -n "$d: "; if [ -f $d/isl/GIT_HEAD_ID ]; then cat $d/isl/GIT_HEAD_ID; else echo missing; fi; done
cloog-0.16.0: isl-0.05
cloog-0.16.1: isl-0.05.1
cloog-0.16.2: isl-0.06
cloog-0.16.3: isl-0.07
cloog-0.17.0: isl-0.08-60-g60518c5
cloog-0.18.0: missing
cloog-0.18.1: missing
cloog-0.18.2: UNKNOWN
cloog-0.18.3: isl-0.14
cloog-0.18.4: isl-0.15
Comment 10 Tom de Vries 2016-02-10 11:43:45 UTC
(In reply to vries from comment #9)

By comparing cloog sources with isl tags I got:

> cloog-0.16.0: isl-0.05
> cloog-0.16.1: isl-0.05.1
> cloog-0.16.2: isl-0.06
> cloog-0.16.3: isl-0.07
> cloog-0.17.0: isl-0.08-60-g60518c5

> cloog-0.18.0: missing

isl-0.11.1

> cloog-0.18.1: missing

isl-0.12.1

> cloog-0.18.2: UNKNOWN

isl-0.12.1

> cloog-0.18.3: isl-0.14
> cloog-0.18.4: isl-0.15