[Bug debug/60643] ICE with -O1 and -g on mips (internal compiler error: in dwarf2out_var_location, at dwarf2out.c:20810)

2014-03-25 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60643

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org ---
Works for me with an unmodified GCC 4.8.2.

So please try removing all of the Open-embedded patches since one of them is
causing this bug.


[Bug bootstrap/60644] New: [4.9 Regression] Build of i686-pc-linux-android is broken

2014-03-25 Thread aivchenk at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60644

Bug ID: 60644
   Summary: [4.9 Regression] Build of i686-pc-linux-android is
broken
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: aivchenk at gmail dot com

 ../gcc_mainline/configure --target=i686-linux-android --disable-bootstrap 
 --enable-languages=c,c++ 
 --with-sysroot=[..]ndk/android-ndk-r9d/platforms/android-19/arch-x86 
 --disable-shared --disable-libitm --disable-libsanitizer


 make
[..]
../../../gcc_mainline/libcilkrts/runtime/os-unix.c: In function ‘linux_gettid’:
../../../gcc_mainline/libcilkrts/runtime/os-unix.c:293:20: error: ‘SYS_gettid’
undeclared (first use in this function)
 return syscall(SYS_gettid);
^
../../../gcc_mainline/libcilkrts/runtime/os-unix.c:293:20: note: each
undeclared identifier is reported only once for each function it appears in
../../../gcc_mainline/libcilkrts/runtime/os-unix.c: In function
‘__cilkrts_yield’:
../../../gcc_mainline/libcilkrts/runtime/os-unix.c:419:5: warning: implicit
declaration of function ‘pthread_yield’ [-Wimplicit-function-declaration]
 pthread_yield();
 ^
make[2]: *** [os-unix.lo] Error 1
make[2]: *** Waiting for unfinished jobs
mv -f .deps/spin_mutex.Tpo .deps/spin_mutex.Plo
mv -f .deps/worker_mutex.Tpo .deps/worker_mutex.Plo
mv -f .deps/stats.Tpo .deps/stats.Plo
mv -f .deps/signal_node.Tpo .deps/signal_node.Plo
mv -f .deps/symbol_test.Tpo .deps/symbol_test.Plo
mv -f .deps/sysdep-unix.Tpo .deps/sysdep-unix.Plo
make[2]: Leaving directory
`/export/users/aivchenk/src/android_gcc_obj/i686-linux-android/libcilkrts'
make[1]: *** [all-target-libcilkrts] Error 2
make[1]: Leaving directory `/export/users/aivchenk/src/android_gcc_obj'
make: *** [all] Error 2

[Bug bootstrap/60644] [4.9 Regression] Build of i686-pc-linux-android is broken

2014-03-25 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60644

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org ---
If SYS_gettid is not defined, then it is a bug in the bionic libc headers as
NR_gettid is defined in the kernel headers.

Also pthread_yield should be defined in pthread.h if it is not then it is again
a bug in bionic.

For no you can use --disable-libcilkrts as a workaround for bionic being
broken.


[Bug bootstrap/60644] [4.9 Regression] Build of i686-pc-linux-android is broken

2014-03-25 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60644

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org ---
Well pthread_yield should be replaced with the POSIX version: sched_yield()
instead.


[Bug bootstrap/60644] [4.9 Regression] Build of i686-pc-linux-android is broken

2014-03-25 Thread aivchenk at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60644

--- Comment #4 from Alexander Ivchenko aivchenk at gmail dot com ---
That (In reply to Andrew Pinski from comment #2)
 Well pthread_yield should be replaced with the POSIX version: sched_yield()
 instead.

Right.. the attached patch cured the build


[Bug bootstrap/60644] [4.9 Regression] Build of i686-pc-linux-android is broken

2014-03-25 Thread aivchenk at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60644

--- Comment #3 from Alexander Ivchenko aivchenk at gmail dot com ---
Created attachment 32443
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32443action=edit
Renaming ANDROID to __ANDROID__


[Bug libstdc++/60645] New: locale::facet::_S_get_c_locale does not handle __gthread_once error codes.

2014-03-25 Thread chris at contemporary dot net.au
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60645

Bug ID: 60645
   Summary: locale::facet::_S_get_c_locale does not handle
__gthread_once error codes.
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: chris at contemporary dot net.au

RTEMS cannot use the posix thread model because the pthread_once call may
return an error code. The code libgcc/gthr-posix.h#696 returns an error yet
libstdc++-v3/src/c++98/locale.cc#209 does not check and handle the returned
error code.

The POSIX reference is:

http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_once.html

The code in question is ...

 204   __c_locale
 205   locale::facet::_S_get_c_locale()
 206   {
 207 #ifdef __GTHREADS
 208 if (__gthread_active_p())
 209   __gthread_once(_S_once, _S_initialize_once);
 210 else
 211 #endif
 212   {
 213 if (!_S_c_locale)
 214   _S_initialize_once();
 215   }
 216 return _S_c_locale;
 217   }

and ..

 695 static inline int
 696 __gthread_once (__gthread_once_t *__once, void (*__func) (void))
 697 {
 698   if (__gthread_active_p ())
 699 return __gthrw_(pthread_once) (__once, __func);
 700   else
 701 return -1;
 702 }


[Bug debug/60643] ICE with -O1 and -g on mips (internal compiler error: in dwarf2out_var_location, at dwarf2out.c:20810)

2014-03-25 Thread hongxu.jia at windriver dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60643

--- Comment #10 from hongxu jia hongxu.jia at windriver dot com ---
(In reply to Andrew Pinski from comment #8)
 Works for me with an unmodified GCC 4.8.2.
 
 So please try removing all of the Open-embedded patches since one of them is
 causing this bug.

I have removed all of the Open-embedded patches, and cross-compiling
mip-gcc on x86-64 host. But the problem still existed.

//Hongxu


[Bug fortran/60646] New: Investigate improved complex division algorithms

2014-03-25 Thread jb at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60646

Bug ID: 60646
   Summary: Investigate improved complex division algorithms
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jb at gcc dot gnu.org

The paper http://arxiv.org/abs/1210.4539 analyzes several algorithms for
complex division. Currently GFortran IIRC uses the Smith (1962) algorithm. We
should investigate whether GFortran could switch to one of the improved
algorithms without compromising performance too much.


[Bug c/45020] Useless DW_TAG_variable generated

2014-03-25 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45020

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||mpolacek at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
I think this has been fixed in r182027 as a fix for PR51410.  I tried all
testcases mentioned here and see no duplicate DW_TAG_variables.


[Bug lto/60635] [4.8/4.9 Regression] ICE when mixing C and Fortran lto1: error: use operand missing for stmt

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60635

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-03-25
  Known to work||4.7.3
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |4.8.3
Summary|ICE when mixing C and   |[4.8/4.9 Regression] ICE
   |Fortran lto1: error: use|when mixing C and Fortran
   |operand missing for stmt|lto1: error: use operand
   ||missing for stmt
 Ever confirmed|0   |1
  Known to fail||4.8.2, 4.9.0

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
I will have a look, works with 4.7.


[Bug sanitizer/60636] ubsan doesn't instrument signed integer ABS_EXPR

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60636

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
We should instead instrument ABS_EXPR (you can instrument that as u  0 ? u :
-u of course).


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug target/60641] Converting ushort to offset on x86_64 generates double movzwl

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60641

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||x86_64-*-*, i?86-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-25
  Component|tree-optimization   |target
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed on trunk and 4.8.


[Bug bootstrap/60644] [4.9 Regression] Build of i686-pc-linux-android is broken

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60644

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug c++/60331] ICE with OpenMP #pragma omp declare reduction in template class

2014-03-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60331

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Tue Mar 25 09:30:10 2014
New Revision: 208806

URL: http://gcc.gnu.org/viewcvs?rev=208806root=gccview=rev
Log:
PR c++/60331
* semantics.c (potential_constant_expression_1): Handle
DECL_EXPR.

* testsuite/libgomp.c++/udr-11.C: New test.
* testsuite/libgomp.c++/udr-12.C: New test.
* testsuite/libgomp.c++/udr-13.C: New test.
* testsuite/libgomp.c++/udr-14.C: New test.
* testsuite/libgomp.c++/udr-15.C: New test.
* testsuite/libgomp.c++/udr-16.C: New test.
* testsuite/libgomp.c++/udr-17.C: New test.
* testsuite/libgomp.c++/udr-18.C: New test.
* testsuite/libgomp.c++/udr-19.C: New test.

Added:
trunk/libgomp/testsuite/libgomp.c++/udr-11.C
trunk/libgomp/testsuite/libgomp.c++/udr-12.C
trunk/libgomp/testsuite/libgomp.c++/udr-13.C
trunk/libgomp/testsuite/libgomp.c++/udr-14.C
trunk/libgomp/testsuite/libgomp.c++/udr-15.C
trunk/libgomp/testsuite/libgomp.c++/udr-16.C
trunk/libgomp/testsuite/libgomp.c++/udr-17.C
trunk/libgomp/testsuite/libgomp.c++/udr-18.C
trunk/libgomp/testsuite/libgomp.c++/udr-19.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/libgomp/ChangeLog


