[Bug c/61444] Missing undeclared identifier message

2014-06-08 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61444

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 ---
I fail to see why this would be useful.  Anyway, it shouldn't be hard to
implement, but probably would need new -Wwhatever option.


[Bug rtl-optimization/61446] New: [4.10 Regression]: ICE in copyprop_hardreg_forward_1, at regcprop.c with -O2 -m32 -march=corei7

2014-06-08 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61446

Bug ID: 61446
   Summary: [4.10 Regression]: ICE in copyprop_hardreg_forward_1,
at regcprop.c with -O2 -m32 -march=corei7
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ubizjak at gmail dot com

Following testcase:

--cut here--
unsigned long long
__fixunssfdi (float a)
{
  const double dfa = a;
  const unsigned int hi = dfa / 0x1p32f;
  const unsigned int lo = dfa - (double) hi * 0x1p32f;

  return ((unsigned long long) hi  (4 * (8))) | lo;
}
--cut here--

ICEs on x86_64-pc-linux-gnu with -O2 -m32 -march=corei7:

./cc1 -O2 -m32 -march=corei7 ree.c
 __fixunssfdi
Analyzing compilation unit
Performing interprocedural optimizations
 *free_lang_data visibility early_local_cleanups *free_inline_summary
whole-program profile_estimate devirt cp inline pure-const
static-var comdatsAssembling functions:
 __fixunssfdi
ree.c: In function ‘__fixunssfdi’:
ree.c:11:1: error: insn does not satisfy its constraints:
 }
 ^
(insn 54 11 47 2 (set (reg:DI 0 ax)
(reg:DI 21 xmm0)) ree.c:7 89 {*movdi_internal}
 (expr_list:REG_UNUSED (reg:DI 0 ax)
(nil)))
ree.c:11:1: internal compiler error: in copyprop_hardreg_forward_1, at
regcprop.c:776
0x96bec8 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/home/uros/gcc-svn/trunk/gcc/rtl-error.c:109
0x96beef _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/home/uros/gcc-svn/trunk/gcc/rtl-error.c:120
0x9462a4 copyprop_hardreg_forward_1
/home/uros/gcc-svn/trunk/gcc/regcprop.c:776
0x94645a execute
/home/uros/gcc-svn/trunk/gcc/regcprop.c:1264
Please submit a full bug report,
...

_.split2 pass generates:

...
(insn 11 45 46 2 (set (reg/v:SI 0 ax [orig:85 hi ] [85])
(reg:SI 2 cx [99])) ree.c:7 90 {*movsi_internal}
 (nil))
(insn 46 11 47 2 (set (reg:DI 21 xmm0 [118])
(zero_extend:DI (reg/v:SI 0 ax [orig:85 hi ] [85]))) ree.c:10 133
{*zero_extendsidi2}
 (nil))
(insn 47 46 48 2 (set (mem/c:DI (reg/f:SI 7 sp) [0  S8 A64])
(reg:DI 21 xmm0 [118])) ree.c:10 89 {*movdi_internal}
 (nil))
(insn 48 47 13 2 (set (reg:DF 9 st(1) [orig:101 D.1856 ] [101])
(float:DF (mem/c:DI (reg/f:SI 7 sp) [0  S8 A64]))) ree.c:10 206
{*floatdidf2_i387}
 (nil))
...


and this sequence is transformed in _.ree pass to:

...
(insn 11 45 54 2 (set (reg:DI 21 xmm0)
(zero_extend:DI (reg:SI 2 cx [99]))) ree.c:7 133 {*zero_extendsidi2}
 (nil))
(insn 54 11 47 2 (set (reg:DI 0 ax)
(reg:DI 21 xmm0)) ree.c:7 -1
 (nil))
(insn 47 54 48 2 (set (mem/c:DI (reg/f:SI 7 sp) [0  S8 A64])
(reg:DI 21 xmm0 [118])) ree.c:10 89 {*movdi_internal}
 (nil))
(insn 48 47 13 2 (set (reg:DF 9 st(1) [orig:101 D.1856 ] [101])
(float:DF (mem/c:DI (reg/f:SI 7 sp) [0  S8 A64]))) ree.c:10 206
{*floatdidf2_i387}
 (nil))
...


(insn 54) is the problematic instruction.

[Bug rtl-optimization/61446] [4.10 Regression]: ICE in copyprop_hardreg_forward_1, at regcprop.c with -O2 -m32 -march=corei7

2014-06-08 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61446

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Target||i686
 Blocks||61423
   Target Milestone|--- |4.10.0

[Bug target/61423] Incorrect conversion from unsigned int to floating point

2014-06-08 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61423

--- Comment #8 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Uroš Bizjak from comment #5)
 Created attachment 32903 [details]
 Testcase that fails in REE pass
 
 This testcase fails with patched gcc in REE pass:

This is now PR61446.

[Bug c/61444] Missing undeclared identifier message

2014-06-08 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61444

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-08
 Ever confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org ---
I can see one case where this would be useful: if you have a variable and you
have the same typo in two different places.


[Bug c/61444] Missing undeclared identifier message

2014-06-08 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61444

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
Created attachment 32908
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=32908action=edit
show_all_undeclared

Patch that adds the -fno-show-all-undeclared option to show all instances of an
undeclared variable in a function.


[Bug rtl-optimization/61446] [4.10 Regression]: ICE in copyprop_hardreg_forward_1, at regcprop.c with -O2 -m32 -march=corei7

