[Bug driver/67425] -frandom-seed documentation doesn't match code, incomplete

2015-12-25 Thread y.gribov at samsung dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67425

Yury Gribov  changed:

   What|Removed |Added

 CC||y.gribov at samsung dot com

--- Comment #2 from Yury Gribov  ---
I agree, we should definitely fix the documentation.  The change to the
documentation was most probably accidental.  Martin, could you send a patch for
this to gcc-patches or would you prefer me to do this?

[Bug other/60465] Compiling glibc-2.17,2.18 with gcc-4.8.2 and binutils-2.23.2,2.24 results in segfaults in _start / elf_get_dynamic_info

2015-12-25 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60465

--- Comment #29 from Andreas Schwab  ---
'_rtld_local#+15032385536' is just a hint that is passed through to the linker
in the addend of the R_IA64_LDXMOV relocation for the insn.  That tells the
linker the addend of the R_IA64_LTOFF22X relocation associated with the
corresponding addl insn when processing the R_IA64_LDXMOV relocation during the
relaxing pass.  This is necessary because the addl/ld8 pair can be separated by
arbitrary other insns.

[Bug tree-optimization/69039] [6 regression] segfault with ftree-parallelize-loops=2

2015-12-25 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69039

--- Comment #5 from vries at gcc dot gnu.org ---
We have reduction stmt _6 with loop phi prephitmp_11:
...
fn1 (unsigned int d)
{
  _Bool b_lsm.5;
  unsigned int b_lsm.4;
  int i;
  unsigned int pretmp_1;
  unsigned int ivtmp_4;
  unsigned int _6;
  unsigned int _9;
  unsigned int prephitmp_11;
  unsigned int ivtmp_12;

  :
  pretmp_1 = b;

  :
  # i_13 = PHI 
  # prephitmp_11 = PHI <_6(4), pretmp_1(2)>
  # ivtmp_4 = PHI 
  _6 = d_5(D) | prephitmp_11;
  i_8 = i_13 + 1;
  ivtmp_12 = ivtmp_4 - 1;
  if (ivtmp_12 != 0)
goto ;
  else
goto ;

  :
  goto ;

  :
  # _9 = PHI <_6(3)>
  # b_lsm.4_17 = PHI <_6(3)>
  b = b_lsm.4_17;
  return _9;
}
...

There are however two corresponding loop exit phis: _9 and b_lsm.4_17.

We only track one in the keep_res field of struct reduction_info.

[Bug tree-optimization/69039] [6 regression] segfault with ftree-parallelize-loops=2

2015-12-25 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69039

vries at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

[Bug other/60465] Compiling glibc-2.17,2.18 with gcc-4.8.2 and binutils-2.23.2,2.24 results in segfaults in _start / elf_get_dynamic_info

2015-12-25 Thread slyfox at inbox dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60465

--- Comment #30 from Sergei Trofimovich  ---
Aha, got it.

I've factored out GNU_HASH section setup crash into separate
very simple function:

  void __attribute__ ((unused, noinline))
  do_it_again (struct link_map *l, ElfW(Dyn) *dyn)
  {
ElfW(Dyn) **info = l->l_info;

info[1879047935 - dyn->d_tag + 66] = dyn;
  }

gcc -O2 specialises this function on 'l=_rtld_local._dl_rtld_map' argument.
Broken code looks as:

  Program received signal SIGSEGV, Segmentation fault.
  0x2008a9f0 in do_it_again (dyn=0x20080004e710,
l=0x2008000533f8 <_rtld_local+2456>) at get-dynamic-info.h:42
  42info[1879047935 - dyn->d_tag + 66] = dyn;
  (gdb) disassemble
  Dump of assembler code for function do_it_again:
 0x2008a9c0 <+0>: [MMI]   ld8 r14=[r32];;
 0x2008a9c1 <+1>: shladd r15=r14,3,r0
 0x2008a9c2 <+2>: addl r14=163312,r1;;
 0x2008a9d0 <+16>:[MMI]   ld8 r14=[r14];;
 0x2008a9d1 <+17>:adds r14=992,r14
 0x2008a9d2 <+18>:nop.i 0x0;;
 0x2008a9e0 <+32>:[MMI]   nop.m 0x0
 0x2008a9e1 <+33>:sub r14=r14,r15
 0x2008a9e2 <+34>:nop.i 0x0;;
  => 0x2008a9f0 <+48>:[MIB]   st8 [r14]=r32
 0x2008a9f1 <+49>:nop.i 0x0
 0x2008a9f2 <+50>:br.ret.sptk.many b0;;
  End of assembler dump.

It's a very early setup phase:

  (gdb) bt
  #0  0x2008a9f0 in do_it_again (dyn=0x20080004e710,
l=0x2008000533f8 <_rtld_local+2456>)
  at get-dynamic-info.h:42
  #1  0x2008abd0 in do_it (l=0x2008000533f8 <_rtld_local+2456>) at
get-dynamic-info.h:78
  #2  0x2008ac20 in elf_get_dynamic_info (temp=0x0,
l=0x2008000533f8 <_rtld_local+2456>) at get-dynamic-info.h:104
  #3  0x2008b2a0 in _dl_start (arg=0x6fffb350) at rtld.c:391
  #4  0x20081b10 in _start ()

What I don't like here:

'ld' is a static relocatable binary but the specialised code
attempts to write by absolute address stored in ld's memory image:

MEM[ MEM[r1 + 163312]
   + 992
   - dyn->d_tag /* absolute address, not r1 relative!*/ 
   ] = dyn;

I would expect something in '_start:'

   
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/ia64/dl-machine.h;h=57d761e48732cfa5de370e7022eef83ae74a9c65;hb=HEAD#l159