[Bug c++/60331] ICE with OpenMP #pragma omp declare reduction in template class

2014-03-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60331

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Should be fixed now.


[Bug libstdc++/60645] locale::facet::_S_get_c_locale does not handle __gthread_once error codes.

2014-03-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60645

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
The only error code specified by POSIX is EINVAL which cannot happen here,
because the pthread_once_t is statically initialized and controlled entirely by
the library.


[Bug libstdc++/60645] locale::facet::_S_get_c_locale does not handle __gthread_once error codes.

2014-03-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60645

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Plus it is a question what to do if pthread_once fails, I mean, shall it just
assume that no threads will be used and initialize without synchronization?
Can't the initialization callback be already run when pthread_once fails?


[Bug lto/57703] Assembler function definition moved to a different ltrans then call

2014-03-25 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57703

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jamborm at gcc dot gnu.org

--- Comment #6 from Martin Jambor jamborm at gcc dot gnu.org ---
I believe this could be dealt with by forcing all inline assembly from
one compilation unit (including those which were inlined) to end up in
one partition.  If any of them defines a hidden symbol, the assembler
will see it.

This would of course probably be quite ugly hack to the partitioner.
But perhaps we could only enable it by a switch and/or proceed only if
there is a top level assembler in any particular compilation unit.
I suppose definitions of symbols in non-top-level inline assembly is
already fragile because functions can be inlined/cloned etc.


[Bug middle-end/60647] New: [4.8 Regression] ICE in visit_ref_for_mod_analysis, at ipa-prop.c:2112

2014-03-25 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60647

Bug ID: 60647
   Summary: [4.8 Regression] ICE in visit_ref_for_mod_analysis, at
ipa-prop.c:2112
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at gcc dot gnu.org

Created attachment 32444
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32444action=edit
preprocessed source

seen with trunk r208764 on x86_64-linux-gnu. 4.8 branch works

$ gcc -c -O2 -c dsdm.i
dsdm.c: In function 'FreeDropSites':
dsdm.c:535:2: warning: incompatible implicit declaration of built-in function
'free'
  free(next);
  ^
dsdm.c: In function 'WriteSiteRectList':
dsdm.c:601:5: warning: incompatible implicit declaration of built-in function
'free'
 free(array);
 ^
dsdm.c: In function 'SubtractWindowFromVisibleRegion.isra.1':
dsdm.c:790:1: internal compiler error: in visit_ref_for_mod_analysis, at
ipa-prop.c:2112
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.


[Bug ipa/59176] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-25 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59176

--- Comment #20 from Martin Jambor jamborm at gcc dot gnu.org ---
Author: jamborm
Date: Tue Mar 25 10:57:07 2014
New Revision: 208809

URL: http://gcc.gnu.org/viewcvs?rev=208809root=gccview=rev
Log:
2014-03-25  Martin Jambor  mjam...@suse.cz

PR ipa/59176
* lto-cgraph.c (lto_output_node): Stream body_removed flag.
(lto_output_varpool_node): Likewise.
(input_overwrite_node): Likewise.
(input_varpool_node): Likewise.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-cgraph.c


[Bug c++/50025] [DR 1288] C++0x initialization syntax doesn't work for class members of reference type

2014-03-25 Thread d.v.a at ngs dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50025

__vic d.v.a at ngs dot ru changed:

   What|Removed |Added

 CC||d.v.a at ngs dot ru

--- Comment #23 from __vic d.v.a at ngs dot ru ---
Is it related bug?

struct C
{
const std::string st_ref;

explicit C(const std::string st) : st_ref{st}
{
std::cout  st  ' '  st_ref  std::endl;
assert(st == st_ref);
}
};

assert() fires! gcc 4.8.2
If we replace st_ref{st} with st_ref(st), assert() doesn't fire.


[Bug c++/50025] [DR 1288] C++0x initialization syntax doesn't work for class members of reference type

2014-03-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50025

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0

--- Comment #24 from Jonathan Wakely redi at gcc dot gnu.org ---
(In reply to __vic from comment #23)
 Is it related bug?

Yes, the original C++11 rules required a temporary to be created there and the
reference member binds to that temporary (which then goes out of scope).

Your code works correctly with GCC 4.9


[Bug middle-end/60647] [4.8 Regression] ICE in visit_ref_for_mod_analysis, at ipa-prop.c:2112

2014-03-25 Thread trippels at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60647

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-25
 CC||trippels at gcc dot gnu.org
   Target Milestone|--- |4.9.0
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
markus@x4 tmp % cat test.i
struct _wincore
{
  int y;
  int width;
};
int a;
static fn1 (dpy, winInfo) struct _XDisplay *dpy;
struct _wincore *winInfo;
{
  a = winInfo-width;
  fn2 ();
}

static fn3 (dpy, winInfo, visrgn) struct _XDisplay *dpy;
{
  int b = fn1 (0, winInfo);
  fn4 (0, 0, visrgn);
}

fn5 (event) struct _XEvent *event;
{
  fn3 (0, 0, 0);
}

markus@x4 tmp % gcc -O2 -c test.i
test.i: In function ‘fn3.isra.1’:
test.i:23:1: internal compiler error: in visit_ref_for_mod_analysis, at
ipa-prop.c:2112

[Bug middle-end/60647] [4.8 Regression] ICE in visit_ref_for_mod_analysis, at ipa-prop.c:2112

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60647

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.


[Bug middle-end/60647] [4.8 Regression] ICE in visit_ref_for_mod_analysis, at ipa-prop.c:2112

2014-03-25 Thread trippels at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60647

--- Comment #3 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Richard, this started with r207879.


[Bug lto/60635] [4.8/4.9 Regression] ICE when mixing C and Fortran lto1: error: use operand missing for stmt

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60635

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Tue Mar 25 11:43:03 2014
New Revision: 208811

URL: http://gcc.gnu.org/viewcvs?rev=208811root=gccview=rev
Log:
2014-03-25  Richard Biener  rguent...@suse.de

PR middle-end/60635
* gimplify-me.c (gimple_regimplify_operands): Update the
re-gimplifed stmt.

* gfortran.dg/lto/pr60635_0.f90: New testcase.
* gfortran.dg/lto/pr60635_1.c: Likewise.

Added:
trunk/gcc/testsuite/gfortran.dg/lto/pr60635_0.f90
trunk/gcc/testsuite/gfortran.dg/lto/pr60635_1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify-me.c
trunk/gcc/testsuite/ChangeLog


[Bug target/60648] New: [4.8 Regression] ICE (segmentation fault) in expand_binop

2014-03-25 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60648

Bug ID: 60648
   Summary: [4.8 Regression] ICE (segmentation fault) in
expand_binop
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at gcc dot gnu.org

Created attachment 32445
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32445action=edit
preprocessed source

seen with trunk r208764 on i686-linux-gnu, works on x86_64-linux-gnu, works
with the 4.8 branch, can be worked around with -O2.

$ gcc -O3 -fPIC -c vec.ii 
In file included from ../../../src/meep.hpp:23:0,
 from ../../../src/meep_internals.hpp:18,
 from ../../../src/vec.cpp:23:
../../../src/meep/vec.hpp: In function 'double (*
meep::derived_component_func(meep::derived_component, const meep::grid_volume,
int, meep::component*))(const std::complexdouble*, const meep::vec,
void*)':
../../../src/meep/vec.hpp:325:3: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.

Program received signal SIGSEGV, Segmentation fault.
0x084f5382 in expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*,
rtx_def*, int, optab_methods) ()
(gdb) bt
#0  0x084f5382 in expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*,
rtx_def*, int, optab_methods) ()
#1  0x083c1b6d in force_operand(rtx_def*, rtx_def*) ()
#2  0x083a6f1d in memory_address_addr_space(machine_mode, rtx_def*, unsigned
char) ()
#3  0x083c2d96 in try_tablejump(tree_node*, tree_node*, tree_node*, tree_node*,
rtx_def*, rtx_def*, int) ()
#4  0x08594c63 in ?? ()
#5  0x08596f25 in expand_case(gimple_statement_base*) ()
#6  0x0830a7a1 in ?? ()
#7  0x0830b5f8 in ?? ()
#8  0x0830d897 in ?? ()
#9  0x08506fc9 in execute_one_pass(opt_pass*) ()
#10 0x0850720f in execute_pass_list(opt_pass*) ()
#11 0x0832b4b8 in ?? ()
#12 0x0832cd6f in compile() ()
#13 0x0832d1c8 in finalize_compilation_unit() ()
#14 0x081eb3f1 in cp_write_global_declarations() ()
#15 0x085a0d25 in ?? ()
#16 0x085a28e6 in toplev_main(int, char**) ()
#17 0x081881cb in main ()


[Bug lto/60635] [4.8 Regression] ICE when mixing C and Fortran lto1: error: use operand missing for stmt

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60635

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2
  Known to work||4.9.0
