[Bug libfortran/96613] New: SIGFPE on min1() with -ffpe-trap=invalid switch

2020-08-14 Thread thomas.huxhorn at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96613

Bug ID: 96613
   Summary: SIGFPE on min1() with -ffpe-trap=invalid switch
   Product: gcc
   Version: 10.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: thomas.huxhorn at web dot de
  Target Milestone: ---

The program fails if -ffpe-trap=invalid is present and no optimization flag is
set. It print 5000 with any optimization level set.

The expected behavior is that it print 5000 with no optimization.

Perhaps it is possible to first calculate the minimum of both real values and
then convert it to integer?

Testet with gcc 10.1 and 4.9
Compile with gfortran -ffpe-trap=invalid  -g -ggdb -fbacktrace   test.f90 

program test
  implicit none
  real :: X
  integer :: IX

  X = 7.7643945e+09
  IX = MIN1(5000.0, X)
  write(*,*) IX
end program

gdb ./a.out 
(gdb) run
Starting program: /home/thomas/a.out 
Program received signal SIGFPE, Arithmetic exception.
0x00400794 in test () at test.f90:8
8 IX = MIN1(5000.0, X)

[Bug fortran/96613] SIGFPE on min1() with -ffpe-trap=invalid switch

2020-08-20 Thread thomas.huxhorn at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96613

--- Comment #11 from Thomas Huxhorn  ---
I compiled the latest git GCC and rerun the program, no more problems. 
Thank you all :)

[Bug c++/61229] warn_unused_result fails to work with member functions

2015-02-02 Thread thomas.huxhorn at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61229

Thomas Huxhorn  changed:

   What|Removed |Added

 CC||thomas.huxhorn at web dot de

--- Comment #3 from Thomas Huxhorn  ---
Here is another one:

class C {
public:
   ~C() {} // comment out to trigger warning at c.noWarning()

  int giveWarning()  __attribute__((warn_unused_result)) { return 0; }
  C noWarning()  __attribute__((warn_unused_result)) { return C(); }
};

int main() {
C c;
c.giveWarning();
c.noWarning();
   return 0;
}


A workaround for me is to delete the empty deconstrcutor. But thats not always
possible :/


[Bug libgomp/63193] New: omp_set_dynamic memory leak

2014-09-06 Thread thomas.huxhorn at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63193

Bug ID: 63193
   Summary: omp_set_dynamic  memory leak
   Product: gcc
   Version: 4.9.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
  Assignee: unassigned at gcc dot gnu.org
  Reporter: thomas.huxhorn at web dot de
CC: jakub at gcc dot gnu.org

Created attachment 33454
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33454&action=edit
preprocessed file

small memory leak found with valgrind.
60b are still reachable with gcc 4.7.2 and 104b with 4.9.1.


kater@ktux:~$ gcc -v -save-temps -Wall -Wextra -fopenmp omp_set_dynamic_leak.c
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-linux-gnu/4.9/lto-wrapper
Target: i586-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.1-12'
--with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.9 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify
--enable-plugin --with-system-zlib --disable-browser-plugin
--enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-i386
--with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-checking=release --build=i586-linux-gnu --host=i586-linux-gnu
--target=i586-linux-gnu
Thread model: posix
gcc version 4.9.1 (Debian 4.9.1-12)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-Wall' '-Wextra' '-fopenmp'
'-mtune=generic' '-march=i586' '-pthread'
 /usr/lib/gcc/i586-linux-gnu/4.9/cc1 -E -quiet -v -imultiarch i386-linux-gnu
-D_REENTRANT omp_set_dynamic_leak.c -mtune=generic -march=i586 -Wall -Wextra
-fopenmp -fpch-preprocess -o omp_set_dynamic_leak.i
ignoring nonexistent directory "/usr/local/include/i386-linux-gnu"
ignoring nonexistent directory
"/usr/lib/gcc/i586-linux-gnu/4.9/../../../../i586-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/i586-linux-gnu/4.9/include
 /usr/local/include
 /usr/lib/gcc/i586-linux-gnu/4.9/include-fixed
 /usr/include/i386-linux-gnu
 /usr/include

End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-Wall' '-Wextra' '-fopenmp'
'-mtune=generic' '-march=i586' '-pthread'
 /usr/lib/gcc/i586-linux-gnu/4.9/cc1 -fpreprocessed omp_set_dynamic_leak.i
-quiet -dumpbase omp_set_dynamic_leak.c -mtune=generic -march=i586 -auxbase
omp_set_dynamic_leak -Wall -Wextra -version -fopenmp -o omp_set_dynamic_leak.s
GNU C (Debian 4.9.1-12) version 4.9.1 (i586-linux-gnu)
compiled by GNU C version 4.9.1, GMP version 6.0.0, MPFR version
3.1.2-p3, MPC version 1.0.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (Debian 4.9.1-12) version 4.9.1 (i586-linux-gnu)
compiled by GNU C version 4.9.1, GMP version 6.0.0, MPFR version
3.1.2-p3, MPC version 1.0.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 35aa769f5ca4f1c8bba3ec1739207cbd
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-Wall' '-Wextra' '-fopenmp'
'-mtune=generic' '-march=i586' '-pthread'
 as -v --32 -o omp_set_dynamic_leak.o omp_set_dynamic_leak.s
GNU assembler version 2.24.51 (i586-linux-gnu) using BFD version (GNU Binutils
for Debian) 2.24.51.20140818
COMPILER_PATH=/usr/lib/gcc/i586-linux-gnu/4.9/:/usr/lib/gcc/i586-linux-gnu/4.9/:/usr/lib/gcc/i586-linux-gnu/:/usr/lib/gcc/i586-linux-gnu/4.9/:/usr/lib/gcc/i586-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/i586-linux-gnu/4.9/:/usr/lib/gcc/i586-linux-gnu/4.9/../../../i386-linux-gnu/:/usr/lib/gcc/i586-linux-gnu/4.9/../../../../lib/:/lib/i386-linux-gnu/:/lib/../lib/:/usr/lib/i386-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/i586-linux-gnu/4.9/../../../:/lib/:/usr/lib/
Reading specs from /usr/lib/gcc/i586-linux-gnu/4.9/libgomp.spec
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-Wall' '-Wextra' '-fopenmp'
'-mtune=generic' '-march=i586' '-pthread'
 /usr/lib/gcc/i586-linux-gnu/4.9/collect2 -plugin