bugGNU Octave - Bugs: bug #53872, type of 'xilaenv_' does not match...

 
 

bug #53872: type of 'xilaenv_' does not match original declaration

Submitted by:  Dmitri A. Sergatskov <dasergatskov>
Submitted on:  Thu 10 May 2018 01:55:42 PM UTC  
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  None
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  Closed
Release:  dev Operating System:  GNU/Linux

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Fri 11 May 2018 03:31:55 PM UTC, comment #9: 

I pushed the following changeset for the -Walloc-size-larger-than= warning:

http://hg.savannah.gnu.org/hgweb/octave/rev/2dad85fe6b8b

John W. Eaton <jwe>
Project Administrator
Fri 11 May 2018 01:18:22 AM UTC, comment #8: 

Oh, and after actually reading the manual description of the -Walloc-size-larger-than= option, I see the problem with the new expression.  NEED is signed and not checked to ensure that it is always greater than 0, so could be -1, which when cast to size_t would be greater than SIZE_MAX / 2.  I'm surprised this is the only warning we see about that kind of issue in Octave.

John W. Eaton <jwe>
Project Administrator
Thu 10 May 2018 08:21:34 PM UTC, comment #7: 

I pushed the following changeset on stable:

http://hg.savannah.gnu.org/hgweb/octave/rev/bbc47fb89973

Closing this report as fixed.

John W. Eaton <jwe>
Project Administrator
Thu 10 May 2018 07:58:29 PM UTC, comment #6: 

The other warning is gone. So we could close this bug and open another one?

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Thu 10 May 2018 07:52:58 PM UTC, comment #5: 

I saw that message about getmemi in your earlier log but I couldn't figure out where or how that situation could happen.

John W. Eaton <jwe>
Project Administrator
Thu 10 May 2018 07:22:26 PM UTC, comment #4: 

Now i see this:

../liboctave/util/oct-sort.cc: In member function 'getmemi':
../liboctave/util/oct-sort.cc:567:7: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
   a = new T [need];
       ^
/usr/include/c++/8/new:122:7: note: in a call to allocation function 'operator new []' declared here
void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
       ^

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Thu 10 May 2018 05:57:39 PM UTC, comment #3: 

Except that the test should be _GNUC_ < 8, not 7.

John W. Eaton <jwe>
Project Administrator
Thu 10 May 2018 05:56:59 PM UTC, comment #2: 

Does the attached patch work for you?