Summary|[4.8/4.9 Regression] ICE|[4.8 Regression] ICE when
   |when mixing C and Fortran   |mixing C and Fortran lto1:
   |lto1: error: use operand|error: use operand missing
   |missing for stmt|for stmt
  Known to fail|4.9.0   |

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed on trunk sofar.


[Bug sanitizer/60649] New: [ASAN] Bogus 'y' may be used uninitialized warning (affects bootstrap-asan)

2014-03-25 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60649

Bug ID: 60649
   Summary: [ASAN] Bogus 'y' may be used uninitialized warning
(affects bootstrap-asan)
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: build, diagnostic
  Severity: normal
  Priority: P3
 Component: sanitizer
  Assignee: unassigned at gcc dot gnu.org
  Reporter: burnus at gcc dot gnu.org
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org

Created attachment 32446
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32446action=edit
C++ Test case (test.ii); compile as: g++ -O2 -fsanitize=address
-Werror=maybe-uninitialized test.ii

The following issue prevents bootstrapping GCC with
--with-build-config=bootstrap-asan: gcc/explow.c:83:7: error: y may be used
uninitialized in this function


The reduced test case compiles warning free without ASAN, but with ASAN one
gets:


$ g++ -O2 -fsanitize=address -Werror=maybe-uninitialized test12.ii
test12.ii: In function ‘rtx_def* plus_constant(machine_mode, rtx, long int)’:
test12.ii:22:7: error: ‘y’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
   rtx y;
   ^
cc1plus: some warnings being treated as errors

[Bug target/60648] [4.8 Regression] ICE (segmentation fault) in expand_binop

2014-03-25 Thread trippels at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60648

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-25
 CC||trippels at gcc dot gnu.org
   Target Milestone|--- |4.9.0
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
markus@x4 tmp % cat test.ii
enum component
{
  Ex,
  Ez,
  Hy,
  Permeability
};
enum derived_component
{};
enum direction
{
  X,
  Y,
  Z,
  R,
  P,
  NO_DIRECTION
};
derived_component a;
component *b;
component c;
direction d;
inline direction fn1 (component p1)
{
  switch (p1)
{
case 0:
  return Y;
case 1:
  return Z;
case Permeability:
  return NO_DIRECTION;
}
  return X;
}

inline component fn2 (direction p1)
{
  switch (p1)
{
case 0:
case 1:
  return component ();
case Z:
case R:
  return component (1);
case P:
  return component (3);
}
}

void fn3 ()
{
  direction e;
  switch (0)
  case 0:
  switch (a)
{
case 0:
  c = Ex;
  b[1] = Hy;
}
  e = fn1 (b[1]);
  b[1] = fn2 (e);
  d = fn1 (c);
}


markus@x4 tmp %  g++ -m32 -O2 -fPIC -c test.ii
test.ii: In function ‘void fn3()’:
test.ii:39:3: internal compiler error: Segmentation fault
   switch (p1)
   ^
Please submit a full bug report,

[Bug fortran/60191] test case gfortran.dg/dynamic_dispatch_1/3.f03 fail on ARMv7

2014-03-25 Thread bernd.edlinger at hotmail dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60191

--- Comment #9 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
Hmm,

I debugged a bit and found this:

the problem starts in gfc_get_function_type
it is first called on sym-name = make_real,
and then recursively again on the same sym.
So this is a recursive_type.

The first call returns a
build_function_type_vec (with full parameter list)

But the recursive call returns a 
build_varargs_function_type_vec (with a shorter parameter list)

The problem is that these declarations are not identical:

So in the case of arm with --float-abi=hard this has
a somewhat surprising effect:

Varargs functions return a float result in r0
Normal functions returns a float result in s0.

If there were float arguments they would not be passed
on FPU-Registers for varargs functions, but because fortran
passes every in-parameter by reference that is not visible.

However that may well be different for other targets,
for instance, pass the declared parameters in registers,
and pass everything after ... on stack.


[Bug testsuite/58013] main() not generated in assembler output

2014-03-25 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58013

--- Comment #4 from John David Anglin danglin at gcc dot gnu.org ---
Author: danglin
Date: Tue Mar 25 12:06:17 2014
New Revision: 208813

URL: http://gcc.gnu.org/viewcvs?rev=208813root=gccview=rev
Log:
PR testsuite/58013
* g++.dg/opt/pr56999.C: Pop hidden visibility.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/opt/pr56999.C


[Bug middle-end/60647] [4.8 Regression] ICE in visit_ref_for_mod_analysis, at ipa-prop.c:2112

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60647

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Oh, mine then.


[Bug testsuite/58013] main() not generated in assembler output

2014-03-25 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58013

John David Anglin danglin at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #5 from John David Anglin danglin at gcc dot gnu.org ---
Fixed.


[Bug fortran/60191] test case gfortran.dg/dynamic_dispatch_1/3.f03 fail on ARMv7

2014-03-25 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60191

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
 CC||burnus at gcc dot gnu.org

--- Comment #10 from Tobias Burnus burnus at gcc dot gnu.org ---
(In reply to Bernd Edlinger from comment #9)
 Varargs functions return a float result in r0
 Normal functions returns a float result in s0.
 
 If there were float arguments they would not be passed
 on FPU-Registers for varargs functions, but because fortran
 passes every in-parameter by reference that is not visible.

That sounds difficult to fix.

gfortran currently generates when it does not know the explicit interface
something like:
   float funct(...)
which for normal functions can be updated via the use of the function
   a = funct(1.0) ! = one argument of type real.

[This updated of the interface base on the usage is not yet implemented and
some PR exists for this; I think it is PR44471.]


The problem is with procedure pointers of the form
   procedure(real), pointer :: ptr

Those can point to any function returning a real - and one can have different
ones at different places in the program. - I have no idea how to solve this.
[Note: Fortran does not support variadic arguments.]


[Side note: Fortran also permits to use procedure(make_real),pointer, which
provides the proper interface.]


[Bug middle-end/60647] [4.9 Regression] ICE in visit_ref_for_mod_analysis, at ipa-prop.c:2112

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60647

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
It's even wrong-code it seems.  IPA SRA is confused about the KR style
functions and

static fn3 (dpy, winInfo, visrgn) struct _XDisplay *dpy;
{
  int b = fn1 (0, winInfo);
  fn4 (0, 0, visrgn);
}

winInfo having type 'int' here.  Not sure how I exposed that with the
patch though ...

At least the testcase is broken.  When I add a proper type to winInfo in fn3
it works.

Martin, do we want to guard IPA SRA against this sort of bogosities?

As of the actual transform it seems that IPA SRA misses to adjust accesses
when it removes unused params ;)  (well, not actually unused ... heh)

That said, can you look into it?  You are more familiar with IPA SRA and
where we'd add a sanity check that argument type and formal parameter type
match (and thus local analysis is valid).


[Bug rtl-optimization/60650] New: [ARM] LRA ICE assign_by_spills

2014-03-25 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

Bug ID: 60650
   Summary: [ARM] LRA ICE assign_by_spills
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: yvan.roux at linaro dot org

reported when building linux btrfs module.

slightly reduced preprocessed test case  attached.

command line : 

cc1 -O2 -fno-omit-frame-pointer -mabi=apcs-gnu -march=armv7-a file-item.i

cc1 outputs :

In file included from /git/arm-soc/fs/btrfs/transaction.h:21:0,
 from /git/arm-soc/fs/btrfs/file-item.c:25:
/git/arm-soc/fs/btrfs/btrfs_inode.h: In function ‘truncate_one_csum’:
/git/arm-soc/fs/btrfs/btrfs_inode.h:214:1: internal compiler error: in
assign_by_spills, at lra-assigns.c:1286
0x9ddf78 assign_by_spills
/work/sources/gcc-fsf/trunk/gcc/lra-assigns.c:1286
0x9de921 lra_assign()
/work/sources/gcc-fsf/trunk/gcc/lra-assigns.c:1444
0x9d865a lra(_IO_FILE*)
/work/sources/gcc-fsf/trunk/gcc/lra.c:2370
0x98669b do_reload
/work/sources/gcc-fsf/trunk/gcc/ira.c:5457
0x9869e4 rest_of_handle_reload
/work/sources/gcc-fsf/trunk/gcc/ira.c:5598
0x986a2e execute
/work/sources/gcc-fsf/trunk/gcc/ira.c:5627

[Bug fortran/60191] test case gfortran.dg/dynamic_dispatch_1/3.f03 fail on ARMv7

2014-03-25 Thread bernd.edlinger at hotmail dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60191