2014-06-08 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61446

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-08
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
This breaks bootstrap on x86_64-apple-darwin13 and other targets (see
https://gcc.gnu.org/ml/gcc-regression/2014-06/). On darwin the failure is

/opt/gcc/build_w/./gcc/xgcc -B/opt/gcc/build_w/./gcc/
-B/opt/gcc/gcc4.10w/x86_64-apple-darwin13.2.0/bin/
-B/opt/gcc/gcc4.10w/x86_64-apple-darwin13.2.0/lib/ -isystem
/opt/gcc/gcc4.10w/x86_64-apple-darwin13.2.0/include -isystem
/opt/gcc/gcc4.10w/x86_64-apple-darwin13.2.0/sys-include-g -O2 -O2  -g -O2
-DIN_GCC-W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include   -pipe -fno-common -g -DIN_LIBGCC2 -fbuilding-libgcc
-fno-stack-protector   -pipe -fno-common -I. -I. -I../.././gcc
-I../../../work/libgcc -I../../../work/libgcc/. -I../../../work/libgcc/../gcc
-I../../../work/libgcc/../include  -DHAVE_CC_TLS -DUSE_EMUTLS -o
_fixunssfti_s.o -MT _fixunssfti_s.o -MD -MP -MF _fixunssfti_s.dep -DSHARED
-DL_fixunsdfdi -c ../../../work/libgcc/libgcc2.c \
-DLIBGCC2_UNITS_PER_WORD=8
../../../../work/libgcc/libgcc2.c: In function '__fixunssfdi':
../../../../work/libgcc/libgcc2.c:1492:1: error: insn does not satisfy its
constraints:
 }
 ^
(insn 60 13 14 2 (set (reg:DI 0 ax)
(reg:DI 21 xmm0)) ../../../../work/libgcc/libgcc2.c:1444 89
{*movdi_internal}
 (expr_list:REG_UNUSED (reg:DI 0 ax)
(nil)))
../../../../work/libgcc/libgcc2.c:1492:1: internal compiler error: in
copyprop_hardreg_forward_1, at regcprop.c:776

Reverting r211321 allowed me to bootstrap r211353 on x86_64-apple-darwin13.


[Bug rtl-optimization/61446] [4.10 Regression]: ICE in copyprop_hardreg_forward_1, at regcprop.c with -O2 -m32 -march=corei7

2014-06-08 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61446

