[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2021-11-05 Thread timturnerc at yahoo dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Tim Turner changed: What|Removed |Added CC||timturnerc at yahoo dot com --- Comment #55

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-09-16 Thread tomas.kalibera at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #54 from Tomas Kalibera --- (In reply to Jakub Jelinek from comment #53) > Backported to 7.x, please test it. Thanks! I tested the default behavior with DPOSV and reference LAPACK, where it worked fine. Also with all of CRAN+BIOC R p

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-08-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Jakub Jelinek changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-08-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #52 from Jakub Jelinek --- Author: jakub Date: Fri Aug 30 12:41:43 2019 New Revision: 275153 URL: https://gcc.gnu.org/viewcvs?rev=275153&root=gcc&view=rev Log: Backported from mainline 2019-05-29 Jakub Jelinek

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-07-01 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #51 from Jakub Jelinek --- Yes, I just didn't have time for that yet.

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-07-01 Thread jb at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #50 from Janne Blomqvist --- Jakub, should your fix be backported to the gcc-7 branch as well, considering that the PR 87689 fix was applied to that branch as well?

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-06-24 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #49 from Jakub Jelinek --- (In reply to Kaz Kylheku from comment #48) > That's the thing I'm keenly curious about: if that value is fortuitously the > right one, in the right place on the stack, where is the crash? > > (Of course, we

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-06-22 Thread kkylheku at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #48 from Kaz Kylheku --- (In reply to Thomas Koenig from comment #47) > I see two problems with this suggestion, one minor and one major. > > First, there may well be a value > 1 on the stack for a regular > call, see comment #15. T

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-06-22 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #47 from Thomas Koenig --- (In reply to Kaz Kylheku from comment #45) > Hi everyone. > > Pardon my ignorance of C-Fortran bridging matters, but does any of the > following make sense? > > The Fortran subroutine has no idea whether t

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-06-21 Thread kkylheku at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #46 from Kaz Kylheku --- C pseudocode in light of previous comment: double abused_fortran_fn(double x, double y, char str[1], int len) { if (len != 1) return abused_fortran_fn(x, y, str, 1); /* full call, not tail

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-06-21 Thread kkylheku at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Kaz Kylheku changed: What|Removed |Added CC||kkylheku at gmail dot com --- Comment #45

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-29 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #44 from Jakub Jelinek --- Workaround added for 8.4+, 9.2+ and 10.1+ so far.

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-29 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #43 from Jakub Jelinek --- Author: jakub Date: Wed May 29 16:02:56 2019 New Revision: 271744 URL: https://gcc.gnu.org/viewcvs?rev=271744&root=gcc&view=rev Log: PR fortran/90329 * lto-streamer.h (LTO_minor_version): Bu

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-29 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #42 from Jakub Jelinek --- Author: jakub Date: Wed May 29 15:55:12 2019 New Revision: 271743 URL: https://gcc.gnu.org/viewcvs?rev=271743&root=gcc&view=rev Log: PR fortran/90329 * lto-streamer.h (LTO_minor_version): Bu

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-29 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #41 from Jakub Jelinek --- Author: jakub Date: Wed May 29 14:08:57 2019 New Revision: 271738 URL: https://gcc.gnu.org/viewcvs?rev=271738&root=gcc&view=rev Log: PR fortran/90329 * lang.opt (fbroken-callers): Remove.

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-23 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #40 from Jakub Jelinek --- I must say I don't like -fbroken-callers option name too much, can we use instead something like -ftail-call-workaround={0,1,2} / -f{,no-}tail-call-workaround where -ftail-call-workaround == -ftail-call-work

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-21 Thread conradsand.arma at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #39 from Conrad S --- > A better question might be: Are you going to fix your code? Yes [1], but that's besides the point here. I can certainly fix my code, but that leaves 99% of other software. Backports to gcc 8.x and 9.x would b

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-21 Thread sgk at troutmask dot apl.washington.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #38 from Steve Kargl --- On Wed, May 22, 2019 at 04:38:40AM +, conradsand.arma at gmail dot com wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 > > --- Comment #37 from Conrad S --- > Thanks for the workaround. > Wil

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-21 Thread conradsand.arma at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #37 from Conrad S --- Thanks for the workaround. Will the patches be backported to gcc 8.x and 9.x ?

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-19 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #36 from Thomas Koenig --- Author: tkoenig Date: Sun May 19 08:22:41 2019 New Revision: 271376 URL: https://gcc.gnu.org/viewcvs?rev=271376&root=gcc&view=rev Log: 2019-05-19 Thomas Koenig PR fortran/90329 * invoke.

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-16 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #35 from Jakub Jelinek --- One more thing, if I add to start of the DTRTRI function INTERFACE SUBROUTINE DTRTI2( UPLO, DIAG, N, A, LDA, INFO ) CHARACTER DIAG, UPLO INTEGERINFO, LDA, N

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-16 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #34 from Jakub Jelinek --- Even the subroutine foo (a, b, c, d, e, f) integer :: c, e, f character(len=1) :: a, b double precision :: d (e, *) call bar (a, b, c, d, e, f) end subroutine foo is tail call optimized by both older

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-16 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #33 from Jakub Jelinek --- Author: jakub Date: Thu May 16 09:37:43 2019 New Revision: 271285 URL: https://gcc.gnu.org/viewcvs?rev=271285&root=gcc&view=rev Log: PR fortran/90329 * tree-core.h (struct tree_decl_common):

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-16 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #32 from Jakub Jelinek --- BTW, as can be seen on https://fortran.godbolt.org/z/ckMt1t it is a pure luck that these bogus C/C++ wrappers seem to work, if one tries simple subroutine foo (a, b, c, d, e, f, g, h) integer :: b, c, d, e

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #31 from Jakub Jelinek --- (In reply to Thomas Koenig from comment #30) > Hi Jakub, > > > Untested workaround that isn't a too big hammer. This should just avoid > > tail calls in functions where the hidden string arguments for > >

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-15 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #30 from Thomas Koenig --- Hi Jakub, > Untested workaround that isn't a too big hammer. This should just avoid > tail calls in functions where the hidden string arguments for > character(len=constant) dummy arguments are passed part

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #29 from Jakub Jelinek --- Created attachment 46359 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46359&action=edit gcc10-pr90329.patch Untested workaround that isn't a too big hammer. This should just avoid tail calls in fun

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-14 Thread conradsand.arma at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Conrad S changed: What|Removed |Added CC||conradsand.arma at gmail dot com --- Comment

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #27 from Jakub Jelinek --- Note that both ifort and xlc fortran have the hidden string length arguments as well.

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #26 from Jakub Jelinek --- It could even allow tailcalls in the character(len=*) cases because in those cases if the caller omits the string length hidden argument, I see no reason to try to workaround that, it will simply never work

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #25

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-09 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #24 from Thomas Koenig --- Author: tkoenig Date: Thu May 9 17:40:30 2019 New Revision: 271038 URL: https://gcc.gnu.org/viewcvs?rev=271038&root=gcc&view=rev Log: 2019-05-09 Thomas Koenig Backport from trunk PR fortran/903

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-08 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Thomas Koenig changed: What|Removed |Added See Also||https://github.com/Referenc

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-08 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #22 from Thomas Koenig --- Author: tkoenig Date: Wed May 8 21:55:13 2019 New Revision: 271018 URL: https://gcc.gnu.org/viewcvs?rev=271018&root=gcc&view=rev Log: 2019-05-08 Thomas Koenig PR fortran/90351 PR fortran/90329

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-08 Thread jb at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #21 from Janne Blomqvist --- I filed https://github.com/Reference-LAPACK/lapack/issues/339 to start a discussion about fixing CBLAS and LAPACKE in upstream LAPACK.

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-07 Thread tomas.kalibera at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #20 from Tomas Kalibera --- (In reply to rguent...@suse.de from comment #19) > I don't see how -fno-optimize-sibling-calls helps in a systematic way. > It might obfuscate a specific example enough to make it work, but...? There is o

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-06 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #19 from rguenther at suse dot de --- On Tue, 7 May 2019, jb at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 > > --- Comment #18 from Janne Blomqvist --- > (In reply to Thomas Koenig from comment #15)

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-06 Thread jb at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #18 from Janne Blomqvist --- (In reply to Thomas Koenig from comment #15) > Since we applied the fix for PR 87689 to gcc 7, gcc 8 and gcc 9, > I would suggest that we make -fno-optimize-sibling-calls > the default on these branches.

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-06 Thread sgk at troutmask dot apl.washington.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #17 from Steve Kargl --- On Mon, May 06, 2019 at 04:40:08PM +, kargl at gcc dot gnu.org wrote: > > Since we applied the fix for PR 87689 to gcc 7, gcc 8 and gcc 9, > > I would suggest that we make -fno-optimize-sibling-calls > > t

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-06 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 kargl at gcc dot gnu.org changed: What|Removed |Added CC||kargl at gcc dot gnu.org --- C

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-06 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #15 from Thomas Koenig --- Hi Tomas, > I understand the compiler may not know and typically does not whether the > called function accepts "character(len=1)" or "character(len=*)", so it may > have to pass the 1. But the situation wh

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-06 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #14 from rguenther at suse dot de --- On Mon, 6 May 2019, tomas.kalibera at gmail dot com wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 > > --- Comment #13 from Tomas Kalibera --- > I understand the compiler may not k

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-06 Thread tomas.kalibera at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #13 from Tomas Kalibera --- I understand the compiler may not know and typically does not whether the called function accepts "character(len=1)" or "character(len=*)", so it may have to pass the 1. But the situation where I suggest no

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-06 Thread jb at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #12 from Janne Blomqvist --- (In reply to Tomas Kalibera from comment #11) > At least in the case I debugged, I think gfortran could do better by not > writing the 1 as string length to the place on the stack where the compiler > know

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-06 Thread tomas.kalibera at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #11 from Tomas Kalibera --- Even restoring the state that LAPACK/BLAS works but without providing guarantees would help short-term, and I think this could be in line with the goal of best performance within the standard. At least in

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Richard Biener changed: What|Removed |Added Keywords||ABI CC|

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-05 Thread toon at moene dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #9 from Toon Moene --- > So with this suggestion, this procedure would be generated without the hidden > length argument. The brokenness comes from > call foo("ab") > which would generate a call to a procedure WITH the hidden strin

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-05 Thread jb at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #8 from Janne Blomqvist --- (In reply to Janne Blomqvist from comment #3) > 1) When compiling an external procedure, for character(len=1) arguments we > don't generate the hidden string length argument. And similarly when calling > an

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-05 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #7 from Paul Thomas --- (In reply to Thomas Koenig from comment #6) > (In reply to Janne Blomqvist from comment #5) > > (In reply to Thomas Koenig from comment #4) > > > Currently, I am leaning towards using an option with a mandatory

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-04 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #6 from Thomas Koenig --- (In reply to Janne Blomqvist from comment #5) > (In reply to Thomas Koenig from comment #4) > > Currently, I am leaning towards using an option with a mandatory > > warning (no way to turn it off) which does

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-04 Thread jb at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #5 from Janne Blomqvist --- (In reply to Thomas Koenig from comment #4) > (In reply to Janne Blomqvist from comment #3) > > 1) When compiling an external procedure, for character(len=1) arguments we > > don't generate the hidden strin

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-04 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 --- Comment #4 from Thomas Koenig --- (In reply to Janne Blomqvist from comment #3) > Ooof! > > (Just for the record, I don't think we should revert to the previous > behavior. Whatever we do should be robust in the face of LTO etc.) I concur.

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-04 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Dominique d'Humieres changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-04 Thread jb at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Janne Blomqvist changed: What|Removed |Added CC||jb at gcc dot gnu.org --- Comment #3 f

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-04 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Paul Thomas changed: What|Removed |Added CC||pault at gcc dot gnu.org --- Comment #2 fr

[Bug fortran/90329] Incompatibility between gfortran and C lapack calls

2019-05-03 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329 Thomas Koenig changed: What|Removed |Added CC||toon at moene dot org --- Comment #1 fro