--- Comment #11 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
(In reply to Tobias Burnus from comment #10)
 gfortran currently generates when it does not know the explicit interface
 something like:
float funct(...)

note that:

 float funct(...) // this syntax is valid only in C++

returns the result in s0, because is not really considered a variadic

while

 float funct(int, ...)

uses FPU registers, at least on some ARM platforms.

maybe the problem is only that gfc_get_function_type
tries to give only a part of the parameter list to the back-end?


[Bug rtl-optimization/60650] [ARM] LRA ICE in assign_by_spills

2014-03-25 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

--- Comment #1 from Yvan Roux yvan.roux at linaro dot org ---
testcase is to big to be attached... reducing...


[Bug rtl-optimization/60651] New: Mode switching instructions are sometimes emitted in the wrong order

2014-03-25 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60651

Bug ID: 60651
   Summary: Mode switching instructions are sometimes emitted in
the wrong order
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: amylaar at gcc dot gnu.org
Target: epiphany-*-*

As dicussed at
http://forums.parallella.org/viewtopic.php?f=13t=1053sid=2d28ee29b5dd3c591d947074f46ac752p=6654#p6654,
this code:

int a;
int c;

void __attribute__((interrupt))
misc_handler (void) {
   a*= c;
}

Is compiled into code that uses an uninitialized register.
As it turns out, the interrupt attribute is actually a red herring (as long as
you use the default of (-mfp-mode=caller).
The problem is that, after emitting the mask-loading instruction, mode
switching emits the mode switch to the caller's mode which uses that mask
*before* the load of the mask, thus using the register uninitialized.
The mask loading instruction, thus rendered useless, is later deleted.

The things with lcm is that we have an algorithm that can be a bit expensive,
but we can process multiple entities at almost no extra cost.
The epiphany needs to load constants to do its mode switching; these constants
can be anticipated further up in the dominance graph.  This can be modelled
as having a different entity for each mask needed, the need for which is
indicated at the same point as the mode switch itself.  Because the mask
load entities are not subject to transparency issues (except in the unfortunate
case of abnormal edges), lcm can move the loads up in suitable dominator
positions.
The modes priorities on the epiphany are also such that the mask loads have a
mode with the same or higher priority as the mask uses.
Also, the mask loads have lowered numbered entities than the mask uses.
As the lcm part of optimize_mode_switching inserts, for each priority, the
mode setting in ascending order of entities, and insert_insn_on_edge
appends to the currently registered sequence, this works find there.
The segment-based code also preserves entity order when inserting before an
instruction.
However, when inserting after a basic block head, later inserted mode
switch instructions end up prior to ones earlier inserted into the insn
stream.
To preserve the order, in the case of an initially empty basic block,
what we have to do is append the new instructions at the end of the basic
block.


[Bug target/60648] [4.9 Regression] ICE (segmentation fault) in expand_binop

2014-03-25 Thread trippels at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60648

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

 CC||law at gcc dot gnu.org

--- Comment #2 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Started with r205074.


[Bug rtl-optimization/60651] Mode switching instructions are sometimes emitted in the wrong order

2014-03-25 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60651

--- Comment #1 from Jorn Wolfgang Rennecke amylaar at gcc dot gnu.org ---
Created attachment 32447
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32447action=edit
patch

The attached patch implements this aforementioned insertion at the end
of an (initially) empty basic block.
I'm currently bootstrapping/regtesting this on i686-pc-linux-gnu


[Bug target/60648] [4.9 Regression] ICE (segmentation fault) in expand_binop

2014-03-25 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60648

--- Comment #3 from Jeffrey A. Law law at redhat dot com ---
We're getting non-canonical as part of the index computation in do_tablejump:


(gdb) p debug_rtx (index)
(plus:SI (mult:SI (const_int 0 [0])
(const_int 4 [0x4]))
(label_ref:SI 0))


Obviously memory_address and its children aren't prepared to deal with the
non-canonical RTL.

Not sure what this has to do with threading, other than perhaps threading
exposing 0 as the index


[Bug fortran/60128] [4.8/4.9 Regression] Wrong ouput using en edit descriptor

2014-03-25 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60128

--- Comment #38 from John David Anglin danglin at gcc dot gnu.org ---
gfortran.dg/fmt_en.f90 tests fail on hppa*-*-hpux11* (4.8 and 4.9):

(en15.0)  9.E+03  expected:  10.E+03
(en15.0)  9.E+03  expected:  10.E+03
(en15.1) 9.9E+03  expected: 10.0E+03
(en15.1) 9.9E+03  expected: 10.0E+03
(en15.0) -9.E+03  expected: -10.E+03
(en15.0) -9.E+03  expected: -10.E+03
(en15.1)-9.9E+03  expected:-10.0E+03
(en15.1)-9.9E+03  expected:-10.0E+03
(en15.1)   987.3E+03  expected:987.4E+03
(en15.1)   987.3E+03  expected:987.4E+03
(en15.1)   987.7E+03  expected:987.6E+03
(en15.2)   98.77E+03  expected:98.76E+03
(en15.2)   98.77E+03  expected:98.76E+03
(en15.2)   98.77E+03  expected:98.76E+03
(en15.3)   9.877E+03  expected:9.876E+03
(en15.1)31.3E-03  expected: 31.2E-03
(en15.2)   15.63E-03  expected:15.62E-03
(en15.3)   7.813E-03  expected:7.812E-03
(en15.3) 976.563E-06  expected:  976.562E-06
(en15.1)  -987.3E+03  expected:   -987.4E+03
(en15.1)  -987.3E+03  expected:   -987.4E+03
(en15.1)  -987.7E+03  expected:   -987.6E+03
(en15.2)  -98.77E+03  expected:   -98.76E+03
(en15.2)  -98.77E+03  expected:   -98.76E+03
(en15.2)  -98.77E+03  expected:   -98.76E+03
(en15.3)  -9.877E+03  expected:   -9.876E+03
(en15.1)   -31.3E-03  expected:-31.2E-03
(en15.2)  -15.63E-03  expected:   -15.62E-03
(en15.3)  -7.813E-03  expected:   -7.812E-03
(en15.3)-976.563E-06  expected: -976.562E-06

This is with quad16.


[Bug target/60648] [4.9 Regression] ICE (segmentation fault) in expand_binop

2014-03-25 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60648

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #4 from Jeffrey A. Law law at redhat dot com ---
Potential fix in testing.


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-25 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-03-25
   Assignee|unassigned at gcc dot gnu.org  |jamborm at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Jambor jamborm at gcc dot gnu.org ---
Confirmed, mine.


[Bug target/60653] New: [4.9 Regression] gfortran: ICE (segmentation fault) in lra

2014-03-25 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60653

Bug ID: 60653
   Summary: [4.9 Regression] gfortran: ICE (segmentation fault) in
lra
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at gcc dot gnu.org

seen on arm-linux-gnueabihf, trunk r208764

(gdb) bt
#0  0x0031aca6 in ?? ()
#1  0x0031bf30 in ?? ()
#2  0x0031e990 in ?? ()
#3  0x00320824 in lra_constraints(bool) ()
#4  0x00315c40 in lra(_IO_FILE*) ()
#5  0x002ea520 in ?? ()
#6  0x003551ba in execute_one_pass(opt_pass*) ()
#7  0x00355340 in execute_pass_list(opt_pass*) ()
#8  0x0035534a in execute_pass_list(opt_pass*) ()
#9  0x0020224c in ?? ()
#10 0x00203464 in compile() ()
#11 0x002037f0 in finalize_compilation_unit() ()
#12 0x00307596 in write_global_declarations() ()
#13 0x003c558c in ?? ()
#14 0x003c6cb0 in toplev_main(int, char**) ()
#15 0xb6d76632 in __libc_start_main () from /lib/arm-linux-gnueabihf/libc.so.6
#16 0x0010a868 in _start ()

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.9-20140322-1ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,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-libmudflap
--disable-libitm --disable-libquadmath --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-armhf/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf
--with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --enable-multilib --disable-sjlj-exceptions
--with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb
--disable-werror --enable-multilib --enable-checking=release
--build=arm-linux-gnueabihf --host=arm-linux-gnueabihf
--target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.9.0 20140322 (experimental) [trunk revision 208764] (Ubuntu
4.9-20140322-1ubuntu1)


[Bug fortran/60128] [4.8/4.9 Regression] Wrong ouput using en edit descriptor

2014-03-25 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60128

--- Comment #39 from Dominique d'Humieres dominiq at lps dot ens.fr ---
 gfortran.dg/fmt_en.f90 tests fail on hppa*-*-hpux11* (4.8 and 4.9):
 ...

After r208780 (for 4.9, not backported yet to 4.8)?


[Bug target/60653] [4.9 Regression] gfortran: ICE (segmentation fault) in lra

2014-03-25 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60653

--- Comment #1 from Matthias Klose doko at gcc dot gnu.org ---
fails with -O1 and -O2, works with -O0. fails with both -marm/-mthumb


[Bug target/60653] [4.9 Regression] gfortran: ICE (segmentation fault) in lra

2014-03-25 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60653

--- Comment #2 from Matthias Klose doko at gcc dot gnu.org ---
seen with a build of the paw package in Debian/unstable and Ubuntu/trusty.


[Bug rtl-optimization/60650] [ARM] LRA ICE in assign_by_spills

2014-03-25 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

--- Comment #2 from Yvan Roux yvan.roux at linaro dot org ---
Created attachment 32449
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32449action=edit
reduced testcase


[Bug bootstrap/60644] [4.9 Regression] Build of i686-pc-linux-android is broken

2014-03-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60644

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Patches (once tested) should be posted to gcc-patches.
Please CC Balaji.


[Bug fortran/60646] Investigate improved complex division algorithms

2014-03-25 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60646

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu.org

--- Comment #1 from kargl at gcc dot gnu.org ---
Janne,

Can you be a little more specific on what you want
to investigate?  AFAIK, the general handling of 
complex division is done be the middle-end. 

% cat l.f90
subroutine loo(z1,z2,z3)
   complex z1, z2, z3
   z3 = z1 / z2
end subroutine loo
% gfc4x -fdump-tree-all -c l.f90
% ls l.f90.*
l.f90.003t.original l.f90.018t.einline
l.f90.004t.gimple   l.f90.033t.profile_estimate
l.f90.006t.omplower l.f90.036t.release_ssa
l.f90.007t.lowerl.f90.037t.inline_param2
l.f90.010t.eh   l.f90.161t.veclower
l.f90.011t.cfg  l.f90.162t.cplxlower0
l.f90.015t.ssa  l.f90.169t.optimized
l.f90.017t.inline_param1l.f90.249t.statistics

l.f90.cplxlower0 is definitely coming from the
middle-end.

The Fortran front-end will perform constant-folding.

% cat k.f90
subroutine lu(z)
  complex z
  complex, parameter :: a = (1,2), b=(3,4)
  z = a/b
end subroutine lu
% cat k.f90.003t.original 
lu (complex(kind=4)  restrict z)
{
  *z=__complex__(4.3997615814208984375e-1,7.99821186065673828125e-2);
}

Note, the front-end takes advantage of MPFR to do the folding, and so
it should yield an accurate result.


[Bug ada/60652] New: System.OS_Constants CRTSCTS

2014-03-25 Thread robert.samuelsson at sscspace dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60652

Bug ID: 60652
   Summary: System.OS_Constants CRTSCTS
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
  Assignee: unassigned at gcc dot gnu.org
  Reporter: robert.samuelsson at sscspace dot com

The value of CRTSCTS in adainclude/s-oscons.ads is different to the value i
have in /usr/include/bits/termios.h on my Linux system.

adainclude/s-oscons.ads
  CRTSCTS : constant := 4294967295; -- Output hw flow control

  Hex:  
  Dec: 4294967295
  Oct: 377
  Bin:     (looks more like a mask than a flag)

bits/termios.h
  #define CRTSCTS 0200 /* flow control */

  Hex: 8000 
  Dec: 2147483648
  Oct: 200
  Bin: 1000    (ah, a bit-flag as expected) 

So I suspect there may be a problem with the autogenerator and octal numbers. I
do not know if any other generated constants have similar problems.


[Bug c/60654] New: format warnings don't work with PROGMEM/PSTR

2014-03-25 Thread code at dawg dot eu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60654

Bug ID: 60654
   Summary: format warnings don't work with PROGMEM/PSTR
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: code at dawg dot eu
Target: avr

cat  bug.d  CODE
#include avr/pgmspace.h

void foo(PGM_P fmt, ...) __attribute__((format(printf, 1, 2)));
void foo(PGM_P fmt, ...)
{
}

void main()
{
foo(PSTR(foobar), 12); // broken
foo(foobar, 12); // works
}
CODE

avr-gcc -mmcu=atmega8 -Wformat -c format.c


[Bug target/60655] New: [4.9 Regression] ICE: output_operand: invalid expression as operand

2014-03-25 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60655

Bug ID: 60655
   Summary: [4.9 Regression] ICE: output_operand: invalid
expression as operand
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at gcc dot gnu.org

Created attachment 32450
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32450action=edit
preprocessed source

seen with trunk r208764, omitting -fdata-sections works around it

$ gcc -c -g -O2 -fdata-sections mpilib.i
mpilib.c:1938:1: internal compiler error: output_operand: invalid expression as
operand
Please submit a full bug report,
with preprocessed source if appropriate.

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.9-20140322-1ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,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-libmudflap
--disable-libitm --disable-libquadmath --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-armhf/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf
--with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --enable-multilib --disable-sjlj-exceptions
--with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb
--disable-werror --enable-multilib --enable-checking=release
--build=arm-linux-gnueabihf --host=arm-linux-gnueabihf
--target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.9.0 20140322 (experimental) [trunk revision 208764] (Ubuntu
4.9-20140322-1ubuntu1)


[Bug tree-optimization/60656] New: [4.8/4.9 regression] x86 vectorization produces wrong code

2014-03-25 Thread ppluzhnikov at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60656

Bug ID: 60656
   Summary: [4.8/4.9 regression] x86 vectorization produces wrong
code
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ppluzhnikov at google dot com

Current trunk (r208813) and gcc-4.8 are affected, 4.7 does not appear to be.

gcc -O0 t.c  ./a.out
500450210036

gcc -O3 t.c  ./a.out
500450200033

gcc -O2 t.c  ./a.out
500450210036

gcc -O2 t.c -ftree-vectorize  ./a.out
500450200033

// t.c
#include stdio.h

int
main ()
{
  int v[] = {5000, 5001, 5002, 5003};
  long s = 0;
  int i;

  for(i = 0; i  4; ++i)
{
  long P = v[i];
  s += P*P*P;
}
  printf(%ld\n, s);
}


[Bug target/60655] [4.9 Regression] ICE: output_operand: invalid expression as operand

2014-03-25 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60655

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ramana at gcc dot gnu.org

--- Comment #1 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
Created attachment 32451
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32451action=edit
reduced testcase

hmm -g -fdata-sections -mthumb is enough to provoke this at v7-a level of the
architecture with either vfpv3-d16 or neon. -g and -fdata-sections appear to be
the key here.


[Bug target/60655] [4.9 Regression] ICE: output_operand: invalid expression as operand

2014-03-25 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60655

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-25
   Target Milestone|--- |4.9.0
 Ever confirmed|0   |1


[Bug c/37428] GNU VLA-in-structure extension is undocumented

2014-03-25 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37428

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||mpolacek at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
I posted a patch.


[Bug target/60609] [4.8/4.9 Regression] Error: value of 256 too large for field of 1 bytes at 68242

2014-03-25 Thread charles.baylis at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60609

Charles Baylis charles.baylis at linaro dot org changed:

   What|Removed |Added

 CC||charles.baylis at linaro dot 
org

--- Comment #4 from Charles Baylis charles.baylis at linaro dot org ---
I am working on this


[Bug target/60655] [4.9 Regression] ICE: output_operand: invalid expression as operand

2014-03-25 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60655

--- Comment #2 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
The expression being put out is :

(const:SI (not:SI (symbol_ref:SI (*.LANCHOR0) [flags 0x182])))


#0  0x003105033410 in exit () from /lib64/libc.so.6
#1  0x011c56b8 in diagnostic_action_after_output (context=0x1a6d080,
diagnostic=0x7fffc110) at /work/wa1/src/gcc/gcc/diagnostic.c:487
#2  0x011c6615 in diagnostic_report_diagnostic (context=0x1a6d080,
diagnostic=0x7fffc110) at /work/wa1/src/gcc/gcc/diagnostic.c:804
#3  0x011c75a1 in internal_error (gmsgid=0x12c6ad6 %s) at
/work/wa1/src/gcc/gcc/diagnostic.c:1136
#4  0x007f2342 in output_operand_lossage (cmsgid=0x12c6bb6 invalid
expression as operand) at /work/wa1/src/gcc/gcc/final.c:3368
#5  0x007f3656 in output_addr_const (file=0x1a73970, x=0x2ae0e290)
at /work/wa1/src/gcc/gcc/final.c:3962
#6  0x007f32e9 in output_addr_const (file=0x1a73970, x=0x2ae0e2b0)
at /work/wa1/src/gcc/gcc/final.c:3884
#7  0x00750035 in dw2_assemble_integer (size=4, x=0x2ae0e2b0) at
/work/wa1/src/gcc/gcc/dwarf2asm.c:53
#8  0x007507fa in dw2_asm_output_addr_rtx (size=4, addr=0x2ae0e2b0,
comment=0x0) at /work/wa1/src/gcc/gcc/dwarf2asm.c:279
#9  0x0075d86c in output_loc_operands (loc=0x2ae2d1e0,
for_eh_or_skip=-1) at /work/wa1/src/gcc/gcc/dwarf2out.c:1954
#10 0x0075dea6 in output_loc_sequence (loc=0x2ae2d1e0,
for_eh_or_skip=-1) at /work/wa1/src/gcc/gcc/dwarf2out.c:2127
#11 0x0076782a in output_loc_list (list_head=0x2ae25e40) at
/work/wa1/src/gcc/gcc/dwarf2out.c:8414
#12 0x00765d9f in output_location_lists (die=0x2ae1aeb0) at
/work/wa1/src/gcc/gcc/dwarf2out.c:7462
#13 0x00765deb in output_location_lists (die=0x2ae1ae60) at
/work/wa1/src/gcc/gcc/dwarf2out.c:7464
#14 0x00765deb in output_location_lists (die=0x2ae1a5f0) at
/work/wa1/src/gcc/gcc/dwarf2out.c:7464
#15 0x00765deb in output_location_lists (die=0x2ab219b0) at
/work/wa1/src/gcc/gcc/dwarf2out.c:7464
#16 0x00790569 in dwarf2out_finish (filename=0x7fffd0d3
/home/ramrad01/reduced.c) at /work/wa1/src/gcc/gcc/dwarf2out.c:24304
#17 0x00b1b63b in compile_file () at /work/wa1/src/gcc/gcc/toplev.c:599
#18 0x00b1d712 in do_compile () at /work/wa1/src/gcc/gcc/toplev.c:1914
#19 0x00b1d87d in toplev_main (argc=9, argv=0x7fffcc38) at
/work/wa1/src/gcc/gcc/toplev.c:1990
#20 0x011b24e4 in main (argc=9, argv=0x7fffcc38) at
/work/wa1/src/gcc/gcc/main.c:36