--- Comment #2 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Dominique d'Humieres from comment #1)
 This breaks bootstrap on x86_64-apple-darwin13 and other targets (see
 https://gcc.gnu.org/ml/gcc-regression/2014-06/). On darwin the failure is

Yes, known problem. Please use following patch to disable REE pass for now:

Index: common/config/i386/i386-common.c
===
--- common/config/i386/i386-common.c(revision 211321)
+++ common/config/i386/i386-common.c(working copy)
@@ -866,7 +866,7 @@
 static const struct default_options ix86_option_optimization_table[] =
   {
 /* Enable redundant extension instructions removal at -O2 and higher.  */
-{ OPT_LEVELS_2_PLUS, OPT_free, NULL, 1 },
+{ OPT_LEVELS_2_PLUS, OPT_free, NULL, 0 },
 /* Enable function splitting at -O2 and higher.  */
 { OPT_LEVELS_2_PLUS, OPT_freorder_blocks_and_partition, NULL, 1 },
 /* Turn off -fschedule-insns by default.  It tends to make the

[Bug tree-optimization/61434] [4.10 Regression] wrong code at -O3 on x86_64-linux

2014-06-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61434

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-08
 CC||jakub at gcc dot gnu.org,
   ||kyukhin at gcc dot gnu.org
   Target Milestone|--- |4.10.0
Summary|wrong code at -O3 on|[4.10 Regression] wrong
   |x86_64-linux|code at -O3 on x86_64-linux
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Started with r209972.


[Bug c/61447] New: _Alignof returns incorrect results for some types/archs

2014-06-08 Thread bugdal at aerifal dot cx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61447

Bug ID: 61447
   Summary: _Alignof returns incorrect results for some
types/archs
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: bugdal at aerifal dot cx

_Alignof is defined per C11 as the alignment requirement of its operand type.
This is different from GCC's result for __alignof__ (and sometimes for
_Alignof) where it returns the preferred alignment for optimization or the
actual alignment applied.

On i386, _Alignof(long long) returns 8, despite the correct value being 4. With
recent enough gcc (tested on 4.9.0), -std=c11 fixes _Alignof when applied to
the type name, but not when applied to an object: long long x; _Alignof(x)
still gives 8. In order to be correct:

1. _Alignof(object) should always be the same as _Alignof(__typeof__(object))

2. _Alignof(x) should always be the same as (sizeof(struct{char __a;
__typeof__(x) __b;}) - sizeof(x))

Failure of condition 2 results in observably incorrect behavior: a program can
observe the existence of a structure containing members a and b of the same
type where (char*)foo.a-(char*)foo.b is not a multiple of _Alignof(foo.a).


[Bug bootstrap/61448] New: ice on profiledbootstrap with -o2 -flto -fuse-linker-plugin

2014-06-08 Thread hete2 at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61448

Bug ID: 61448
   Summary: ice on profiledbootstrap with -o2 -flto
-fuse-linker-plugin
   Product: gcc
   Version: 4.8.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: hete2 at gmx dot de

On my System:

uname -m = x86_64
uname -r = 3.5.0-23-generic
uname -s = Linux
uname -v = #35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013
on a  Intel i3-2120 CPU @ 3.30GHz

configuring gcc-4.8.3 with 
--enable-checking=release --with-arch=native
an building with 
make -j 2 BOOT_CFLAGS='-O2 -flto -fuse-linker-plugin' profiledbootstrap

i got the following error:

../../gcc/optabs.c: In Funktion »emit_indirect_jump«:
../../gcc/optabs.c:4478:0: interner Compiler-Fehler: Speicherzugriffsfehler
 emit_indirect_jump (rtx loc)
 ^
0x94b33d crash_signal
../../gcc/toplev.c:332
0x74c2f6 can_refer_decl_in_current_unit_p
../../gcc/gimple-fold.c:70
0x74c6a7 canonicalize_constructor_val(tree_node*, tree_node*)
../../gcc/gimple-fold.c:172
0x7535e0 fold_ctor_reference
../../gcc/gimple-fold.c:2952
0x7534dc fold_nonarray_ctor_reference
../../gcc/gimple-fold.c:2933
0x75375e fold_ctor_reference
../../gcc/gimple-fold.c:2978
0x7530c6 fold_array_ctor_reference
../../gcc/gimple-fold.c:2867
0x75373d fold_ctor_reference
../../gcc/gimple-fold.c:2975
0x753b23 fold_const_aggregate_ref_1(tree_node*, tree_node* (*)(tree_node*))
../../gcc/gimple-fold.c:3077
0x753c08 fold_const_aggregate_ref(tree_node*)
../../gcc/gimple-fold.c:3099
0x74cb1a maybe_fold_reference
../../gcc/gimple-fold.c:277
0x74cae6 maybe_fold_reference
../../gcc/gimple-fold.c:269
0x74cda9 fold_gimple_assign
../../gcc/gimple-fold.c:343
0x74efaf fold_stmt_1
../../gcc/gimple-fold.c:1190
0x74f4c7 fold_stmt(gimple_stmt_iterator*)
../../gcc/gimple-fold.c:1318
0xa767a8 substitute_and_fold(tree_node* (*)(tree_node*), bool
(*)(gimple_stmt_iterator*), bool)
../../gcc/tree-ssa-propagate.c:1186
0xb24315 vrp_finalize
../../gcc/tree-vrp.c:9212
0xb24461 execute_vrp
../../gcc/tree-vrp.c:9308
Bitte senden Sie einen vollständigen Fehlerbericht auf Englisch ein;
bearbeiten Sie die Quellen zunächst mit einem Präprozessor, wenn es
dienlich ist.
Please include the complete backtrace with any bug report.
Siehe http://gcc.gnu.org/bugs.html für nähere Anweisungen.
lto-wrapper: /home/hete/gcc/gcc-4.8.3/Build3/./prev-gcc/xg++ gab Ende-Status 1
zurück
/usr/bin/ld: lto-wrapper failed

Normal bootstrapping works.

Gcc 4.9.0 hasn't this error, but i have to add -ffat-lto-objects to the
boot-cflags.

[Bug rtl-optimization/61047] [4.9/4.10 Regression] wrong code at -O1 on x86_64-linux

2014-06-08 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61047

Bernd Edlinger bernd.edlinger at hotmail dot de changed:

   What|Removed |Added

 CC||bernd.edlinger at hotmail dot 
de

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

I am experimenting with this patch, which extends
Eric's patch for references of frame_pointer_rtx also to
references of stack_pointer_rtx, hard_frame_pointer_rtx
and arg_pointer_rtx.


[Bug rtl-optimization/61047] [4.9/4.10 Regression] wrong code at -O1 on x86_64-linux

2014-06-08 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61047

--- Comment #5 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
I tried a boot-strap with this patch, and there are almost no false positives,
except a few varargs functions.

Most interesting are these cases:

/home/ed/gnu/gcc-build/./prev-gcc/xg++ -B/home/ed/gnu/gcc-build/./prev-gcc/
-B/home/ed/gnu/install/x86_64-unknown-linux-gnu/bin/ -nostdinc++
-B/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs

-I/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
 -I/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include 
-I/home/ed/gnu/gcc-trunk/libstdc++-v3/libsupc++
-L/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-c   -g -O2 -DIN_GCC-fno-exceptions -fno-rtti -fasynchronous-unwind-tables
-W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
-Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I.
-I../../gcc-trunk/gcc -I../../gcc-trunk/gcc/. -I../../gcc-trunk/gcc/../include
-I../../gcc-trunk/gcc/../libcpp/include -I/home/ed/gnu/gcc-build/./gmp
-I/home/ed/gnu/gcc-trunk/gmp -I/home/ed/gnu/gcc-build/./mpfr
-I/home/ed/gnu/gcc-trunk/mpfr -I/home/ed/gnu/gcc-trunk/mpc/src 
-I../../gcc-trunk/gcc/../libdecnumber -I../../gcc-trunk/gcc/../libdecnumber/bid
-I../libdecnumber -I../../gcc-trunk/gcc/../libbacktrace -DCLOOG_INT_GMP
-I/home/ed/gnu/gcc-build/./cloog/include -I/home/ed/gnu/gcc-trunk/cloog/include
-I../gcc-trunk/cloog/include  -I/home/ed/gnu/gcc-build/./isl/include
-I/home/ed/gnu/gcc-trunk/isl/include  -o expmed.o -MT expmed.o -MMD -MP -MF
./.deps/expmed.TPo ../../gcc-trunk/gcc/expmed.c
*** sp can trap: offset=34359738424, size=8, low_bound=-144, high_bound=272
*** sp can trap: offset=34359738456, size=8, low_bound=-144, high_bound=272
--
/home/ed/gnu/gcc-build/./prev-gcc/xg++ -B/home/ed/gnu/gcc-build/./prev-gcc/
-B/home/ed/gnu/install/x86_64-unknown-linux-gnu/bin/ -nostdinc++
-B/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs

-I/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
 -I/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include 
-I/home/ed/gnu/gcc-trunk/libstdc++-v3/libsupc++
-L/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-c   -g -O2 -DIN_GCC-fno-exceptions -fno-rtti -fasynchronous-unwind-tables
-W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
-Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I.
-I../../gcc-trunk/gcc -I../../gcc-trunk/gcc/. -I../../gcc-trunk/gcc/../include
-I../../gcc-trunk/gcc/../libcpp/include -I/home/ed/gnu/gcc-build/./gmp
-I/home/ed/gnu/gcc-trunk/gmp -I/home/ed/gnu/gcc-build/./mpfr
-I/home/ed/gnu/gcc-trunk/mpfr -I/home/ed/gnu/gcc-trunk/mpc/src 
-I../../gcc-trunk/gcc/../libdecnumber -I../../gcc-trunk/gcc/../libdecnumber/bid
-I../libdecnumber -I../../gcc-trunk/gcc/../libbacktrace -DCLOOG_INT_GMP
-I/home/ed/gnu/gcc-build/./cloog/include -I/home/ed/gnu/gcc-trunk/cloog/include
-I../gcc-trunk/cloog/include  -I/home/ed/gnu/gcc-build/./isl/include
-I/home/ed/gnu/gcc-trunk/isl/include  -o fixed-value.o -MT fixed-value.o -MMD
-MP -MF ./.deps/fixed-value.TPo ../../gcc-trunk/gcc/fixed-value.c
*** sp can trap: offset=34359738472, size=8, low_bound=-144, high_bound=208
*** sp can trap: offset=34359738488, size=8, low_bound=-144, high_bound=240
/home/ed/gnu/gcc-build/./prev-gcc/xg++ -B/home/ed/gnu/gcc-build/./prev-gcc/
-B/home/ed/gnu/install/x86_64-unknown-linux-gnu/bin/ -nostdinc++
-B/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs

-I/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
 -I/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include 
-I/home/ed/gnu/gcc-trunk/libstdc++-v3/libsupc++
-L/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/home/ed/gnu/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-c   -g -O2 -DIN_GCC-fno-exceptions -fno-rtti -fasynchronous-unwind-tables
-W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
-Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I.
-I../../gcc-trunk/gcc 

[Bug rtl-optimization/61047] [4.9/4.10 Regression] wrong code at -O1 on x86_64-linux

2014-06-08 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61047

--- Comment #6 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
they only happen in stage3, not in stage2.

expmed.c.214r.reload:

;; Function long unsigned int choose_multiplier(long unsigned int, int, int,
long unsigned int*, int*, int*) (_Z17choose_multipliermiiPmPiS0_,
funcdef_no=1085, decl_uid=47659, symbol_order=801)

...
  557: r13:DI=0x7ff78
  REG_EQUIV 0x7ff78
...
  547: debug this = debug_implicit_ptr
  548: debug D#64 = debug_implicit_ptr
  549: debug D#37 = D#64
  550: debug this = D#37
  551: debug len = optimized away
  552: debug D#65 = debug_implicit_ptr
  553: debug D#39 = D#65
  554: debug this = D#39
  555: debug high = [sp:DI+0x80038]
  556: debug res = 0
  560: NOTE_INSN_DELETED
 1334: NOTE_INSN_DELETED
 1367: ax:DI=[sp:DI+r13:DI+0xc0]

fixed-value.c.214r.reload:

;; Function void fixed_from_string(fixed_value*, const char*, machine_mode)
(_Z17fixed_from_stringP11fixed_valuePKc12machine_mode, funcdef_no=827,
decl_uid=38219, symbol_order=541)

...

   89: NOTE_INSN_BASIC_BLOCK 8
   90: debug this = sp:DI+0x70
   91: debug D#17 = sp:DI+0x70
   92: debug D#2 = D#17
   93: debug this = D#2
   94: debug len = optimized away
   95: debug D#18 = sp:DI+0x70
   96: debug this = D#18
   97: debug high = [sp:DI+0x80068]
   98: dx:DI=0x7ffd8
  REG_EQUIV 0x7ffd8
  100: dx:DI=[sp:DI+dx:DI+0x90]
  REG_EQUAL [frame:DI+0x7ffd8]


unfortunately, gcc crashes when compiling fold-const.c
when I add -fdump-rtl-all-slim to the command line.


[Bug fortran/34640] ICE when assigning item of a derived-component to a pointer

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34640

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

 CC||dominiq at lps dot ens.fr

--- Comment #25 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
*** Bug 45128 has been marked as a duplicate of this bug. ***


[Bug fortran/45128] Segmentation fault with -fwhole-file for subref_array_pointer

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45128

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||fxcoudert at gcc dot gnu.org
 Resolution|--- |DUPLICATE

--- Comment #6 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
I confirm that it's a duplicate of PR 34640 (exact same backtrace).

*** This bug has been marked as a duplicate of bug 34640 ***


[Bug fortran/56818] [meta-bug] fortran-dev bugs

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56818
Bug 56818 depends on bug 45128, which changed state.

Bug 45128 Summary: Segmentation fault with -fwhole-file  for 
subref_array_pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45128

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE


[Bug rtl-optimization/61047] [4.9/4.10 Regression] wrong code at -O1 on x86_64-linux

2014-06-08 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61047

--- Comment #7 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
xg++ [...] ../../gcc-trunk/gcc/fold-const.c -fdump-rtl-all-slim
*** fp can trap: offset=34359738280, size=8, low_bound=-368, high_bound=32
../../gcc-trunk/gcc/fold-const.c: In function 'tree_node*
fold_unary_loc(location_t, tree_code, tree, tree)':
../../gcc-trunk/gcc/fold-const.c:8475:1: internal compiler error: Segmentation
fault
 }
 ^
0xbeaf1f crash_signal
../../gcc-trunk/gcc/toplev.c:337
0x11a43c0 pp_string(pretty_printer*, char const*)
../../gcc-trunk/gcc/pretty-print.c:906
0xba02c2 print_exp
../../gcc-trunk/gcc/sched-vis.c:391
0xba0dfd print_value(pretty_printer*, rtx_def const*, int)
../../gcc-trunk/gcc/sched-vis.c:510
0xb9fe08 print_pattern(pretty_printer*, rtx_def const*, int)
../../gcc-trunk/gcc/sched-vis.c:620
0xb9fb3b print_insn(pretty_printer*, rtx_def const*, int)
../../gcc-trunk/gcc/sched-vis.c:743
0xb9fd17 print_insn_with_notes
../../gcc-trunk/gcc/sched-vis.c:764
0xba104e dump_insn_slim(_IO_FILE*, rtx_def const*)
../../gcc-trunk/gcc/sched-vis.c:801
0x8a09c7 print_rtl_with_bb(_IO_FILE*, rtx_def const*, int)
../../gcc-trunk/gcc/cfgrtl.c:2196
0xb32db3 execute_function_dump
../../gcc-trunk/gcc/passes.c:1569
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug c/61447] _Alignof returns incorrect results for some types/archs

2014-06-08 Thread joseph at codesourcery dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61447

--- Comment #1 from joseph at codesourcery dot com joseph at codesourcery dot 
com ---
ISO C does not define _Alignof (object), only _Alignof (type).


[Bug fortran/32630] [meta-bug] ISO C binding

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32630
Bug 32630 depends on bug 38829, which changed state.

Bug 38829 Summary: Bogus BIND(C) error message
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38829

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED


[Bug fortran/38829] Bogus BIND(C) error message

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38829

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
This was fixed in gfortran 4.6 and later.


[Bug c/61447] _Alignof returns incorrect results for some types/archs

2014-06-08 Thread bugdal at aerifal dot cx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61447

--- Comment #2 from Rich Felker bugdal at aerifal dot cx ---
Indeed, you seem to be correct in that claim. However it seems desirable that
if this usage is not supported, it should be treated as a constraint violation
rather than silently producing a wrong/meaningless result that appears right
in most cases. In any case, I still think it's a bug that the wrong value is
being produced for _Alignof(long long) except with -std=c11. Even if earlier
versions of the standard have nothing to say about what it should produce, the
principle of least surprise says that it should produce the same result as it
does under C11 since only C11 defines _Alignof.


[Bug fortran/38829] Bogus BIND(C) error message

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38829

--- Comment #2 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
Author: fxcoudert
Date: Sun Jun  8 15:28:59 2014
New Revision: 211354

URL: http://gcc.gnu.org/viewcvs?rev=211354root=gccview=rev
Log:
PR fortran/38829
* gfortran.dg/bind_c_usage_29.f90: New file.

Added:
trunk/gcc/testsuite/gfortran.dg/bind_c_usage_29.f90
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug c/61447] _Alignof returns incorrect results for some types/archs

2014-06-08 Thread joseph at codesourcery dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61447

--- Comment #3 from joseph at codesourcery dot com joseph at codesourcery dot 
com ---
What makes you think _Alignof depends on -std=c11 (other than for 
-pedantic diagnostics)?

I don't see any point in requesting alignment of an object, as opposed to 
a type, unless you want a result that can sometimes be bigger than what 
you get from _Alignof applied to the type.


[Bug fortran/41627] mixing common and modules elicits ICE

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41627

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||fxcoudert at gcc dot gnu.org
 Resolution|--- |DUPLICATE
  Known to fail||

--- Comment #10 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
I get, again, the same backtrace on this one as I do for PR34640, so I'm
closing it as duplicate.

*** This bug has been marked as a duplicate of bug 34640 ***


[Bug fortran/34640] ICE when assigning item of a derived-component to a pointer

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34640

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

 CC||dh458 at oakapple dot net

--- Comment #26 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
*** Bug 41627 has been marked as a duplicate of this bug. ***


[Bug c/61447] _Alignof returns incorrect results for some types/archs

2014-06-08 Thread bugdal at aerifal dot cx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61447

--- Comment #4 from Rich Felker bugdal at aerifal dot cx ---
Indeed, I can't reproduce that aspect of the problem now. My best guess is that
I accidentally used gcc rather than gcc-4.9 for the test without -std=c11.
I'll post a follow-up comment if I do find such a problem again.

Back to the issue of _Alignof(object) however, I'm not so sure that your
interpretation of the standard is correct anymore. At the very least the
standard is ambiguous. 6.3.2.1 Lvalues, arrays, and function designators,
paragraph 2, reads:

Except when it is the operand of the sizeof operator, the _Alignof operator,
the unary  operator, the ++ operator, the -- operator, or the left operand of
the . operator or an assignment operator, an lvalue that does not have array
type is converted to the value stored in the designated object (and is no
longer an lvalue); this is called lvalue conversion.

This text does not make sense if an expression cannot be the operand of
_Alignof. It's very possible that this is just residual cruft that should have
been removed, but it would be nice to get some clarification on whether, from
the committee's standpoint, the error is the presence of the above text or the
omission of text about how _Alignof handles an argument that's not a type.


[Bug fortran/45187] ICE with CRAY pointer in module

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45187

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu.org
Summary|ICE with CRAY pointer in|ICE with CRAY pointer in
   |module depending on |module
   |variable name   |

--- Comment #2 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
Confirm on current trunk. Also, I have an idea why it depends on the variable
name :)

The ICE is observed with any variable name that is lexicographically smaller
than c_ (i.e., that sorts before c_ in alphabetical order). I suppose we're
trying to create backend decls for the POINTER in this order, and it fails when
the variable has already been created before it.

Since the error is a checking in gfc_create_module_variable(), and we
probably simply need to bail out if the symbol is a Cray-pointee, here's a
suggested patch:

Index: trans-decl.c
===
--- trans-decl.c(revision 211315)
+++ trans-decl.c(working copy)
@@ -4282,6 +4282,10 @@ gfc_create_module_variable (gfc_symbol *
   if (sym-attr.use_assoc || sym-attr.in_common)
 return;

+  /* Cray pointees will be created elsewhere.  */
+  if (sym-attr.cray_pointee)
+return;
+
   /* Equivalenced variables arrive here after creation.  */
   if (sym-backend_decl
(sym-equiv_built || sym-attr.in_equivalence))


[Bug c/61447] _Alignof returns incorrect results for some types/archs

2014-06-08 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61447

--- Comment #5 from Andreas Schwab sch...@linux-m68k.org ---
The reference to _Alignof in 6.3.2.1 does not exist in the final version of the
standard, according to Larry Jones in comp.std.c (Message-Id:
ucvm2a-hig@jones.homeip.net or
https://groups.google.com/d/topic/comp.std.c/v5hsWOu5vSw/discussion).


[Bug fortran/45187] ICE with CRAY pointer in module

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45187

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||patch
 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |fxcoudert at gcc dot 
gnu.org

--- Comment #3 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
Patch works, submitted for review:
https://gcc.gnu.org/ml/fortran/2014-06/msg00089.html


[Bug libfortran/60324] Handle arbitrarily long path names

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60324

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC||fxcoudert at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #4 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
I take it this one can be closed :)


[Bug fortran/41227] COMMON block, BIND(C) and LTO interoperability issues

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41227

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu.org

--- Comment #10 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
(In reply to Richard Biener from comment #9)
 Can somebody produce a reduced testcase pair that
 just has a bind-C named common with a single int so I can experiment a bit?

$ cat s.f90 
module foo
  use iso_c_binding
  integer(c_int) :: i
  common /com/ i
  bind(c,name=toto) :: /com/
end module foo

$ cat s.c 
int main(void)
{
  extern int toto;
  toto = 42;
}


[Bug c++/59832] [c++11] ICE in reshape_init_class with initializer list

2014-06-08 Thread ppluzhnikov at google dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59832

--- Comment #4 from Paul Pluzhnikov ppluzhnikov at google dot com ---
Still reproduces on current trunk @r211286


[Bug fortran/56981] Slow I/O: Unformatted 5x slower, large sys component; formatted slow as well

2014-06-08 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56981

--- Comment #11 from Jerry DeLisle jvdelisle at gcc dot gnu.org ---
Janne, can you post some new benchmarks for comparison?


[Bug c/61449] New: Statement expressions disallow storage specifiers

2014-06-08 Thread cube2killfield at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61449

Bug ID: 61449
   Summary: Statement expressions disallow storage specifiers
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: cube2killfield at gmail dot com

Essentially we have a tool which preprocesses C code and produces these inline
statement expressions with prototypes like ({ void foo(void); foo; }) and then
later implements the function. This is fine for global scope functions, but
ideally we want static storage on these functions as they're not suppose to
leak the file scope or be subject to automatic library import. The problem is
one cannot do the following with statement expressions.

({ static void foo(void); foo; })
static void foo() { }

This is fairly inconsistent behavior in respect to what constitutes a valid
declaration. I'm surprised this issue hasn't been run into before. Storage
specifiers should be valid in statement expressions.


[Bug tree-optimization/61437] [4.10 Regression] wrong code on x86_64-linux-gnu when compile separately

2014-06-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61437

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-08
 CC||jakub at gcc dot gnu.org
   Target Milestone|--- |4.10.0
Summary|wrong code on   |[4.10 Regression] wrong
   |x86_64-linux-gnu when   |code on x86_64-linux-gnu
   |compile separately  |when compile separately
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Started with r211233.


[Bug fortran/61450] New: ICE in gfc_global_used()

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61450

Bug ID: 61450
   Summary: ICE in gfc_global_used()
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: fxcoudert at gcc dot gnu.org

$ cat w.f90 
module p
  integer i1
  bind(c,name=foo) :: i1
end module

subroutine truc() bind(c,name=foo)
end

$ gfortran w.f90
w.f90:6.36:

subroutine truc() bind(c,name=foo)
1
Internal Error at (1):
gfc_global_used(): Bad type


I don't know exactly how this specific case arises, but as it's only a
diagnostics trying to be extra smart, I suggest to give it a more decent
fallback, e.g.:

Index: parse.c
===
--- parse.c(revision 211315)
+++ parse.c(working copy)
@@ -4313,33 +4313,32 @@ gfc_global_used (gfc_gsymbol *sym, locus
   switch(sym-type)
 {
 case GSYM_PROGRAM:
-  name = PROGRAM;
+  name = as a PROGRAM ;
   break;
 case GSYM_FUNCTION:
-  name = FUNCTION;
+  name = as a FUNCTION ;
   break;
 case GSYM_SUBROUTINE:
-  name = SUBROUTINE;
+  name = as a SUBROUTINE ;
   break;
 case GSYM_COMMON:
-  name = COMMON;
+  name = as a COMMON ;
   break;
 case GSYM_BLOCK_DATA:
-  name = BLOCK DATA;
+  name = as a BLOCK DATA ;
   break;
 case GSYM_MODULE:
-  name = MODULE;
+  name = as a MODULE ;
   break;
 default:
-  gfc_internal_error (gfc_global_used(): Bad type);
-  name = NULL;
+  name = ;
 }

   if (sym-binding_label)
-gfc_error (Global binding name '%s' at %L is already being used as a %s 
+gfc_error (Global binding name '%s' at %L is already being used %s
at %L, sym-binding_label, where, name, sym-where);
   else
-gfc_error (Global name '%s' at %L is already being used as a %s at %L,
+gfc_error (Global name '%s' at %L is already being used %sat %L,
sym-name, where, name, sym-where);
 }


[Bug fortran/61450] ICE in gfc_global_used()

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61450

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-08
 CC||bur...@net-b.de
 Ever confirmed|0   |1


[Bug c++/61451] New: Parsing aborted at cp/parser.c:23778

2014-06-08 Thread svalorzen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61451

Bug ID: 61451
   Summary: Parsing aborted at cp/parser.c:23778
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: svalorzen at gmail dot com

Created attachment 32910
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=32910action=edit
Preprocessed source produced by compilation.

The following code:

#include tuple

template typename M
struct is_generative_model {
private:
template typename Z static auto test(int) - decltype(

static_caststd::tuplesize_t, double   
(Z::*)(size_t,size_t) const  (Z::sampleOR),
static_caststd::tuplesize_t,size_t, double
(Z::*)(size_t,size_t) const  (Z::sampleSOR),

std::true_type()
);

template typename Z static auto test(...) - std::false_type;

public:
enum { value = std::is_samedecltype(testM(0)),std::true_type::value
};
};

int main() {
return 0;
}

When compiled with:

g++ -std=c++11 main.cpp

Triggers the following error:

main.cpp:8:110: internal compiler error: in cp_parser_abort_tentative_parse, at
cp/parser.c:23778
 static_caststd::tuplesize_t, double   
(Z::*)(size_t,size_t) const  (Z::sampleOR),
   
  ^
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.8/README.Bugs for instructions.
Preprocessed source stored into /tmp/ccYAAuUj.out file, please attach this to
your bugreport.

With compiler version:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1'
--with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.8 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap
--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.8-amd64/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686
--with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)


[Bug c++/61451] Parsing aborted at cp/parser.c:23778

2014-06-08 Thread svalorzen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61451

--- Comment #1 from Eugenio Bargiacchi svalorzen at gmail dot com ---
For some reason, if an additional line is added, the error goes away. This
compiles fine:

#include tuple

template typename M
struct is_generative_model {
private:
template typename Z static auto test(int) - decltype(

static_castsize_t (Z::*)() const  
(Z::getS),
static_castdouble  (Z::*)(size_t,size_t) const 
(Z::sample),
static_castsize_t (Z::*)(size_t,size_t) const 
(Z::sample),

std::true_type()
);

template typename Z static auto test(...) - std::false_type;

public:
enum { value = std::is_samedecltype(testM(0)),std::true_type::value
};
};

int main() {
return 0;
}


[Bug fortran/36275] [F03] Binding label can be any scalar char initialisation expression

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36275

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #11 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
Patch proposed here, somewhat based on Mikael's patch in comment #6:
https://gcc.gnu.org/ml/fortran/2014-06/msg00090.html


[Bug fortran/38839] BIND(C): Allow non-digit/underscore/alphabetic binding names

2014-06-08 Thread fxcoudert at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38839

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #5 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
Should be fixed at the same time as this patch here:
https://gcc.gnu.org/ml/fortran/2014-06/msg00090.html , which reworks the
parsing of binding labels. I intend to find what the consensus is on this
issue, incorporate it into the patch, and close this.


[Bug c/61449] Statement expressions disallow storage specifiers

2014-06-08 Thread joseph at codesourcery dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61449

--- Comment #1 from joseph at codesourcery dot com joseph at codesourcery dot 
com ---
I don't see what this has to do with statement expressions.  Standard ISO 
C rules for storage class specifiers are that block-scope declarations for 
functions need to use extern or no storage class specifier, and if the 
function has internal linkage, a file-scope static declaration must come 
before any block-scope declaration (and be visible when the block-scope 
declaration occurs).


[Bug c/61449] Statement expressions disallow storage specifiers

2014-06-08 Thread cube2killfield at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61449

Dale Weiler cube2killfield at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Dale Weiler cube2killfield at gmail dot com ---
Just consulted the standard. You're right. I'll need to make the tool do
something else instead.


[Bug fortran/56981] Slow I/O: Unformatted 5x slower, large sys component; formatted slow as well

2014-06-08 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56981

--- Comment #12 from Jerry DeLisle jvdelisle at gcc dot gnu.org ---
$ strace -c ./a.out 
% time seconds  usecs/call callserrors syscall
-- --- --- - - 
 99.970.078667   0   100   write
  0.030.22   211   fstat
  0.000.00   0 5   read
  0.000.00   01710 open
  0.000.00   0 7   close
  0.000.00   0 8 6 stat
  0.000.00   017   mmap
  0.000.00   012   mprotect
  0.000.00   0 1   munmap
  0.000.00   0 3   brk
  0.000.00   010   rt_sigaction
  0.000.00   010 9 access
  0.000.00   0 1   execve
  0.000.00   0 1   readlink
  0.000.00   0 1   arch_prctl
-- --- --- - - 
100.000.078689   100010425 total

This is looking pretty good now!


[Bug tree-optimization/61452] New: hang at -O1 and -Os on x86_64-linux-gnu

2014-06-08 Thread su at cs dot ucdavis.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61452

Bug ID: 61452
   Summary: hang at -O1 and -Os on x86_64-linux-gnu
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu

The following (valid) code causes gcc trunk (as well gcc 4.8 and 4.9) to hang
at -O1 and -Os (but not at -O0, -O2, and -O3). 

This is a regression from 4.7.x. 

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 4.10.0 20140608 (experimental) [trunk revision 211353] (GCC) 
$ 
$ gcc-trunk -O0 small.c; a.out
$ gcc-trunk -O2 small.c; a.out
$ gcc-4.7.3 -O1 small.c; a.out
$ gcc-4.7.3 -Os small.c; a.out
$ 
$ timeout -s 9 30 gcc-trunk -O1 small.c
Killed
$ 





int a, b;
short c, d;
char e, f;

int
fn1 (int p1, char p2)
{
  return p1 || p2 ? 0 : p2;
}

void
fn2 ()
{
  for (; a;)
{
  int g;
  g = c = e;
  for (; a;)
b = fn1 (g = d = e, g);
  f = g; 
}
}

int
main ()
{
  fn2 (); 
  return 0;
}


[Bug testsuite/61453] New: [4.10 Regression]: gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't call

2014-06-08 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61453

Bug ID: 61453
   Summary: [4.10 Regression]:
gfortran.dg/bind_c_array_params_2.f90 for targets
where a call insn isn't call
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
  Assignee: unassigned at gcc dot gnu.org
  Reporter: hp at gcc dot gnu.org
CC: dominiq at gcc dot gnu.org
  Host: x86_64-unknown-linux-gnu
Target: cris-axis-elf

This test passed before r210892, now it fails as follows:

Running /tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/dg.exp ...
FAIL: gfortran.dg/bind_c_array_params_2.f90  -O   scan-assembler-times
call[^\n\r]*myBindC 1

The regexp in question is for the actual subroutine call instruction, which is
*not* called call for all targets.

Author of commit CC:ed.


[Bug tree-optimization/61301] missed optimization of move if vector passed by reference

2014-06-08 Thread thomas.preudhomme at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61301

--- Comment #4 from Thomas Preud'homme thomas.preudhomme at arm dot com ---
(In reply to Richard Biener from comment #3)
   _3 = MEM[(const float *)this_1(D) + 4B];
   _4 = MEM[(const float *)this_1(D)];
   _5 = MEM[(const float *)this_1(D) + 12B];
   _6 = MEM[(const float *)this_1(D) + 8B];
   _7 = {_3, _4, _5, _6};
   return _7;
 
 does look like an opportunity for a bswap pass improvement.  Basically
 handle CONSTRUCTOR as supported composition operation (and then support
 vector loads and shuffle, of course).

I had started working on shuffle support in bswap but I realized this would
probably not help ARM as move between floating point register and general
purpose register are quite slow. I then moved on to higher priority tasks This
doesn't mean I'm finished with the bswap task, as several improvement were
suggested to me during the review of the first patch to improve bswap.

So I wouldn't hold my breath for me doing work for now, feel free to beat me to
it.


[Bug tree-optimization/61301] missed optimization of move if vector passed by reference

2014-06-08 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61301

--- Comment #5 from Andrew Pinski pinskia at gcc dot gnu.org ---
(In reply to Thomas Preud'homme from comment #4) 
 I had started working on shuffle support in bswap but I realized this would
 probably not help ARM as move between floating point register and general
 purpose register are quite slow. I then moved on to higher priority tasks
 This doesn't mean I'm finished with the bswap task, as several improvement
 were suggested to me during the review of the first patch to improve bswap.

But it might help AARCH64 (maybe not ARM's cores though) where the moving
between the registers might be faster.