to store current gp(r1) address to make code above work. Or PIC
code not to rely on any relocations like that:

MEM[ r1 /* real PIC */
   + MEM[r1 + 163312]
   + 992
   - dyn->d_tag
   ] = dyn;

Who is expected to setup that 'r1 + 163312' location?

[Bug other/60465] Compiling glibc-2.17,2.18 with gcc-4.8.2 and binutils-2.23.2,2.24 results in segfaults in _start / elf_get_dynamic_info

2015-12-25 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60465

--- Comment #31 from Andreas Schwab  ---
@ltoffx on symbol+addend doesn't make any sense.  This computes an offset into
the GOT, so any addend needs to be added _after_ loading the actual symbol
address from the GOT.

[Bug c++/68948] G++ voluntarily removes a function call with terrible side effects

2015-12-25 Thread ttr314 at googlemail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68948

--- Comment #8 from Timo Reimann  ---
Author of the original failing code here. I'm not too deep into the standard to
be able to make a judgement on whether this should be legal code or not. (FWIW
though, it compiles fine in Clang.) If the extra namespace qualifier leads to
method calls getting dropped silently, however, gcc should emit a compile error
from my perspective. This would also be consistent with non-template code
variations of the problem at hand.

Does that sound reasonable?(In reply to Vasily Sukhanov from comment #0)
> This was reproduced in Chromium on Android in
> https://codereview.chromium.org/1480153002/#ps980001. A test calls
> RemoveLoginsByOriginAndTime(). The call with all the arguments
> construction/destruction is absent from the assembly code. Clang builds it
> correctly.
> 
> Grep for the line in the code 'base_store->RemoveLoginsByOriginAndTime'. The
> call is removed by GCC.
> 
> $
> /media/SSD/clank/src/third_party/android_tools/ndk//toolchains/x86-4.9/
> prebuilt/linux-x86_64/bin/i686-linux-android-g++ -v -save-temps -MMD -MF
> obj/components/password_manager/core/browser/components_unittests.
> password_store_default_unittest.o.d -DV8_DEPRECATION_WARNINGS
> -DCLD_VERSION=2 -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL
> -DCHROMIUM_BUILD -DCR_CLANG_REVISION=255169-1 -DCOMPONENT_BUILD
> -DUSE_LIBJPEG_TURBO=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1
> -DUSE_PROPRIETARY_CODECS -DENABLE_BROWSER_CDMS -DENABLE_CONFIGURATION_POLICY
> -DENABLE_NOTIFICATIONS -DDONT_EMBED_BUILD_METADATA
> -DFIELDTRIAL_TESTING_ENABLED -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_PRINTING=1
> -DENABLE_BASIC_PRINTING=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1
> -DENABLE_SUPERVISED_USERS=1 -DVIDEO_HOLE=1 -DV8_USE_EXTERNAL_STARTUP_DATA
> -DENABLE_WEBVR -DSAFE_BROWSING_DB_REMOTE -DGTEST_HAS_POSIX_RE=0
> -DGTEST_LANG_CXX11=0 -DMOJO_USE_SYSTEM_IMPL -DUNIT_TEST -DGTEST_HAS_RTTI=0
> -DGTEST_HAS_CLONE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -DGTEST_HAS_TR1_TUPLE=1
> -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0
> -DI18N_ADDRESSINPUT_USE_BASICTYPES_OVERRIDE=1 -DFEATURE_ENABLE_SSL
> -DFEATURE_ENABLE_VOICEMAIL -DEXPAT_RELATIVE_PATH -DGTEST_RELATIVE_PATH
> -DNO_MAIN_THREAD_WRAPPING -DNO_SOUND_SYSTEM -DANDROID -DWEBRTC_POSIX
> -DXML_STATIC -DI18N_PHONENUMBERS_USE_ICU_REGEXP=1 -DLIBXML_STATIC
> -DPROTOBUF_USE_DLLS -DGOOGLE_PROTOBUF_NO_RTTI
> -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
> '-DPRECACHE_CONFIG_SETTINGS_URL="https://www.gstatic.com/chrome/wifiprefetch/
> precache_config"'
> '-DPRECACHE_MANIFEST_URL_PREFIX="https://www.gstatic.com/chrome/wifiprefetch/
> hosts/"' -DAPPCACHE_USE_SIMPLE_CACHE -DV8_SHARED -DUSING_V8_SHARED
> -DCHROME_PNG_WRITE_SUPPORT -DPNG_USER_CONFIG -DCHROME_PNG_READ_PACK_SUPPORT
> -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_SUPPORT_GPU=1
> -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_BUILD_FOR_ANDROID
> -DOPENSSL_SMALL -DBORINGSSL_SHARED_LIBRARY -DUSE_LIBPCI=1 -DUSE_OPENSSL=1
> -DUSE_OPENSSL_CERTS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
> -D__GNU_SOURCE=1 '-DCHROME_BUILD_ID=""' -DHAVE_SYS_UIO_H
> -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_DEBUG
> -Igen -I../.. -I../../skia/config -I../../third_party/khronos -I../../gpu
> -Igen/angle -I../../third_party/WebKit/Source -Igen/protoc_out
> -I../../testing/gmock/include -I../../testing/gtest/include
> -I../../third_party/icu/source/i18n
> -I../../third_party/leveldatabase/src/include
> -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase
> -I../../third_party/libaddressinput/chromium/override
> -I../../third_party/libaddressinput/src/cpp/include
> -Igen/third_party/libaddressinput/ -I../../third_party/webrtc_overrides
> -I../../third_party/libjingle/overrides -I../../third_party/libjingle/source
> -I../../third_party -I../../third_party/expat/files/lib
> -Igen/protoc_out/third_party/libphonenumber
> -I../../third_party/libphonenumber/src
> -I../../third_party/libxml/linux/include
> -I../../third_party/libxml/src/include -I../../third_party/icu/source/common
> -I../../third_party/protobuf -I../../third_party/protobuf/src
> -I../../third_party/re2 -Igen/ui/resources
> -I../../third_party/dom_distiller_js/dist/proto_gen
> -I../../third_party/cacheinvalidation/overrides
> -I../../third_party/cacheinvalidation/src
> -I../../third_party/cacheinvalidation/google/cacheinvalidation
> -Igen/components -Igen/components/strings -I../../third_party/WebKit
> -I../../third_party/WebKit -I../../third_party/npapi
> -I../../third_party/npapi/bindings -I../../v8/include
> -I../../third_party/libpng -I../../third_party/zlib
> -I../../third_party/libwebp -I../../third_party/ots/include
> -I../../third_party/qcms/src -I../../third_party/iccjpeg
> -I../../third_party/libjpeg_turbo -I../../skia/ext
> -I../../third_party/skia/include/core
> -I../../third_party/skia/include/effects
> -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu
> 

[Bug target/69051] New: Misaligned read from the stack when using odd sized character array

2015-12-25 Thread m.frohiky at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69051

Bug ID: 69051
   Summary: Misaligned read from the stack when using odd sized
character array
   Product: gcc
   Version: 5.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: m.frohiky at gmail dot com
  Target Milestone: ---

This simple code:

void filler(unsigned char *blk);
long f(void) {
unsigned char blk[65];
filler(blk);
return
((unsigned long)blk[0] << 24) |
((unsigned long)blk[1] << 16) |
((unsigned long)blk[2] <<  8) |
((unsigned long)blk[3] <<  0);
}

compiled with any kind of optimization:

m68k-linux-gnu-gcc -S p.c -O2

generates assembly code that can not be executed due to the misaligned read
from the stack:

f2:
link.w %fp,#-68
pea -65(%fp)
jsr filler
move.l -65(%fp),%d0# this line fails
unlk %fp
rts

move.l fails because -65(%fp) is an odd address.

One possible workaround is to mark used elements as modified by inline
assembly:
addr  = ((unsigned long)blk[0] << 24);
asm("" : "=m"(blk[0]));
addr |= ((unsigned long)blk[1] << 16);
asm("" : "=m"(blk[1]));
addr |= ((unsigned long)blk[2] <<  8);
asm("" : "=m"(blk[2]));
addr |= ((unsigned long)blk[3] <<  0);


The compiler is installed from Debian repository.

[Bug target/69051] Misaligned read from the stack when using odd sized character array

2015-12-25 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69051

--- Comment #1 from Andreas Schwab  ---
In which way does it fail?

[Bug target/69027] implement indirect tail calls on SPARC

2015-12-25 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69027

Eric Botcazou  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-25
 CC||ebotcazou at gcc dot gnu.org
Summary|SPARC: Missing optimization |implement indirect tail
   |for fall through functions  |calls on SPARC
 Ever confirmed|0   |1

--- Comment #1 from Eric Botcazou  ---
The SPARC back-end doesn't implement indirect tail calls, that's probably not
worth the hassle in practice, but most other mainstream architectures do.

[Bug c++/69054] New: g++ fails to diagnose ambiguous overload resolution when implicit conversions are involved

2015-12-25 Thread pravasimeet999 at yahoo dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69054

Bug ID: 69054
   Summary: g++ fails to diagnose ambiguous overload resolution
when implicit conversions are involved
   Product: gcc
   Version: 5.2.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pravasimeet999 at yahoo dot com
  Target Milestone: ---

The following program is ill formed C++. But on all versions of g++ it (See
live demo http://melpon.org/wandbox/permlink/EdNNBq5uiMTzDz51 )compiles fine
without any warnings or errors, but diagnostics is required for this program.
It fails in compilation on clang++. (See live demo
http://melpon.org/wandbox/permlink/UjZn64U5oX26xMFI ).

#include 
struct Base
{
operator double() const { return 0.0; }
};

struct foo
{
foo(const char* c) { }
};

struct Something : public Base
{
void operator[](const foo& f) { }
};

int main()
{
Something d;
d["32"];
return 0;
}

See this stackoverflow question for more details:
http://stackoverflow.com/questions/8914986/should-this-compile-overload-resolution-and-implicit-conversions?rq=1

[Bug rtl-optimization/69052] New: [6 Regression] Performance regression after r229402.

2015-12-25 Thread ysrumyan at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69052

Bug ID: 69052
   Summary: [6 Regression] Performance regression after r229402.
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ysrumyan at gmail dot com
  Target Milestone: ---

In loop_invariant phase additional function inv_can_prop_to_addr_use which
tried to determine if forward propagation for cheap address is possible through
call of verify_changes which is very poor in comparison with combine phase.
For example, for attached test-case it tries
(gdb) call debug_rtx(def_insn)
(insn 69 67 70 9 (set (reg/f:SI 149)
(plus:SI (reg:SI 87)
(const:SI (unspec:SI [
(symbol_ref:SI ("ind") [flags 0x2] )
] UNSPEC_GOTOFF t1.c:40 212 {*leasi}
 (expr_list:REG_DEAD (reg:SI 87)
(nil)))
(gdb) call debug_rtx(use_insn)
(insn 70 69 71 9 (set (reg:SI 150)
(mem/u:SI (plus:SI (mult:SI (reg/v:SI 90 [ k ])
(const_int 4 [0x4]))
(reg/f:SI 149)) [1 ind S4 A32])) t1.c:40 86 {*movsi_internal}
 (expr_list:REG_DEAD (reg/f:SI 149)
(nil)))
and determines that propagation is not possible:
(gdb) p ok
$1 = false
but combine can do such substitution.

This leads to undesired code motion and performance lost:
for stmt out[ind[k]] = result
before r229402
movlind@GOTOFF(%ebx,%esi,4), %eax
movl12(%esp), %edi
movl%ebp, (%edi,%eax,4)
after r229402
movl28(%esp), %eax
movl24(%esp), %ebx
movl(%eax,%esi,4), %eax
movl%edi, (%ebx,%eax,4)

redundant fill has been generated by LRA.

Since emulation combine phase is not so simple I assume that additional hook
should be added to turn off such transformation for x86 in PIE mode.

[Bug rtl-optimization/69052] [6 Regression] Performance regression after r229402.

2015-12-25 Thread ysrumyan at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69052

--- Comment #1 from Yuri Rumyantsev  ---
Created attachment 37133
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37133=edit
test-case to reproduce

It should be compile with -O2 -m32 options to reproduce.

[Bug target/69038] compilation error: unable to find a register to spill in class 'FP_REGS'

2015-12-25 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69038

Eric Botcazou  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2015-12-25
 CC||ebotcazou at gcc dot gnu.org
Summary|sparc64 compilation fails   |compilation error: unable
   |with error: unable to find  |to find a register to spill
   |a register to spill in  |in class 'FP_REGS'
   |class 'FP_REGS' |
 Ever confirmed|0   |1

--- Comment #1 from Eric Botcazou  ---
Can you post the output of 'gcc -v' ?

[Bug fortran/69043] Trying to include a directory causes an infinite loop

2015-12-25 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69043

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-25
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Confirmed from 4.8 up to trunk (6.0). Working patch submitted at
https://gcc.gnu.org/ml/fortran/2015-12/msg00124.html.

[Bug target/69051] Misaligned read from the stack when using odd sized character array

2015-12-25 Thread m.frohiky at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69051

--- Comment #2 from ⎓  ---
After the move.l line, address error exception is executed.
And that is expected as that line tries to access 32 bit word from an odd
address.

[Bug target/69038] compilation error: unable to find a register to spill in class 'FP_REGS'

2015-12-25 Thread thomas.petazz...@free-electrons.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69038

--- Comment #2 from Thomas Petazzoni  ---
Sure, here it is:

Using built-in specs.
COLLECT_GCC=/home/test/buildroot/output/host/usr/bin/sparc64-buildroot-linux-gnu-g++.br_real
Target: sparc64-buildroot-linux-gnu
Configured with: ./configure --prefix=/home/test/buildroot/output/host/usr
--sysconfdir=/home/test/buildroot/output/host/etc --enable-static
--target=sparc64-b
uildroot-linux-gnu
--with-sysroot=/home/test/buildroot/output/host/usr/sparc64-buildroot-linux-gnu/sysroot
--disable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib
--with-gmp=/home/test/buildroot/output/host/usr
--with-mpfr=/home/test/buildroot/output/host/usr --with-pkgversion='Buildroot
2016.02-git-00574-g4ef0ef3-dirty' --with-bugurl=http://bugs.buildroot.net/
--disable-libquadmath --disable-libsanitizer --enable-tls --disable-libmudflap
--enable-threads --with-mpc=/home/test/buildroot/output/host/usr --without-isl
--without-cloog --disable-decimal-float --with-cpu=ultrasparc
--enable-languages=c,c++
--with-build-time-tools=/home/test/buildroot/output/host/usr/sparc64-buildroot-linux-gnu/bin
--enable-shared --disable-libgomp
Thread model: posix
gcc version 5.3.0 (Buildroot 2016.02-git-00574-g4ef0ef3-dirty) 
COLLECT_GCC_OPTIONS='-v' '-c' '-Os' '-shared-libgcc' '-mcpu=ultrasparc'

/home/test/buildroot/output/host/usr/libexec/gcc/sparc64-buildroot-linux-gnu/5.3.0/cc1plus
-quiet -v -isysroot
/home/test/buildroot/output/host/usr/sparc64-buildroot-linux-gnu/sysroot
-D_GNU_SOURCE -D__sparc_v9__ -D__arch64__ .libs/nohalo.c -mvis -quiet -dumpbase
nohalo.c -mcpu=ultrasparc -auxbase nohalo -Os -version -o /tmp/ccHnYVn9.s
GNU C++ (Buildroot 2016.02-git-00574-g4ef0ef3-dirty) version 5.3.0
(sparc64-buildroot-linux-gnu)
compiled by GNU C version 4.4.5, GMP version 6.1.0, MPFR version 3.1.3,
MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory
"/home/test/buildroot/output/host/usr/sparc64-buildroot-linux-gnu/sysroot/usr/local/include"
#include "..." search starts here:
#include <...> search starts here:

/home/test/buildroot/output/host/usr/lib/gcc/sparc64-buildroot-linux-gnu/5.3.0/../../../../sparc64-buildroot-linux-gnu/include/c++/5.3.0

/home/test/buildroot/output/host/usr/lib/gcc/sparc64-buildroot-linux-gnu/5.3.0/../../../../sparc64-buildroot-linux-gnu/include/c++/5.3.0/sparc64-buildroot-linux-gnu

/home/test/buildroot/output/host/usr/lib/gcc/sparc64-buildroot-linux-gnu/5.3.0/../../../../sparc64-buildroot-linux-gnu/include/c++/5.3.0/backward

/home/test/buildroot/output/host/usr/lib/gcc/sparc64-buildroot-linux-gnu/5.3.0/include

/home/test/buildroot/output/host/usr/lib/gcc/sparc64-buildroot-linux-gnu/5.3.0/include-fixed

/home/test/buildroot/output/host/usr/lib/gcc/sparc64-buildroot-linux-gnu/5.3.0/../../../../sparc64-buildroot-linux-gnu/include

/home/test/buildroot/output/host/usr/sparc64-buildroot-linux-gnu/sysroot/usr/include
End of search list.
GNU C++ (Buildroot 2016.02-git-00574-g4ef0ef3-dirty) version 5.3.0
(sparc64-buildroot-linux-gnu)
compiled by GNU C version 4.4.5, GMP version 6.1.0, MPFR version 3.1.3,
MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: f99a20b2afe7fa95fb8df4625860a9b3
nohalo.cpp: In function 'void
vips_interpolate_nohalo_interpolate(VipsInterpolate*, void*, VipsRegion*,
double, double)':
nohalo.cpp:1571:1: error: unable to find a register to spill in class 'FP_REGS'
 }
 ^
nohalo.cpp:1571:1: error: this is the insn:
(insn 555 554 3791 8 (set (reg:DF 32 %f0)
(float:DF (reg:SI 1852 [ MEM[base: p_139, index: _138, offset: 0B]+-3
]))) nohalo.cpp:1463 155 {floatsidf2}
 (expr_list:REG_DEAD (reg:SI 1852 [ MEM[base: p_139, index: _138, offset:
0B]+-3 ])
(nil)))
nohalo.cpp:1571: confused by earlier errors, bailing out

[Bug target/69051] Misaligned read from the stack when using odd sized character array

2015-12-25 Thread m.frohiky at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69051

--- Comment #4 from ⎓  ---
Whoops! I didn't expect that because I was relying on the -m68000 flag.
Then I'll have to try with that compiler.

Maybe there should be a warning for using an unsupported CPU architecture?

[Bug libstdc++/61617] add boost::coroutine

2015-12-25 Thread piotr5 at netscape dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61617

--- Comment #4 from piotr5 at netscape dot net ---
thanks anyway. so what is the standards comitee's "direction" for making
arbitrary-width-tree iterators more comprehensible, if not an iteration over
multiple children for each level's node? does boost::coroutine contradict
anything among gcc-commitee's plans? guess I'll ask that directly elsewhere and
post my findings here, if you don't reply.

[Bug target/69012] gcc-6.0.0 internal compiler error building libgfortran for mips64el target

2015-12-25 Thread edlinger at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69012

Bernd Edlinger  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-25
 Ever confirmed|0   |1

--- Comment #12 from Bernd Edlinger  ---
confirmed, I encountered it too when compiling a cross-glibc

gcc-config:
../gcc-trunk/configure --prefix=/home/ed/gnu/mips-linux-gnu
--target=mips-linux-gnu --enable-languages=c --disable-shared --disable-threads
--disable-libssp --disable-libgomp --disable-libquadmath --disable-libatomic

glibc-config:
../glibc-2.22/configure --prefix=/home/ed/gnu/mips-linux-gnu/mips-linux-gnu
--build=mips-linux-gnu --disable-werror CC=mips-linux-gnu-gcc

mips-linux-gnu-gcc -mabi=32 ../sysdeps/ieee754/dbl-64/e_remainder.c -c
-std=gnu99 -fgnu89-inline  -O2 -Wall -Wundef -Wwrite-strings
-fmerge-all-constants -frounding-math -g -Wstrict-prototypes  
-Wno-uninitialized-D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES
-DNO_LONG_DOUBLE -D_Mlong_double_=double -I../include
-I/home/ed/gnu/glibc-build-mips/math  -I/home/ed/gnu/glibc-build-mips 
-I../sysdeps/unix/sysv/linux/mips/mips32/fpu 
-I../sysdeps/unix/sysv/linux/mips/mips32  -I../sysdeps/unix/sysv/linux/mips 
-I../sysdeps/mips/nptl  -I../sysdeps/unix/sysv/linux/include
-I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread 
-I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv 
-I../sysdeps/unix/mips/mips32  -I../sysdeps/unix/mips  -I../sysdeps/unix 
-I../sysdeps/posix  -I../sysdeps/mips/mips32/fpu  -I../sysdeps/mips/mips32 
-I../sysdeps/mips/ieee754  -I../sysdeps/mips/include -I../sysdeps/mips 
-I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64 
-I../sysdeps/wordsize-32  -I../sysdeps/mips/fpu  -I../sysdeps/ieee754 
-I../sysdeps/generic  -I.. -I../libio -I.   -D_LIBC_REENTRANT -include
/home/ed/gnu/glibc-build-mips/libc-modules.h -DMODULE_NAME=libm -include
../include/libc-symbols.h  -DPIC -o
/home/ed/gnu/glibc-build-mips/math/e_remainder.o -MD -MP -MF
/home/ed/gnu/glibc-build-mips/math/e_remainder.o.dt -MT
/home/ed/gnu/glibc-build-mips/math/e_remainder.o
../sysdeps/ieee754/dbl-64/e_remainder.c: In function '__ieee754_remainder':
../sysdeps/ieee754/dbl-64/e_remainder.c:149:1: error: unrecognizable insn:
 }
 ^

(insn 911 910 912 2 (parallel [
(set (mem/c:SI (plus:SI (reg/f:SI 29 $sp)
(const_int 16 [0x10])) [8  S4 A32])
(unspec:SI [
(const_int 16 [0x10])
(reg:SI 28 $28)
] UNSPEC_POTENTIAL_CPRESTORE))
(clobber (scratch:SI))
]) ../sysdeps/ieee754/dbl-64/e_remainder.c:45 -1
 (expr_list:REG_DEAD (reg:SI 28 $28)
(nil)))
../sysdeps/ieee754/dbl-64/e_remainder.c:149:1: internal compiler error: in
get_attr_got, at config/mips/mips.md:694
0xa4c2aa _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
../../gcc-trunk/gcc/rtl-error.c:108
0xa4c2d9 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
../../gcc-trunk/gcc/rtl-error.c:116
0xea6616 get_attr_got(rtx_insn*)
../../gcc-trunk/gcc/config/mips/mips.md:694
0xdc4128 mips_insn_has_flexible_gp_ref_p
../../gcc-trunk/gcc/config/mips/mips.c:9927
0xdc11fe mips_find_gp_ref
../../gcc-trunk/gcc/config/mips/mips.c:9858
0xdc1ee7 mips_global_pointer
../../gcc-trunk/gcc/config/mips/mips.c:9979
0xdc1ee7 mips_compute_frame_info
../../gcc-trunk/gcc/config/mips/mips.c:10350
0xdce2ce mips_initial_elimination_offset(int, int)
../../gcc-trunk/gcc/config/mips/mips.c:10591
0xa4dbd2 rtx_addr_can_trap_p_1
../../gcc-trunk/gcc/rtlanal.c:618
0xa4da67 rtx_addr_can_trap_p_1
../../gcc-trunk/gcc/rtlanal.c:679
0xa51737 may_trap_p_1(rtx_def const*, unsigned int)
../../gcc-trunk/gcc/rtlanal.c:2819
0x723b28 can_move_insns_across(rtx_insn*, rtx_insn*, rtx_insn*, rtx_insn*,
basic_block_def*, bitmap_head*, bitmap_head*, rtx_insn**)
../../gcc-trunk/gcc/df-problems.c:4156
0xf342c8 try_head_merge_bb
../../gcc-trunk/gcc/cfgcleanup.c:2502
0xf342c8 try_optimize_cfg
../../gcc-trunk/gcc/cfgcleanup.c:2832
0xf342c8 cleanup_cfg(int)
../../gcc-trunk/gcc/cfgcleanup.c:3028
0xf349a6 execute
../../gcc-trunk/gcc/cfgcleanup.c:3157
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.
make[2]: *** [/home/ed/gnu/glibc-build-mips/math/e_remainder.o] Error 1
make[2]: Leaving directory `/home/ed/gnu/glibc-2.22/math'
make[1]: *** [math/others] Error 2
make[1]: Leaving directory `/home/ed/gnu/glibc-2.22'
make: *** [all] Error 2

this is also fixed by patch in comment#11

[Bug tree-optimization/69039] [6 regression] segfault with ftree-parallelize-loops=2

2015-12-25 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69039

--- Comment #6 from vries at gcc dot gnu.org ---
Created attachment 37132
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37132=edit
tentative patch

[Bug target/69053] New: [6 Regression] ICE in build_vector_from_val

2015-12-25 Thread miyuki at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69053

Bug ID: 69053
   Summary: [6 Regression] ICE in build_vector_from_val
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: miyuki at gcc dot gnu.org
CC: alan.lawrence at arm dot com
  Target Milestone: ---
Target: x86_64-*-*

Starting with r230423 the following testcase causes an ICE:

$ cat genattrtab.cc 
struct A {
  int *elem[1];
};
int a, d, e;
A *b;
int *c;
int main()
{
  int *f = 0;
  for (; e; e++)
if (b->elem[e])
  f = c;
  if (f)
a = d;
}

$ cc1plus -march=core-avx2 -quiet -O3 genattrtab.cc
genattrtab.cc: In function 'int main()':
genattrtab.cc:7:5: internal compiler error: in build_vector_from_val, at
tree.c:1754
 int main()
 ^~~~

0xf62595 build_vector_from_val(tree_node*, tree_node*)
/home/miyuki/gcc/src/gcc/tree.c:1753
0xf0c94a get_initial_def_for_reduction(gimple*, tree_node*, tree_node**)
/home/miyuki/gcc/src/gcc/tree-vect-loop.c:4120
0x5b809a vect_create_epilog_for_reduction
/home/miyuki/gcc/src/gcc/tree-vect-loop.c:4283
0xf0e65d vectorizable_reduction(gimple*, gimple_stmt_iterator*, gimple**,
_slp_tree*)
/home/miyuki/gcc/src/gcc/tree-vect-loop.c:6100
0xf05e30 vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*, _slp_tree*,
_slp_instance*)
/home/miyuki/gcc/src/gcc/tree-vect-stmts.c:8048
0xf0be72 vect_transform_loop(_loop_vec_info*)
/home/miyuki/gcc/src/gcc/tree-vect-loop.c:6793
0xf27537 vectorize_loops()
/home/miyuki/gcc/src/gcc/tree-vectorizer.c:548
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

[Bug target/69051] Misaligned read from the stack when using odd sized character array

2015-12-25 Thread mikpelinux at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69051

--- Comment #3 from Mikael Pettersson  ---
Sounds like you're using the wrong target.  m68k-linux implies a 68020, 030,
040, or 060 CPU, and they don't have alignment constraints.  Perhaps you should
be using an m68k-elf toolchain?

[Bug tree-optimization/66580] max reduction does not auto vectorize

2015-12-25 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66580

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-25
 Ever confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #1 from Andrew Pinski  ---
Confirmed.

[Bug target/67002] [5] [SH]: Bootstrap stage 2/3 comparison failure - gcc/real.o differs

2015-12-25 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67002

Oleg Endo  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #30 from Oleg Endo  ---
Thanks for confirming.

[Bug other/69050] libbacktrace: bsearch over unsorted array in unit_addrs_search

2015-12-25 Thread ian at airs dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69050

--- Comment #1 from Ian Lance Taylor  ---
The algorithms aren't unrelated.  unit_addrs_compare sorts by low then high
then lineoff.  unit_addrs_search returns any entry that includes the PC for
which we are searching, where it includes the PC if it is between low and high.
 As the comment says, dwarf_fileline (the only caller) then moves forward to
the last range that includes PC.  This will return a consistent answer if
low/high ranges are always subsets or supersets--that is, if a->low <= b->low,
then a->high >= b->high.  That is always the case for DWARF.

If you are encountering a problem, please describe it in more detail.

[Bug c++/58040] Cannot take address-of public using-declaration of member from protected base class

2015-12-25 Thread gcc at mattwhitlock dot name
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58040

--- Comment #5 from Matt Whitlock  ---
FYI, this is still a problem in G++ 5.3.0.

[Bug c++/69056] New: GCC failed with variadic template and pointer to member function

2015-12-25 Thread sebastien at chapuis dot co
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69056

Bug ID: 69056
   Summary: GCC failed with variadic template and pointer to
member function
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sebastien at chapuis dot co
  Target Milestone: ---

$cat test.cpp
#include 
#include 

class   Manager
{
public:
  Manager() {}
  virtual ~Manager() {}

  int funcA(std::shared_ptr a, float b) { return *a + b; }
  int funcA(std::shared_ptr a) { return *a; }
};

template 
auto resolver(int (Manager::*func)(std::shared_ptr, Args...)) ->
decltype(func) {
  return func;
}   

int main(int, char **)
{
  Manager m;
  Manager *ptr = 

  auto var = std::make_shared(1);

  int result = (ptr->*resolver(::funcA))(var, 2.0);

  std::cout << result << std::endl;

  return 0;
}
$g++ -std=c++11 test.cpp 
test.cpp: In function 'int main(int, char**)':
test.cpp:29:52: error: no matching function for call to 'resolver()'
   int result = (ptr->*resolver(::funcA))(var, 2.0);
^
test.cpp:15:6: note: candidate: template decltype
(func) resolver(int (Manager::*)(std::shared_ptr<_Tp1>, Args ...))
 auto resolver(int (Manager::*func)(std::shared_ptr, Args...)) ->
decltype(func) {
  ^
test.cpp:15:6: note:   template argument deduction/substitution failed:
test.cpp:29:52: note:   mismatched types 'std::shared_ptr' and
'std::shared_ptr'
   int result = (ptr->*resolver(::funcA))(var, 2.0);
^
test.cpp:29:52: note:   could not resolve address from overloaded function '&
Manager::funcA'
$



This code fails to compile with gcc but is fine with clang or MSVC.
I tried with gcc 5.3.1 and 6.0.0 20151220

[Bug tree-optimization/69039] [6 regression] segfault with ftree-parallelize-loops=2

2015-12-25 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69039

--- Comment #7 from vries at gcc dot gnu.org ---
(In reply to vries from comment #6)
> Created attachment 37132 [details]
> tentative patch

The tentative patch fixes the reduced test-case, but we run into another ICE
with the full test-case:
...
ira-color.c: In function ‘’:
ira-color.c:110833:8: error: invalid PHI argument
  r < conflict_hregno + conflict_nregs;
^

_regs
ira-color.c:110833:8: error: location references block not in block tree
_regs
prephitmp_59 = PHI <_60(22), _regs(11)>
ira-color.c:110833:8: internal compiler error: verify_gimple failed
0x11b7aca verify_gimple_in_cfg(function*, bool)
src/gcc/tree-cfg.c:5119
0xf9c3d2 execute_function_todo
src/gcc/passes.c:1958
0xf9b4a5 do_per_function
src/gcc/passes.c:1645
0xf9c5ae execute_todo
src/gcc/passes.c:2010
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.
...

[Bug c++/58855] Attributes ignored on type alias in template

2015-12-25 Thread ncm at cantrip dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58855

ncm at cantrip dot org changed:

   What|Removed |Added

 CC||ncm at cantrip dot org

--- Comment #1 from ncm at cantrip dot org ---
This bug is still present in g++-5.3.1:

$ cat usingbug.cc

template 
struct S {
  typedefunsigned  __attribute__((vector_size(N*sizeof(unsigned T1;
  using T2 = unsigned  __attribute__((vector_size(N*sizeof(unsigned;
};

int main()
{
S<4u>::T1 v1;
S<4u>::T2 v2;

return v1[1] + v2[2];
}

$ g++ -std=c++14 usingbug.cc 
usingbug.cc: In function ‘int main()’:
usingbug.cc:13:24: error: invalid types ‘S<4u>::T2 {aka unsigned int}[int]’ for
array subscript
 return v1[1] + v2[2];
^
$ g++ --version
g++ (Debian 5.3.1-4) 5.3.1 20151219

[Bug rtl-optimization/66489] combine fails to merge insns if some are reused later on

2015-12-25 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66489

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-25
 Ever confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #5 from Andrew Pinski  ---
Confirmed.

[Bug fortran/69055] New: Internal compiler error -fsanitize=float-cast-overflow

2015-12-25 Thread physiker at toast2 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69055

Bug ID: 69055
   Summary: Internal compiler error -fsanitize=float-cast-overflow
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: physiker at toast2 dot net
  Target Milestone: ---
  Host: x86_64-pc-linux-gnu
Target: x86_64-pc-linux-gnu
 Build: gcc-Version 6.0.0 20151223

Created attachment 37134
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37134=edit
Source code

t.f90
  SUBROUTINE TSTD

  IMPLICIT NONE

  INTEGER*4 N

  COMMON /COMMI/DATEN(10)

  type T_daten
  sequence
 real(8) daten
  end type T_daten

  type(T_daten) :: daten

  integer(4) ::  j=1

  N=daten(j)%daten

  END SUBROUTINE TSTD

peter@linux:~/devel/build-gcc> LANG=C gfortran-6 -v -save-temps -c t.f90
-fsanitize=float-cast-overflow
Using built-in specs.
COLLECT_GCC=gfortran-6
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure --enable-__cxa_atexit --program-suffix=-6
--enable-languages=c,c++,fortran --with-system-zlib --disable-multilib
Thread model: posix
gcc version 6.0.0 20151223 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-c' '-fsanitize=float-cast-overflow'
'-mtune=generic' '-march=x86-64'
 /usr/local/lib/gcc/x86_64-pc-linux-gnu/6.0.0/f951 t.f90 -quiet -dumpbase t.f90
-mtune=generic -march=x86-64 -auxbase t -version -fsanitize=float-cast-overflow
-fintrinsic-modules-path
/usr/local/lib64/gcc/x86_64-pc-linux-gnu/6.0.0/finclude -o t.s
GNU Fortran (GCC) version 6.0.0 20151223 (experimental) (x86_64-pc-linux-gnu)
compiled by GNU C version 6.0.0 20151223 (experimental), GMP version
5.1.3, MPFR version 3.1.2, MPC version 1.0.2, isl version none
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU Fortran2008 (GCC) version 6.0.0 20151223 (experimental)
(x86_64-pc-linux-gnu)
compiled by GNU C version 6.0.0 20151223 (experimental), GMP version
5.1.3, MPFR version 3.1.2, MPC version 1.0.2, isl version none
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
t.f90:18:0:

   N=daten(j)%daten


internal compiler error: Segmentation fault
0xb7b24f crash_signal
../../gcc/gcc/toplev.c:334
0xe07e08 contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
../../gcc/gcc/tree.h:3111
0xe07e08 build_call_expr_loc_array(unsigned int, tree_node*, int, tree_node**)
../../gcc/gcc/tree.c:11011
0xe07f7f build_call_expr_loc(unsigned int, tree_node*, int, ...)
../../gcc/gcc/tree.c:11044
0xb9f5f5 ubsan_instrument_float_cast(unsigned int, tree_node*, tree_node*,
tree_node*)
../../gcc/gcc/ubsan.c:1611
0x7d8479 convert_to_integer_1
../../gcc/gcc/convert.c:923
0x6a7a6a convert(tree_node*, tree_node*)
../../gcc/gcc/fortran/convert.c:101
0x7011af gfc_conv_intrinsic_conversion
../../gcc/gcc/fortran/trans-intrinsic.c:336
0x71620f gfc_conv_intrinsic_function(gfc_se*, gfc_expr*)
../../gcc/gcc/fortran/trans-intrinsic.c:7902
0x6f3912 gfc_conv_expr(gfc_se*, gfc_expr*)
../../gcc/gcc/fortran/trans-expr.c:7522
0x6fb83d gfc_trans_assignment_1
../../gcc/gcc/fortran/trans-expr.c:9249
0x6b5da1 trans_code
../../gcc/gcc/fortran/trans.c:1676
0x6e44a8 gfc_generate_function_code(gfc_namespace*)
../../gcc/gcc/fortran/trans-decl.c:6083
0x671310 translate_all_program_units
../../gcc/gcc/fortran/parse.c:5612
0x671310 gfc_parse_file()
../../gcc/gcc/fortran/parse.c:5818
0x6b2855 gfc_be_parse_file
../../gcc/gcc/fortran/f95-lang.c:201
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

internal compiler error with gcc 5.2 on linux and with gcc 5.3 on os/x 
mavericks.

[Bug testsuite/68917] test suite failure for builtin-bitops-1.c

2015-12-25 Thread gang.chen.5i5j at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68917

--- Comment #5 from Chen Gang  ---
(In reply to Bernd Edlinger from comment #1)
> does something like this help?
> 

OK, it has effect, :-)

And pass gcc testsuite. The related result is below:

[root@localhost contrib]# ./compare_tests ../../build-gcc-cur
../../build-gcc-cur-new
# Comparing directories
## Dir1=../../build-gcc-cur: 2 sum files
## Dir2=../../build-gcc-cur-new: 2 sum files

# Comparing 2 common sum files
## /bin/sh ./compare_tests  /tmp/gxx-sum1.1535 /tmp/gxx-sum2.1535
Tests that now work, but didn't before:

tile: gcc.c-torture/execute/builtin-bitops-1.c   -O0  (test for excess errors)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O1  (test for excess errors)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O2  (test for excess errors)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  (test for excess errors)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (test for excess errors)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess
errors)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O3 -g  (test for excess
errors)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -Os  (test for excess errors)
tile: gcc.dg/builtin-protos-1.c (test for excess errors)
tile: gcc.dg/tree-ssa/vrp89.c (test for excess errors)

New tests that PASS:

tile: gcc.c-torture/execute/builtin-bitops-1.c   -O0  execution test
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O1  execution test
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O2  execution test
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  execution test
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O3 -g  execution test
tile: gcc.c-torture/execute/builtin-bitops-1.c   -Os  execution test

Old tests that failed, that have disappeared: (Eeek!)

tile: gcc.c-torture/execute/builtin-bitops-1.c   -O0  (internal compiler error)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O1  (internal compiler error)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O2  (internal compiler error)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  (internal compiler error)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (internal compiler error)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  (internal compiler
error)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -O3 -g  (internal compiler
error)
tile: gcc.c-torture/execute/builtin-bitops-1.c   -Os  (internal compiler error)
tile: gcc.dg/builtin-protos-1.c (internal compiler error)
tile: gcc.dg/tree-ssa/vrp89.c (internal compiler error)

# No differences found in 2 common sum files
[root@localhost contrib]#