[Bug debug/60655] [4.9 Regression] ICE: output_operand: invalid expression as operand

2014-03-25 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60655

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

  Component|target  |debug

--- Comment #3 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
(note 205 204 206 (var_location r2 (plus:SI (plus:SI (reg:SI 3 r3 [orig:192
ivtmp.37 ] [192])
(symbol_ref:SI (*.LANCHOR1) [flags 0x182]))
(const:SI (not:SI (symbol_ref:SI (*.LANCHOR0) [flags 0x182])
NOTE_INSN_VAR_LOCATION)

Comes from vartracking.

Ramana


[Bug debug/60655] [4.9 Regression] ICE: output_operand: invalid expression as operand

2014-03-25 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60655

--- Comment #4 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
Command lines I was using to reproduce this with a cross compiler. 


 ./cc1 -g -mthumb -fdata-sections -mfpu=vfpv3-d16 -mfloat-abi=hard -O2
-march=armv7-a


[Bug rtl-optimization/60650] [ARM] LRA ICE in assign_by_spills

2014-03-25 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-25
 CC||ramana at gcc dot gnu.org
   Target Milestone|--- |4.9.0
 Ever confirmed|0   |1

--- Comment #3 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
Confirmed.


[Bug fortran/60191] test case gfortran.dg/dynamic_dispatch_1/3.f03 fail on ARMv7

2014-03-25 Thread bernd.edlinger at hotmail dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60191

--- Comment #12 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
Created attachment 32448
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32448action=edit
possible fix

Ok, the attached patch seems to fix at least the
dynamic_dispatch_X.f03 test cases on ARMv7 with float-abi=hard.
No regressions on X86_64 so far.
I will run the ARMv7 test suite over the next days.


[Bug c/28575] misleading __builtin_choose_expr documentation error

2014-03-25 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28575

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||mpolacek at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #5 from Marek Polacek mpolacek at gcc dot gnu.org ---
This was fixed in r163675.


[Bug target/60657] New: [4.9 Regression] ICE: error: insn does not satisfy its constraints

2014-03-25 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60657

Bug ID: 60657
   Summary: [4.9 Regression] ICE: error: insn does not satisfy its
constraints
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at gcc dot gnu.org

Created attachment 32452
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32452action=edit
preprocessed source

seen with trunk r208764 on arm-linux-gnueabihf, works with 4.8 branch.

$ g++ -std=c++11 -c -g -O2 wide_posix_api.ii
In file included from ext/boost/regex/v4/regex.hpp:73:0,
 from ext/boost/regex.hpp:31,
 from ext/boost/libs/regex/src/wide_posix_api.cpp:25:
ext/boost/regex/v4/basic_regex_parser.hpp: In member function 'bool
boost::re_detail::basic_regex_parsercharT, traits::parse_extended_escape()
[with charT = wchar_t; traits = boost::c_regex_traitswchar_t]':
ext/boost/regex/v4/basic_regex_parser.hpp:910:1: error: insn does not satisfy
its constraints:
 }
 ^
(insn 3014 3013 3015 227 (set (reg:SI 788 [ D.215148 ])
(zero_extract:SI (reg:SI 786 [ this_35(D)-D.157694.m_backrefs ])
(const_int 1 [0x1])
(const_int  [0x270f])))
ext/boost/regex/v4/basic_regex_parser.hpp:876 149 {extzv_t2}
 (expr_list:REG_DEAD (reg:SI 786 [ this_35(D)-D.157694.m_backrefs ])
(nil)))
ext/boost/regex/v4/basic_regex_parser.hpp:910:1: internal compiler error: in
extract_constrain_insn_cached, at recog.c:2156
Please submit a full bug report,
with preprocessed source if appropriate.


$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.9-20140322-1ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,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-libmudflap
--disable-libitm --disable-libquadmath --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-armhf/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf
--with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --enable-multilib --disable-sjlj-exceptions
--with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb
--disable-werror --enable-multilib --enable-checking=release
--build=arm-linux-gnueabihf --host=arm-linux-gnueabihf
--target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.9.0 20140322 (experimental) [trunk revision 208764] (Ubuntu
4.9-20140322-1ubuntu1)


[Bug target/60657] [4.9 Regression] ICE: error: insn does not satisfy its constraints

2014-03-25 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60657

--- Comment #1 from Matthias Klose doko at gcc dot gnu.org ---
seen with every package using this boost header


[Bug c/35449] extended asm documentation wrong

2014-03-25 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35449

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-03-25
 CC||mpolacek at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Missing colon was added in r195471, but the r != result issue is still there. 
Will fix.


[Bug target/60653] [4.9 Regression] gfortran: ICE (segmentation fault) in lra

2014-03-25 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60653

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org ---
(In reply to Matthias Klose from comment #2)
 seen with a build of the paw package in Debian/unstable and Ubuntu/trusty.

Cf. https://packages.debian.org/sid/paw and http://paw.web.cern.ch/paw/


[Bug c/35449] extended asm documentation wrong

2014-03-25 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35449

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
Author: mpolacek
Date: Tue Mar 25 16:50:54 2014
New Revision: 208815

URL: http://gcc.gnu.org/viewcvs?rev=208815root=gccview=rev
Log:
PR c/35449
* doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/extend.texi


[Bug c/35449] extended asm documentation wrong

2014-03-25 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35449

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Marek Polacek mpolacek at gcc dot gnu.org ---
Fixed.


[Bug tree-optimization/59121] [4.8/4.9 Regression] endless loop with -O2 -floop-parallelize-all

2014-03-25 Thread mircea.namolaru at inria dot fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59121

--- Comment #17 from Mircea Namolaru mircea.namolaru at inria dot fr ---
Yes, data dependencies computation is expensive in the polyehdral model
and it could take considerable time - but it is worrying that in too many
cases fails to provide (after a few hours left running, when I stop it) an
answer for very simple programs. I will ckeck with the isl people if this is
the expected behaviour of the isl_union_map_compute_flow (this is the function
where the data dependency computation is stuck) and how (and if) they could
help us.

Many Fortran programs with loops having no-constants bounds and n-dimensional
arrays (n=3) may be affected by this problem and may work only for small
dimensions of the arrays. The problem touches especially Fortran, that uses
linearized accesses to multi-dimensional arrays - this creates patterns 
leading to this problem (in this example we have an array acc of dimension
55,48,49 and the array access acc(j,k,l) is transformed to acc(j + 55*k +
2640*l).

I've checked the constraints passed to isl_union_map_compute - see that
wrapping is perfromed. But wrapping requires modulo operation, expressed by
constraints with existential quantifier that may be harder to solve. By
disabling the wrapping, some simple examples that before were stuck in data
dependency computation finish immediately. In what measure is wrapping
necessary ? - as a side-effect it may increase compilation time (that may be
already considerable).


[Bug libstdc++/60658] New: std::atomicT* is unexpectedly not lock-free

2014-03-25 Thread ppluzhnikov at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60658

Bug ID: 60658
   Summary: std::atomicT* is unexpectedly not lock-free
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ppluzhnikov at google dot com

Using current trunk (r208813):

g++ -std=c++11 atomic.cc -latomic  ./a.out
a.out: atomic.cc:20: int main(): Assertion `b.is_lock_free()' failed.

As far as I can tell, this is happening because

  std::__atomic_baseBar*::_M_type_size()

returns sizeof(Bar) instead of returning sizeof(Bar*).


// atomic.cc
#include atomic
#include assert.h

struct Foo {
  char buf[1];
};

struct Bar {
  char buf[100];
};


int
main ()
{
  std::atomicFoo* a;
  assert (a.is_lock_free());

  std::atomicBar* b;
  assert (b.is_lock_free());
}


Google ref: b/13626319


[Bug target/60653] [4.9 Regression] gfortran: ICE (segmentation fault) in lra

2014-03-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60653

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
Do you have preprocessed source and command line options?


[Bug tree-optimization/59121] [4.8/4.9 Regression] endless loop with -O2 -floop-parallelize-all

2014-03-25 Thread grosser at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59121

--- Comment #18 from Tobias Grosser grosser at gcc dot gnu.org ---
(In reply to Mircea Namolaru from comment #17)
 Yes, data dependencies computation is expensive in the polyehdral model
 and it could take considerable time - but it is worrying that in too many
 cases fails to provide (after a few hours left running, when I stop it) an
 answer for very simple programs. I will ckeck with the isl people if this is
 the expected behaviour of the isl_union_map_compute_flow (this is the
 function where the data dependency computation is stuck) and how (and if)
 they could help us.

I would like to state that data-dependence calculation is not inherently more
complex in the polyhedral mode. In fact, any simple data-dependence test that
exists could be implemented in our polyhedral checker to speed up the common
case if really necessary. We did not do this, as for such simple cases the
dependence analysis is normally very fast. In the general case, dependence
solving is inherently complex (equivalent to ILP programming - NP-complete),
and we can
not do better anyway.

Though for the most cases of slowdown, we could probably do better. For this it
is
necessary to understand why a certain case is slow. Hence, it is important to
look into the dependence problem we are trying to solve and see why we can not
solve it quickly. The problem may be inherently complex, but there may also be
a simple fix.

 Many Fortran programs with loops having no-constants bounds and
 n-dimensional arrays (n=3) may be affected by this problem and may work
 only for small
 dimensions of the arrays. 
 The problem touches especially Fortran, that uses
 linearized accesses to multi-dimensional arrays - this creates patterns 
 leading to this problem (in this example we have an array acc of dimension
 55,48,49 and the array access acc(j,k,l) is transformed to acc(j + 55*k +
 2640*l).

So what exactly makes the problem difficult? Without understanding this, it is
very difficult to predict in which situations the dependence analysis will be
slow.

 I've checked the constraints passed to isl_union_map_compute

You mean isl_union_map_compute_flow()

 - see that
 wrapping is perfromed. But wrapping requires modulo operation, expressed by
 constraints with existential quantifier that may be harder to solve.

This is an interesting observation. Instead of modeling the modulo wrapping,
we could assume it does not exist and just add a run-time check around
the kernel that ensures that we only execute kernels where we know this is the
case.

 By
 disabling the wrapping, some simple examples that before were stuck in data
 dependency computation finish immediately.

Nice.

 In what measure is wrapping
 necessary ? - as a side-effect it may increase compilation time (that may be
 already considerable).

In some cases additions/multiplications have defined the semantics in case of
overflow as the computation being performed modulo the size of the type. This
case rarely happens, but in case we want to be correct, we can not just ignore
it.

Cheers,
Tobias


[Bug target/60659] New: [4.9 Regression] ICE in get_polymorphic_call_info, at ipa-devirt.c:1292

2014-03-25 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60659

Bug ID: 60659
   Summary: [4.9 Regression] ICE in get_polymorphic_call_info, at
ipa-devirt.c:1292
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at gcc dot gnu.org

Created attachment 32453
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32453action=edit
preprocessed source

seen with trunk r208764 on powerpc64le-linux-gnu, works with the 4.8 ibm branch
(which is pending the merge to the 4.8 fsf branch)

$ g++ -c -O2 script.ii
In file included from /usr/include/c++/4.9/bits/stl_algobase.h:66:0,
 from /usr/include/c++/4.9/memory:62,
 from src/mlib/ptr.h:25,
 from src/mbase/project/_extlibs_.h:36,
 from src/mgui/_extlibs_.h:31,
 from src/mgui/_pc_.h:29,
 from src/mgui/author/script.cpp:22:
/usr/include/c++/4.9/bits/stl_iterator_base_funcs.h: In function 'typename
std::iterator_traits_Iterator::difference_type
std::__distance(_InputIterator, _InputIterator, std::input_iterator_tag) [with
_InputIterator = adobe::iterboost::intrusive_ptrProject::VideoMD,
boost::intrusive_ptrProject::VideoMD, long int; typename
std::iterator_traits_Iterator::difference_type = long int]':
/usr/include/c++/4.9/bits/stl_iterator_base_funcs.h:82:4: internal compiler
error: in get_polymorphic_call_info, at ipa-devirt.c:1292
++__first;
^
Please submit a full bug report,
with preprocessed source if appropriate.

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/powerpc64le-linux-gnu/4.9/lto-wrapper
Target: powerpc64le-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.9-20140322-1ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,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-libmudflap
--disable-libsanitizer --disable-libquadmath --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-ppc64el/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-ppc64el
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-ppc64el
--with-arch-directory=ppc64el --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-secureplt --with-cpu=power7 --with-tune=power8
--disable-multilib --enable-multiarch --disable-werror --with-long-double-128
--enable-checking=release --build=powerpc64le-linux-gnu
--host=powerpc64le-linux-gnu --target=powerpc64le-linux-gnu
Thread model: posix
gcc version 4.9.0 20140322 (experimental) [trunk revision 208764] (Ubuntu
4.9-20140322-1ubuntu1)


[Bug c++/60375] [4.9 Regression] [c++11] ICE with invalid use of lambda

2014-03-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60375

--- Comment #1 from Jason Merrill jason at gcc dot gnu.org ---
Author: jason
Date: Tue Mar 25 18:00:37 2014
New Revision: 208817

URL: http://gcc.gnu.org/viewcvs?rev=208817root=gccview=rev
Log:
PR c++/60375
* parser.c (cp_parser_lambda_expression): Don't parse the body of
a lambda in unevaluated context.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-uneval2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-uneval.C


[Bug c++/60628] [4.7/4.8/4.9 Regression] [c++11] ICE initializing array of auto

2014-03-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60628

--- Comment #1 from Jason Merrill jason at gcc dot gnu.org ---
Author: jason
Date: Tue Mar 25 18:00:30 2014
New Revision: 208816

URL: http://gcc.gnu.org/viewcvs?rev=208816root=gccview=rev
Log:
PR c++/60628
* decl.c (create_array_type_for_decl): Complain about array of auto.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/auto42.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c


[Bug target/60653] [4.9 Regression] gfortran: ICE (segmentation fault) in lra

2014-03-25 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60653

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ramana at gcc dot gnu.org

--- Comment #5 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
/usr/lib/gcc/arm-linux-gnueabihf/4.9/f951
/paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F -ffixed-form -cpp=csintx.f90
-quiet -v -I /paw-2.14.04.dfsg.2/build/pawlib/comis -I
/paw-2.14.04.dfsg.2/src/pawlib/comis -I
/paw-2.14.04.dfsg.2/src/pawlib/comis/code -I /paw-2.14.04.dfsg.2/src/include
-imultiarch arm-linux-gnueabihf -D _FORTIFY_SOURCE=2 -D CERNLIB_LINUX -D
CERNLIB_UNIX -D CERNLIB_LNX -D CERNLIB_QMGLIBC -D CERNLIB_VERBOSE -D
CERNLIB_DEBIAN -D DEBIAN_VERSION=1:2.14.04.dfsg.2-9 -D CERNLIB_QGETCWD -D
_GNU_SOURCE -D CERNLIB_GFORTRAN
/paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F -quiet -dumpbase csintx.F
-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -mtls-dialect=gnu
-auxbase-strip archive/csintx.o -g -O2 -version -fno-range-check
-fno-second-underscore -fstack-protector -fno-automatic --param
ssp-buffer-size=4 -fintrinsic-modules-path
/usr/lib/gcc/arm-linux-gnueabihf/4.9/finclude -o csintx.s
GNU Fortran (Ubuntu 4.9-20140322-1ubuntu1) version 4.9.0 20140322
(experimental) [trunk revision 208764] (arm-linux-gnueabihf)
compiled by GNU C version 4.9.0 20140322 (experimental) [trunk revision
208764], GMP version 5.1.3, MPFR version 3.1.2-p3, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory /usr/local/include/arm-linux-gnueabihf
ignoring nonexistent directory
/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/include
#include ... search starts here:
#include ... search starts here:
 /paw-2.14.04.dfsg.2/build/pawlib/comis
 /paw-2.14.04.dfsg.2/src/pawlib/comis
 /paw-2.14.04.dfsg.2/src/pawlib/comis/code
 /paw-2.14.04.dfsg.2/src/include
 /usr/lib/gcc/arm-linux-gnueabihf/4.9/finclude
 /usr/lib/gcc/arm-linux-gnueabihf/4.9/include
 /usr/local/include
 /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed
 /usr/include/arm-linux-gnueabihf
 /usr/include
End of search list.
GNU Fortran (Ubuntu 4.9-20140322-1ubuntu1) version 4.9.0 20140322
(experimental) [trunk revision 208764] (arm-linux-gnueabihf)
compiled by GNU C version 4.9.0 20140322 (experimental) [trunk revision
208764], GMP version 5.1.3, MPFR version 3.1.2-p3, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
/paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F:681.72:

 7402 ASSIGN 7406 TO LAB1   
1
Warning: Deleted feature: ASSIGN statement at (1)
/paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F:704.72:

  GO TO LAB1
1
Warning: Deleted feature: Assigned GOTO statement at (1)
/paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F:752.72:

  ASSIGN 8003 TO LAB1   
1
Warning: Deleted feature: ASSIGN statement at (1)
/paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F: In function 'csintx':
/paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F:1920:0: internal compiler
error: Segmentation fault
   END
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.9/README.Bugs for instructions.


However if I try the same with csint.f90 that's produced I get a different set
of error messages but not the same failure. Slightly bizarre. 

 1
Error: Invalid character in name at (1)
/paw-2.14.04.dfsg.2/src/pawlib/comis/comis/cspar.inc:2.1:
Included at /paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F:21:

* $Id: cspar.inc,v 1.2 2000/05/30 13:53:58 couet Exp $
 1
Error: Invalid character in name at (1)
/paw-2.14.04.dfsg.2/src/pawlib/comis/comis/cspar.inc:3.1:
Included at /paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F:21:

*
 1
Error: Invalid character in name at (1)
/paw-2.14.04.dfsg.2/src/pawlib/comis/comis/cspar.inc:4.1:
Included at /paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F:21:

* $Log: cspar.inc,v $
 1
Error: Invalid character in name at (1)
/paw-2.14.04.dfsg.2/src/pawlib/comis/comis/cspar.inc:5.1:
Included at /paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F:21:

* Revision 1.2  2000/05/30 13:53:58  couet
 1
Error: Invalid character in name at (1)
/paw-2.14.04.dfsg.2/src/pawlib/comis/comis/cspar.inc:6.1:
Included at /paw-2.14.04.dfsg.2/src/pawlib/comis/code/csintx.F:21:

* - A buffer size increased
 1
Error: Invalid character in name at (1)

[Bug tree-optimization/60656] [4.8/4.9 regression] x86 vectorization produces wrong code

2014-03-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60656

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-25
 CC||jakub at gcc dot gnu.org
   Target Milestone|--- |4.8.3
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Started with r189006.  Looking into it.


[Bug target/60657] [4.9 Regression] ICE: error: insn does not satisfy its constraints

2014-03-25 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60657

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-25
 CC||ramana at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
Confirmed.


[Bug ipa/60600] [4.9 Regression] ICE in ipa_get_indirect_edge_target_1

2014-03-25 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60600

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2014-03/msg01363.htm
   ||l

--- Comment #7 from Martin Jambor jamborm at gcc dot gnu.org ---
(In reply to lucdanton from comment #5)
 I must apologise for the peculiar testcase I produced. 

No need to apologize, I should have thought the downcast was
originally performed after a check.  The testcase is in fact very
nice.  And of course, gcc should not ICE even if you feed it undefined
or even invalid input.

The patch I am going to commit is at:
http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01363.html


[Bug ipa/60600] [4.9 Regression] ICE in ipa_get_indirect_edge_target_1

2014-03-25 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60600

--- Comment #8 from Martin Jambor jamborm at gcc dot gnu.org ---
Author: jamborm
Date: Tue Mar 25 18:22:41 2014
New Revision: 208818

URL: http://gcc.gnu.org/viewcvs?rev=208818root=gccview=rev
Log:
2014-03-25  Martin Jambor  mjam...@suse.cz

PR ipa/60600
* ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
inconsistent devirtualizations to __builtin_unreachable.

testsuite/
* g++.dg/ipa/pr60600.C: New test.


Added:
trunk/gcc/testsuite/g++.dg/ipa/pr60600.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-cp.c
trunk/gcc/testsuite/ChangeLog


[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

2014-03-25 Thread devurandom at gmx dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60465

--- Comment #6 from devurandom at gmx dot net ---
Did anyone figure out what's going on? Did the gdb log bring new insights?


[Bug ipa/60600] [4.9 Regression] ICE in ipa_get_indirect_edge_target_1

2014-03-25 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60600

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Martin Jambor jamborm at gcc dot gnu.org ---
Fixed.


[Bug c++/60642] Unclear diagnostic with invalid use of abi_tag attribute on explicit instantiation

2014-03-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60642

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-25
Summary|abi_tag attribute doesn't   |Unclear diagnostic with
   |work on explicit|invalid use of abi_tag
   |specializations of class|attribute on explicit
   |templates   |instantiation
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
That's not a specialization, it's an explicit instantiation, and so you don't
need the tag, it should be simply:

template class testint;

The error message could be clearer though, so confirming as a diagnostic bug.


[Bug libstdc++/60658] std::atomicT* is unexpectedly not lock-free

2014-03-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60658

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-25
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
Oops - I thought we'd fixed all those kind of bugs in the atomicT*
specialization


[Bug ipa/60659] [4.9 Regression] ICE in get_polymorphic_call_info, at ipa-devirt.c:1292

2014-03-25 Thread trippels at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60659

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-25
 CC||hubicka at gcc dot gnu.org,
   ||trippels at gcc dot gnu.org
  Component|target  |ipa
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Also happens on x86_64.

markus@x4 tmp % cat test.ii
template typename _InputIterator void __distance (_InputIterator);
template typename _InputIterator
void distance (_InputIterator, _InputIterator p2)
{
  __distance (p2);
}

namespace boost
{
template class Iterator struct A
{
  typedef typename Iterator::difference_type type;
};
template class T typename T::const_iterator end (T );
template class T typename T::const_iterator begin (T );
template class T struct D : Atypename T::const_iterator
{
};
template class T typename DT::type distance (const T p1)
{
  distance (boost::begin (p1), boost::end (p1));
  return 0;
}
template class IteratorT class B
{
public:
  typedef B type;
  typedef IteratorT const_iterator;
};
}

typedef int storage_t[];
struct F;
template template typename class struct G
{
  G (const G p1) { p1.m_fn1 ().m_fn1 (0); }
  const F m_fn1 () const
  {
const void *a;
a = data_m;
return *static_castconst F *(a);
  }
  storage_t *data_m;
};

struct F
{
  virtual F *m_fn1 (void *) const;
};
template typename struct H;
struct C : GH
{
  typedef int difference_type;
};
boost::BC AllTransVideos ();
int b = boost::distance (AllTransVideos ());


markus@x4 tmp % g++ -c -O2 test.ii
test.ii: In function ‘void distance(_InputIterator, _InputIterator) [with
_InputIterator = C]’:
test.ii:5:17: internal compiler error: in get_polymorphic_call_info, at
ipa-devirt.c:1292
   __distance (p2);
 ^
Please submit a full bug report,

[Bug c/60654] format warnings don't work with PROGMEM/PSTR

2014-03-25 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60654

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
What is PSTR?  What is PGM_P?


[Bug c/60660] New: alloca function for inlines that allocates on caller stack

2014-03-25 Thread josh at joshtriplett dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60660

Bug ID: 60660
   Summary: alloca function for inlines that allocates on caller
stack
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: josh at joshtriplett dot org

To implement certain helper functions, it would help greatly to have the
ability to perform stack allocations in the parent function from an inline
function.  If the function is guaranteed to be inline (for instance, with
always_inline), this seems straightforward.  A function like
__builtin_alloca_caller() would make it possible to write something like
alloca_sprintf safely, without multiple evaluation of the variable arguments as
a macro would.


[Bug ipa/60659] [4.9 Regression] ICE in get_polymorphic_call_info, at ipa-devirt.c:1292

2014-03-25 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60659

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |hubicka at gcc dot 
gnu.org

--- Comment #2 from Jan Hubicka hubicka at gcc dot gnu.org ---
Mine. And I was about to declare ipa-devirt to be officially 100% bug free :)


[Bug c/60660] alloca function for inlines that allocates on caller stack

2014-03-25 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60660

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org ---
This is much harder than you think really.  since you have to move all the
arguments of the callee function


[Bug c/60660] alloca function for inlines that allocates on caller stack

2014-03-25 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60660

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org ---
without multiple evaluation of the variable arguments as a macro would.

You can use statement expressions with typeof extension to get around the issue
of multiple evaluation issue of macros already.


[Bug c/52190] question about atomic intrinsics -- test and documentation vary -- please clarify

2014-03-25 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52190

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||mpolacek at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #6 from Marek Polacek mpolacek at gcc dot gnu.org ---
Should be fixed.


[Bug libstdc++/60658] std::atomicT* is unexpectedly not lock-free

2014-03-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60658

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org


[Bug libstdc++/60658] [4.7/4.8/4.9 Regression] std::atomicT* is unexpectedly not lock-free

2014-03-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60658

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.6.3
   Target Milestone|--- |4.7.4
Summary|std::atomicT* is  |[4.7/4.8/4.9 Regression]
   |unexpectedly not lock-free  |std::atomicT* is
   ||unexpectedly not lock-free

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
This is a regression in all active branches


  1   2   >