(file #44136)

John W. Eaton <jwe>
Project Administrator
Thu 10 May 2018 05:25:41 PM UTC, comment #1: 

Ugh, GCC 8 has changed the Fortran calling ABI:

>  Character variables longer than HUGE(0) elements are now possible on 64-bit targets. Note that this changes the procedure call ABI for all procedures with character arguments on 64-bit targets, as the type of the hidden character length argument has changed. The hidden character length argument is now of type INTEGER(C_SIZE_T).


(from https://gcc.gnu.org/gcc-8/changes.html)

So we need to make F77_CHAR_ARG_LEN_TYPE conditional on the version of GCC now.

Mike Miller <mtmiller>
Project Administrator
Thu 10 May 2018 01:55:42 PM UTC, original submission:  

I see in gcc-lto-fedora buildbot:
http://buildbot.octave.org:8011/#/builders/25/builds/1/steps/5/logs/stdio

(around line 8200)

libtool: link: gcc-ranlib libinterp/corefcn/.libs/libcorefcn.a
libtool: link: ( cd "libinterp/corefcn/.libs" && rm -f "libcorefcn.la" && ln -s "../libcorefcn.la" "libcorefcn.la" )
/bin/sh ./libtool  --tag=CXX   --mode=link g++ -fPIC -pthread -fopenmp -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -O2 -flto=4 -ffat-lto-objects  -flto=4 -o src/octave-config  src/src_octave_config-octave-config.o libinterp/corefcn/libcorefcn.la libgnu/libgnu.la -lutil -lm   -lutil -lm
libtool: link: g++ -fPIC -pthread -fopenmp -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -O2 -flto=4 -ffat-lto-objects -flto=4 -o src/octave-config src/src_octave_config-octave-config.o  libinterp/corefcn/.libs/libcorefcn.a libgnu/.libs/libgnu.a -lutil -lm -fopenmp -pthread
mv -f libinterp/.deps/libinterp_liboctinterp_la-build-env-features.Tpo libinterp/.deps/libinterp_liboctinterp_la-build-env-features.Plo
libtool: link: gcc-ar cr liboctave/operators/.libs/liboperators.a liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cdm-dm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-dm-cdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cs-dm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cs-m.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cs-nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cdm-cm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cdm-m.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cdm-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cm-cdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cm-dm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cm-m.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cnda-nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cm-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cnda-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-dm-cs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-dm-cm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-m-cs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-nda-cs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-m-cdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-m-cm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-nda-cnda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-cdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-cm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-cnda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-dm-m.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-m-dm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcdm-fdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fdm-fcdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcs-fdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcs-fm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcs-fnda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcdm-fcm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcdm-fm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcdm-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcm-fcdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcm-fdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcm-fm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcnda-fnda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcm-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcnda-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fdm-fcs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fdm-fcm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fm-fcs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fnda-fcs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fm-fcdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fm-fcm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fnda-fcnda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-fcdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-fcm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-fcnda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fdm-fm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fm-fdm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-pm-m.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-m-pm.o liboctave/operators/.libs/
liboctave_operators_liboperators_la-mx-pm-cm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-cm-pm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-pm-fm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fm-pm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-pm-fcm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fcm-pm.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-i8nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i8nda-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-ui8nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui8nda-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-i16nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i16nda-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-ui16nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui16nda-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-i32nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i32nda-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-ui32nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui32nda-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-i64nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i64nda-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-s-ui64nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui64nda-s.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-i8nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i8nda-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-ui8nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui8nda-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-i16nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i16nda-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-ui16nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui16nda-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-i32nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i32nda-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-ui32nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui32nda-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-i64nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i64nda-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-fs-ui64nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui64nda-fs.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-nda-i8.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i8-nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-nda-ui8.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui8-nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-nda-i16.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i16-nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-nda-ui16.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui16-nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-nda-i32.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i32-nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-nda-ui32.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui32-nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-nda-i64.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-i64-nda.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-nda-ui64.o liboctave/operators/.libs/liboctave_operators_liboperators_la-mx-ui64-nda.o liboctave/operators/.l
../src/liboctave/numeric/lo-lapack-proto.h:1206:3: warning: type of 'xilaenv_' does not match original declaration [-Wlto-type-mismatch]
   F77_FUNC (xilaenv, XILAENV) (const F77_INT&,
   ^
../src/liboctave/external/lapack-xtra/xilaenv.f:1:2: note: type mismatch in parameter 9
       subroutine xilaenv (ispec, name, opts, n1, n2, n3, n4, retval)
  ^
../src/liboctave/external/lapack-xtra/xilaenv.f:1:2: note: type 'long int' should match type 'int'
../src/liboctave/external/lapack-xtra/xilaenv.f:1:2: note: 'xilaenv' was previously declared here
../src/liboctave/external/lapack-xtra/xilaenv.f:1:2: note: code may be misoptimized unless -fno-strict-aliasing is used
../src/liboctave/util/oct-sort.cc: In member function 'getmemi':
../src/liboctave/util/oct-sort.cc:567:7: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
   a = new T [need];
       ^
/usr/include/c++/8/new:122:7: note: in a call to allocation function 'operator new []' declared here
void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)

      

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #44136:  char-arg-len-diff.txt added by jwe (657B - text/plain)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jwe (Updated the item)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by dasergatskov (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

     

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-05-10 jwe StatusNone => Fixed
        Open/ClosedOpen => Closed
    2018-05-10 jwe Attached File- => Added char-arg-len-diff.txt, #44136

    Back to the top


    Powered by Savane 3.5