[Bug middle-end/57461] [4.9 Regression] ICE (segfault) for pass_final's ggc_collect: in lookup_page_table_entry, depending on details like (length of?) identifier names, file name of source file

2013-05-30 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57461

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-30
 CC||burnus at gcc dot gnu.org
  Component|fortran |middle-end
Summary|Ice on valid:   |[4.9 Regression] ICE
   |lookup_page_table_entry,|(segfault) for pass_final's
   |depending on details like   |ggc_collect: in
   |(length of?) identifier |lookup_page_table_entry,
   |names, file name of source  |depending on details like
   |file|(length of?) identifier
   ||names, file name of source
   ||file
 Ever confirmed|0   |1

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org ---
Confirmed. Works for me with GCC 4.8 and fails with 4.9.

The problem is that table == NULL for:

lookup_page_table_entry (p=0xafafafaf000f) at ../../gcc/ggc-page.c:593
593   while (table-high_bits != high_bits)


[Bug c++/57463] New: Internal compiler error: Error reporting routines re-entered.

2013-05-30 Thread cebrusfs at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57463

Bug ID: 57463
   Summary: Internal compiler error: Error reporting routines
re-entered.
   Product: gcc
   Version: 4.7.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: cebrusfs at gmail dot com

I use the mac OS 10.7.5,

the g++ is built by homebrew.

I will attache the source code and the preprocessd .ii

This is the compile command:
g++ -Wall -Wshadow -Wextra -Wformat -O2 -Wno-deprecated -std=c++11 -v
-save-temps   test.cpp   -o test


[Bug c++/57463] Internal compiler error: Error reporting routines re-entered.

2013-05-30 Thread cebrusfs at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57463

--- Comment #1 from MengHuan Yu cebrusfs at gmail dot com ---
Created attachment 30221
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30221action=edit
source code


[Bug c++/57463] Internal compiler error: Error reporting routines re-entered.

2013-05-30 Thread cebrusfs at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57463

--- Comment #2 from MengHuan Yu cebrusfs at gmail dot com ---
Created attachment 30222
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30222action=edit
preprocess file


[Bug c++/57464] New: c++11 crate a std::function object with lambda expr

2013-05-30 Thread lilijreey at 126 dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57464

Bug ID: 57464
   Summary: c++11 crate a std::function object  with lambda expr
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: lilijreey at 126 dot com

Created attachment 30223
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30223action=edit
codes

//BUG report 
//GCC4.6.4 compiling crash
//OS ubuntu-12.04-X86
//uname Linux 3.2.0-43-generic #68-Ubuntu SMP Wed May 15 03:33:33 UTC 2013
x86_64 x86_64 x86_64 GNU/Linux

//g++ -Wall -std=c++0x cpp_function_bug.cpp

#include stdio.h
#include functional
int main(void)
{
  std::functionstd::functionint()(int) rclouse =
  [](int i) { return [i](){++i;}; };

  std::functionint() seed3 = rclouse(3);
  printf(%d\n, seed3());
}


[Bug rtl-optimization/57359] wrong code for union access at -O3 on x86_64-linux

2013-05-30 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57359

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jsm28 at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
I guess then the important question is what is supposed to be the effective
type of the object inside the union (ISO C99, 6.5/6), if it isn't the union,
but one of the types, then the testcase would be still invalid, because then
one or the other of the stores would be through non-allowed type (6.5/7).
If that wasn't invalid, it would be a loop-hole in TBAA disambiguation (because
then two stores through pointers with non-conflicting alias set couldn't be
just because of this considered non-aliasing.


[Bug fortran/57458] TS29113: Wrongly rejects noncontiguous argument to assumed-rank when both are volatile/asynchronous

2013-05-30 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57458

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org ---
Author: burnus
Date: Thu May 30 07:29:49 2013
New Revision: 199437

URL: http://gcc.gnu.org/viewcvs?rev=199437root=gccview=rev
Log:
2013-05-30  Tobias Burnus  bur...@net-b.de

PR fortran/57458
* interface.c (compare_parameter): Update C1239/C1240 constraint
check for assumed-rank/TS29113.

2013-05-30  Tobias Burnus  bur...@net-b.de

PR fortran/57458
* gfortran.dg/assumed_rank_13.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/assumed_rank_13.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/57458] TS29113: Wrongly rejects noncontiguous argument to assumed-rank when both are volatile/asynchronous

2013-05-30 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57458

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org ---
FIXED on the trunk (for 4.9).

Thanks for the report!


[Bug middle-end/57461] [4.9 Regression] ICE (segfault) for pass_final's ggc_collect: in lookup_page_table_entry, depending on details like (length of?) identifier names, file name of source file

2013-05-30 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57461

--- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr ---
There is no ICE if gcc is configured with --enable-checking=release. The ICE is
present for revision 198804 (2013-05-12), but not for revision 196555 (4.8,
2013-03-08).


[Bug middle-end/57461] [4.9 Regression] ICE (segfault) for pass_final's ggc_collect: in lookup_page_table_entry, depending on details like (length of?) identifier names, file name of source file

2013-05-30 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57461

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org
   Target Milestone|--- |4.9.0

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org ---
Bisecting points at http://gcc.gnu.org/r198966

r198966 | jakub | 2013-05-16 12:43:33 +0200 (Do, 16. Mai 2013) | 19 Zeilen

* omp-low.c (extract_omp_for_data): For collapsed loops,
if at least one of the loops is known at compile time to
iterate zero times, set count to 0.
(expand_omp_regimplify_p): New function.
(expand_omp_for_generic): For collapsed loops, if at least
one of the loops isn't known to iterate at least once,
add runtime check with setting count to 0.
(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
For unsigned types if it isn't known at compile time that
the loop will iterate at least once, add runtime check to bypass
the whole loop if initial condition isn't true.


[Bug rtl-optimization/57439] [4.9 regression] FAIL: gcc.c-torture/execute/920501-6.c execution, -O1

2013-05-30 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57439

--- Comment #12 from Andreas Schwab sch...@linux-m68k.org ---
Successfully tested on m68k.


[Bug fortran/54189] ICE (segfault) with invalid assumed-size dummy

2013-05-30 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54189

--- Comment #2 from janus at gcc dot gnu.org ---
(In reply to janus from comment #1)
 Trivial patch:

Regtests cleanly. Will commit as obvious.


[Bug libstdc++/57465] New: Failed postcondition for std::function constructed with null function pointer

2013-05-30 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57465

Bug ID: 57465
   Summary: Failed postcondition for std::function constructed
with null function pointer
   Product: gcc
   Version: 4.7.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: redi at gcc dot gnu.org

#include functional
#include cassert

int main()
{
  using F = void();
  F* f = nullptr;
  std::functionF x(f);
  assert( !x );
}

The assert should pass, but it fails with all versions.

Note that clang++ with libstdc++ headers passes the test, so this might be a
front end bug (to be filed separately) but can be fixed/worked around easily
enough in libstdc++ like so:

--- functional.orig 2013-05-30 10:48:27.081623873 +0100
+++ functional  2013-05-30 10:48:29.225370770 +0100
@@ -1964,7 +1964,7 @@

templatetypename _Tp
  static bool
- _M_not_empty_function(const _Tp* __fp)
+ _M_not_empty_function(_Tp* const __fp)
  { return __fp; }

templatetypename _Class, typename _Tp


[Bug libstdc++/57465] Failed postcondition for std::function constructed with null function pointer

2013-05-30 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57465

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-05-30
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
 Ever confirmed|0   |1


[Bug c++/57466] New: Argument deduction fails for 'const T*' when T is function type

2013-05-30 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57466

Bug ID: 57466
   Summary: Argument deduction fails for 'const T*' when T is
function type
   Product: gcc
   Version: 4.7.3
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: redi at gcc dot gnu.org
Blocks: 57465

(This is the root cause of PR 57465, but I have a workaround for the library.)


templatetypename T
  constexpr bool
  is_pointer(const T*)
  { return true; }

templatetypename T
  constexpr bool
  is_pointer(const T)
  { return false; }

using F = void();

constexpr F* f = nullptr;

static_assert( is_pointer(f), function pointer is a pointer );

G++ fails the static assertion:

t.cc:15:1: error: static assertion failed: function pointer is a pointer
 static_assert( is_pointer(f), function pointer is a pointer );
 ^

The first function template should be instantiated as bool is_pointer(F*) but
instead deduction fails because:
   types 'const T' and 'F {aka void()}' have incompatible cv-qualifiers


Note deduction succeeds with an explicit template argument:

templatetypename T
  constexpr bool
  is_pointer(const T*)
  { return true; }

using F = void();

constexpr F* f = nullptr;

constexpr bool pass = is_pointerF(f);
constexpr bool fail = is_pointer(f);


[Bug rtl-optimization/57439] [4.9 regression] FAIL: gcc.c-torture/execute/920501-6.c execution, -O1

2013-05-30 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57439

--- Comment #13 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
(In reply to Jorn Wolfgang Rennecke from comment #10)
 Created attachment 30212 [details]
 experimental patch for execute/pr42721.c failure

The patch is OK but let's beef up the comment a little bit:

+  if (mode != reg_mode[regno])
+{
+  if (!MODES_OK_FOR_MOVE2ADD (mode, reg_mode[regno]))
+return false;
+  /* For big endian, the starting regno for the subreg might be
+ different.  */

  /* The value loaded into regno in reg_mode[regno] is also valid in
 mode after truncation only if (REG:mode regno) is the lowpart of
 (REG:reg_mode[regno] regno).  Now, for big endian, the starting
 regno of the lowpart might be different.  */

+  int s_off = subreg_lowpart_offset (mode, reg_mode[regno]);
+  s_off = subreg_regno_offset (regno, reg_mode[regno], s_off, mode);
+  if (s_off != 0)
+/* We could in principle adjust regno, check reg_mode[regno] to be
+   BLKmode, and return s_off to the caller (vs. -1 for failure),
+   but we currently have no callers that could make use of this
+   information.  */
+return false;
+}


[Bug fortran/54189] ICE (segfault) with invalid assumed-size dummy

2013-05-30 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54189

janus at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from janus at gcc dot gnu.org ---
Fixed with r199445. Closing.




Author: janus
Date: Thu May 30 10:19:16 2013
New Revision: 199445

URL: http://gcc.gnu.org/viewcvs?rev=199445root=gccview=rev
Log:
2013-05-30  Janus Weil  ja...@gcc.gnu.org

PR fortran/54189
* resolve.c (check_assumed_size_reference): Check for e-ref.


2013-05-30  Janus Weil  ja...@gcc.gnu.org

PR fortran/54189
* gfortran.dg/assumed_size_1.f90: New.

Added:
trunk/gcc/testsuite/gfortran.dg/assumed_size_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/57467] New: [4.9 Regression] FAIL: gfortran.dg/gomp/appendix-a/a.(22.1|22.6|33.1).f90 -O (internal compiler error)

2013-05-30 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57467

Bug ID: 57467
   Summary: [4.9 Regression] FAIL:
gfortran.dg/gomp/appendix-a/a.(22.1|22.6|33.1).f90  -O
 (internal compiler error)
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dominiq at lps dot ens.fr
CC: hubicka at gcc dot gnu.org
  Host: x86_64-apple-darwin10
Target: x86_64-apple-darwin10
 Build: x86_64-apple-darwin10

At revision 199422 (199419 is OK) the following tests give an ICE:

FAIL: gfortran.dg/gomp/appendix-a/a.22.1.f90  -O  (internal compiler error)
FAIL: gfortran.dg/gomp/appendix-a/a.22.1.f90  -O  (test for excess errors)
FAIL: gfortran.dg/gomp/appendix-a/a.22.6.f90  -O  (internal compiler error)
FAIL: gfortran.dg/gomp/appendix-a/a.22.6.f90  -O  (test for excess errors)
FAIL: gfortran.dg/gomp/appendix-a/a.33.1.f90  -O  (internal compiler error)
FAIL: gfortran.dg/gomp/appendix-a/a.33.1.f90  -O  (test for excess errors)

GDB gives:

Analyzing compilation unit
Performing interprocedural optimizations
 *free_lang_data visibility early_local_cleanups *free_inline_summary
emutls
Program received signal SIGSEGV, Segmentation fault.
free_dominance_info (dir=CDI_DOMINATORS) at ../../p_work/gcc/dominance.c:685
685  if (!dom_info_available_p (dir))
(gdb) bt
#0  free_dominance_info (dir=CDI_DOMINATORS) at
../../p_work/gcc/dominance.c:685
#1  0x0001005d536a in do_per_function (callback=value optimized out,
data=value optimized out) at ../../p_work/gcc/passes.c:1719
#2  0x0001005d6f17 in execute_one_pass (pass=value optimized out) at
../../p_work/gcc/passes.c:2338
#3  0x0001005d786f in execute_ipa_pass_list (pass=value optimized out) at
../../p_work/gcc/passes.c:2694
#4  0x000100358906 in compile () at ../../p_work/gcc/cgraphunit.c:1865
#5  0x0001003591a5 in finalize_compilation_unit () at
../../p_work/gcc/cgraphunit.c:2116
#6  0x00010056110d in write_global_declarations () at
../../p_work/gcc/langhooks.c:322
#7  0x0001006840e1 in compile_file () at ../../p_work/gcc/toplev.c:558
#8  0x000100685df9 in toplev_main (argc=3, argv=0x7fff5fbfd720) at
../../p_work/gcc/toplev.c:1872
#9  0x0001a5a4 in start (pc=value optimized out, bases=0x0) at
../../../p_work/libgcc/config/unwind-dw2-fde-darwin.c:272


[Bug c++/57464] c++11 create a std::function object with lambda expr

2013-05-30 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57464

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.7.0
Summary|c++11 crate a std::function |c++11 create a
   |object  with lambda expr|std::function object  with
   ||lambda expr

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
GCC 4.7 implements
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3687.html#2132 so it
rejects the program, because the inner lambda expression has void return type
so is not convertible to functionint()

Modifying it to not use std::function shows the bug is fixed already in GCC
4.7.0

templatetypename Sig
class function;

templatetypename R, typename... A
class function R(A...) 
{
struct interface
{
virtual ~interface() { }
virtual R invoke(A... a) = 0;
};

templatetypename F
struct impl : interface
{
impl(F f) : f(f) { }

F f;

virtual R invoke(A... a) { return f(a...); }
};

interface* i;

public:
templatetypename F
function(F f) : i(new implF(f)) { }

~function() { delete i; }

R operator()(A... a) const { return i-invoke(a...); }
};

int main()
{
  functionfunctionint()(int) rclouse =
  [](int i) { return [i](){return ++i;}; };

  functionint() seed3 = rclouse(3);
  __builtin_printf(%d\n, seed3());
}


[Bug rtl-optimization/57468] New: [4.9 Regression] 26% performance drop on important benchmark after r199298.

2013-05-30 Thread ysrumyan at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57468

Bug ID: 57468
   Summary: [4.9 Regression] 26% performance drop on important
benchmark after r199298.
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ysrumyan at gmail dot com

We found significant performance drop after changes in lra phase, which can be
demonstrated on example from 
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55342

I will attach test-case.
And we can see that redundant spill/reload was generated for inner loop that
leads to performance degradation:

.L4:
movl%esi, %edx
addl$4, %eax
subl%edx, %ebx
subl%edx, %ecx
movzbl(%esp), %edx
movb%cl, -3(%eax)
movl%esi, %ecx
movl%esi, (%esp)  -- redundant spill
movb%bl, -4(%eax)
movzbl(%esp), %ebx  -- redundant fill
subl%ecx, %edx
movb%dl, -2(%eax)
cmpl%ebp, 4(%esp)
movb%bl, -1(%eax)
je.L1


[Bug rtl-optimization/57468] [4.9 Regression] 26% performance drop on important benchmark after r199298.

2013-05-30 Thread ysrumyan at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57468

--- Comment #1 from Yuri Rumyantsev ysrumyan at gmail dot com ---
Created attachment 30224
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30224action=edit
test-case to reproduce

It should be compiled on x86 with -O2 -m32 options.


[Bug c++/57466] Argument deduction fails for 'const T*' when T is function type

2013-05-30 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57466

Daniel Krügler daniel.kruegler at googlemail dot com changed:

   What|Removed |Added

 CC||daniel.kruegler@googlemail.
   ||com

--- Comment #1 from Daniel Krügler daniel.kruegler at googlemail dot com ---
I think this observation was the reason why I filed:

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1584

Notice that albeit the current CWG issue status contains a P/R, there is
indication for being some contradiction to the assertions made in

www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#503

(I have posted this to the CWG committee recently)

[Bug fortran/57469] New: Erroneous warning for unused dummy arguments used in namelist

2013-05-30 Thread vladimir.fuka at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57469

Bug ID: 57469
   Summary: Erroneous warning for unused dummy arguments used in
namelist
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vladimir.fuka at gmail dot com

This code:

   subroutine read_command_line(line,a,b)
 character(*),intent(in) :: line
 intent(inout) :: a,b
 namelist /cmd/ a,b

 read(line,nml = cmd)
   end

produces this warning with gfortran-4.8 20130509:

gfortran warning.f90 -c -Wall
warning.f90:1.38:

   subroutine read_command_line(line,a,b)
  1
Warning: Unused dummy argument 'a' at (1)
warning.f90:1.40:

   subroutine read_command_line(line,a,b)
1
Warning: Unused dummy argument 'b' at (1)




For intent(out) it produces:

Warning: Dummy argument 'a' at (1) was declared INTENT(OUT) but was not set

But i understand it may be correct.


[Bug c++/57466] [DR 1584] Argument deduction fails for 'const T*' when T is function type

2013-05-30 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57466

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |SUSPENDED
   Last reconfirmed||2013-05-30
Summary|Argument deduction fails|[DR 1584] Argument
   |for 'const T*' when T is|deduction fails for 'const
   |function type   |T*' when T is function type
 Ever confirmed|0   |1

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Ah yes, thanks!


[Bug c++/57470] New: Wrong line number in diagnostic message

2013-05-30 Thread ai.azuma at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57470

Bug ID: 57470
   Summary: Wrong line number in diagnostic message
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ai.azuma at gmail dot com

Created attachment 30225
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30225action=edit
Output of -v option and preprocessed source with GCC 4.9.0 20130526

GCC 4.8.1 20130523 and 4.9.0 20130526 reject the following invalid code as
expected. However, the diagnostic message is not good.

//
templatetypename
struct Incomplete;

templatetypename T, T...
struct S
{
  static_assert(IncompleteT::value, );
};

Schar s;
//

For the above code, 4.9.0 20130526 says;

main.cpp: In instantiation of 'struct Schar':
main.cpp:10:9:   required from here
main.cpp:6:1: error: incomplete type 'Incompletechar' used in nested name
specifier
 {
 ^

GCC should point to line 7, not line 6. GCC 4.7.4 20130525 does not show a
caret but points to the wrong line number (line 6), too.


[Bug c++/57471] New: [C++11] Bizarre error for template parameter pack

2013-05-30 Thread ai.azuma at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57471

Bug ID: 57471
   Summary: [C++11] Bizarre error for template parameter pack
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ai.azuma at gmail dot com

Created attachment 30226
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30226action=edit
Output of -v option and preprocessed source

GCC 4.9.0 20130526 rejects the following valid code.

//-
struct A
{
  static constexpr bool value = true;
};

templatetypename... Types
struct B
{
  static_assert(A::value, );
  static_assert(sizeof...(Types) == 0, );
};
//-

The error message is;

main.cpp:10:27: error: 'A::Types' has not been declared
   static_assert(sizeof...(Types) == 0, );
   ^

The above code successfully compiles with 4.7.4 20130525 and 4.8.1 20130523.


[Bug fortran/57469] Erroneous warning for unused dummy arguments used in namelist

2013-05-30 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57469

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org ---
Related to PR 43899 and PR 55352 - but this time for arguments.


[Bug fortran/57469] Erroneous warning for unused dummy arguments used in namelist

2013-05-30 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57469

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||diagnostic

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org ---
Untested draft patch:

--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -4670,3 +4671,3 @@ generate_local_decl (gfc_symbol * sym)
   /* Warnings for unused dummy arguments.  */
-  else if (sym-attr.dummy)
+  else if (sym-attr.dummy  !sym-attr.in_namelist)
{


[Bug c++/57470] Wrong line number in diagnostic message

2013-05-30 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57470

Manuel López-Ibáñez manu at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-30
 CC||manu at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug c++/57454] scrnsaver bug

2013-05-30 Thread dima.sergeevich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57454

--- Comment #8 from Dmitry dima.sergeevich at gmail dot com ---
Yes, you was right. Completely right.


[Bug c++/57472] New: [4.8] internal compiler error: in finish_member_declaration, at cp/semantics.c

2013-05-30 Thread tim at klingt dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57472

Bug ID: 57472
   Summary: [4.8] internal compiler error: in
finish_member_declaration, at cp/semantics.c
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tim at klingt dot org

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

i get an ice, when cross-compiling attached code for arm.

gcc version:

Using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-g++-4.8
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.8.0-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
--enable-languages=c,c++,go,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/arm-linux-gnueabihf/include/c++/4.8.0
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object
--disable-libitm --enable-plugin --with-system-zlib --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-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=arm-linux-gnueabihf
--program-prefix=arm-linux-gnueabihf-
--includedir=/usr/arm-linux-gnueabihf/include
Thread model: posix
gcc version 4.8.0 (Ubuntu/Linaro 4.8.0-2ubuntu1) 

/home/tim/workspace/simd-benchmark/../nt2b/modules/boost/boostification/boost/dispatch/meta/as_ref.hpp:64:3:
internal compiler error: in finish_member_declaration, at cp/semantics.c:2671


[Bug regression/57473] New: FAIL: gcc.dg/tls/emutls-2.c (internal compiler error)

2013-05-30 Thread ktkachov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57473

Bug ID: 57473
   Summary: FAIL: gcc.dg/tls/emutls-2.c (internal compiler error)
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: regression
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ktkachov at gcc dot gnu.org
CC: jh at suse dot cz
Target: arm-none-eabi

With r199422 gcc.dg/tls/emutls-2.c started ICEing with:

$SOURCE/gcc/testsuite/gcc.dg/tls/emutls-2.c: In function
'_GLOBAL__sub_I_65535_0_emutls_2.c':
$SOURCE/gcc/testsuite/gcc.dg/tls/emutls-2.c:8:1: internal compiler error:
Segmentation fault
0x916255 crash_signal
   $SOURCE/gcc/toplev.c:333
0x6575b6 dom_info_available_p(cdi_direction)
$SOURCE/gcc/dominance.c:1482
0x657fd3 free_dominance_info(cdi_direction)
$SOURCE/gcc/dominance.c:685
0x86d429 do_per_function
$SOURCE/gcc/passes.c:1719
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.
compiler exited with status 1

on arm-none-eabi.

Cross compiler configured with:
--with-fpu=neon-vfpv4 --with-float=hard --with-arch=armv7-a


[Bug middle-end/57073] __builtin_powif (-1.0, k) should be optimized to 1.0 - 2.0 * (K%2)

2013-05-30 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57073

--- Comment #11 from Thomas Koenig tkoenig at gcc dot gnu.org ---
Created attachment 30228
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30228action=edit
Yet another patch that doesn't work

This one fails with

 program main
 ^
_24 = i_1  1;
power_6.f90:4:0: internal compiler error: verify_gimple failed
0x98ca4c verify_gimple_in_cfg(function*)
../../trunk/gcc/tree-cfg.c:4792
0x8c4d87 execute_function_todo
../../trunk/gcc/passes.c:1969
0x8c56e7 execute_todo
../../trunk/gcc/passes.c:2002

We have a few alternatives now:

1. This doesn't get fixed at all
2. This doesn't get fixed by me
3. This gets fixed in the Fortran front end
4. Somebody points out where my patch is going wrong, and helps me
   understant a bit more of the basics of GIMPLE.


[Bug regression/57473] FAIL: gcc.dg/tls/emutls-2.c (internal compiler error)

2013-05-30 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57473

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
It looks similar to pr57467.


[Bug sanitizer/55517] [ASAN] ASAN doesn't work with (soft) ulimit on virtual memory

2013-05-30 Thread anlauf at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55517

Harald Anlauf anlauf at gmx dot de changed:

   What|Removed |Added

 CC||anlauf at gmx dot de

--- Comment #8 from Harald Anlauf anlauf at gmx dot de ---
(In reply to Kostya Serebryany from comment #7)
 BTW, the messages are actually quite nice: 
 
 ==22487== ERROR: Failed to allocate 0x2001000 (2199023259648) bytes at
 address 0x0000 (12)
 ==22487== ReserveShadowMemoryRange failed while trying to map 0x2001000
 bytes. Perhaps you're using ulimit -v

I'd like to try ASAN on a system where the sysadmins enforce
a hard limit.  Is this possible?

I've set the soft limit to the same value as the hard limit,
but keep getting similar errors.


[Bug regression/57473] FAIL: gcc.dg/tls/emutls-2.c (internal compiler error)

2013-05-30 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57473

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

   What|Removed |Added

 Target|arm-none-eabi   |arm-none-eabi
   ||x86_64-apple-darwin10

--- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Fails also on x86_64-apple-darwin10.


[Bug middle-end/57467] [4.9 Regression] FAIL: gfortran.dg/gomp/appendix-a/a.(22.1|22.6|33.1).f90 -O (internal compiler error)

2013-05-30 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57467

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
gcc.dg/gomp/pr57412.c fails the same way.


[Bug c/57474] New: FAIL: c-c++-common/cilk-plus/AN/sec_implicit2?.c -fcilkplus (internal compiler error) on x86_64-apple-darwin10

2013-05-30 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57474

Bug ID: 57474
   Summary: FAIL: c-c++-common/cilk-plus/AN/sec_implicit2?.c
-fcilkplus (internal compiler error) on
x86_64-apple-darwin10
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dominiq at lps dot ens.fr
CC: bviyer at gcc dot gnu.org
  Host: x86_64-apple-darwin10
Target: x86_64-apple-darwin10
 Build: x86_64-apple-darwin10

On x86_64-apple-darwin10, I see the following failures:

FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -fcilkplus (internal compiler
error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -fcilkplus  (test for errors,
line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -fcilkplus (test for excess
errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -fcilkplus (internal compiler
error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -fcilkplus  (test for errors,
line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -fcilkplus (test for excess
errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O0 -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O0 -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O0 -fcilkplus (test for excess
errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O0 -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O0 -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O0 -fcilkplus (test for
excess errors)
FAIL: c-c++-common/cilk-plus/AN/if_test.c  -O1 -fcilkplus execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O1 -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O1 -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O1 -fcilkplus (test for excess
errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O1 -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O1 -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O1 -fcilkplus (test for
excess errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O2 -ftree-vectorize -fcilkplus
(internal compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O2 -ftree-vectorize -fcilkplus
 (test for errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O2 -ftree-vectorize -fcilkplus
(test for excess errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O2 -ftree-vectorize
-fcilkplus (internal compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O2 -ftree-vectorize
-fcilkplus  (test for errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O2 -ftree-vectorize
-fcilkplus (test for excess errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O3 -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O3 -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -O3 -fcilkplus (test for excess
errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O3 -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O3 -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -O3 -fcilkplus (test for
excess errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -g -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -g -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -g -fcilkplus (test for excess
errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -g -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -g -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -g -fcilkplus (test for excess
errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -g -O0 -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -g -O0 -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -g -O0 -fcilkplus (test for
excess errors)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -g -O0 -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -g -O0 -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit2.c  -g -O0 -fcilkplus (test for
excess errors)
FAIL: c-c++-common/cilk-plus/AN/if_test.c  -g -O1 -fcilkplus execution test
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -g -O1 -fcilkplus (internal
compiler error)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -g -O1 -fcilkplus  (test for
errors, line 23)
FAIL: c-c++-common/cilk-plus/AN/sec_implicit.c  -g -O1 -fcilkplus (test 

[Bug c/57475] New: incompatible pointer type message is not helpful enough

2013-05-30 Thread ebb9 at byu dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57475

Bug ID: 57475
   Summary: incompatible pointer type message is not helpful
enough
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ebb9 at byu dot net

gcc 4.5.3 (as shipped on cygwin) gave a rather unhelpful message for a root
cause bug in cygwin's sys/un.h:
http://cygwin.com/ml/cygwin/2013-05/msg00451.html

$ cat foo.c
#ifdef WORKAROUND
# include sys/socket.h
#endif
#include sys/un.h
#include sys/socket.h
int main(void) {
  const struct msghdr msg;
  return sendmsg(0, msg, 0);
}
$ gcc -o foo -Wall foo.c
foo.c: In function 'main':
foo.c:9:5: warning: passing argument 2 of 'sendmsg' from incompatible
pointer type
/usr/include/sys/socket.h:42:11: note: expected 'const struct msghdr *'
but argument is of type 'const struct msghdr *'
$ gcc -o foo -Wall foo.c -DWORKAROUND
$

Huh?  How can 'const struct msghdr *' not be compatible with itself?  [It took
me a while to finally understand: the bug in cygwin's sys/un.h causes the
declaration of sendmsg() to declare a local 'struct msghdr' rather than using
the global type]

I checked other bugs that mention this message, but none of them apply (bug
37866, 14188, 30949).

I've further reduced it down to this two-file example, as tested with gcc
4.7.2:

$ cat foo.h
#ifdef SILENT
# pragma GCC system_header
#endif
extern int bar(struct foo *);
struct foo { int i; };
$ cat foo.c
#include foo.h
int main(void) {
  struct foo f;
  return bar(f);
}
$ gcc -c -o foo.o -Wall foo.c -DSILENT
foo.c: In function ‘main’:
foo.c:4:3: warning: passing argument 1 of ‘bar’ from incompatible pointer type
[enabled by default]
In file included from foo.c:1:0:
foo.h:4:12: note: expected ‘struct foo *’ but argument is of type ‘struct foo
*’

which mirrors the fact that Cygwin's sys/un.h is compiled as a system header,
and therefore misses the more obvious real root cause:

$ gcc -c -o foo.o -Wall foo.c
In file included from foo.c:1:0:
foo.h:4:23: warning: ‘struct foo’ declared inside parameter list [enabled by
default]
foo.h:4:23: warning: its scope is only this definition or declaration, which is
probably not what you want [enabled by default]
foo.c: In function ‘main’:
foo.c:4:3: warning: passing argument 1 of ‘bar’ from incompatible pointer type
[enabled by default]
In file included from foo.c:1:0:
foo.h:4:12: note: expected ‘struct foo *’ but argument is of type ‘struct foo
*’

I think it would be useful if the incompatible pointer type error message would
ALSO call out a note on where the two types are first declared (if they are not
built-in types), so that cases like mine, where the earlier error message about
a parameter-list-local declaration was squelched is not quite so confusing.

[Bug other/57476] New: Building gcc-4.7.3: build not passing mpc library location

2013-05-30 Thread cmhoward2 at alaska dot edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57476

Bug ID: 57476
   Summary: Building gcc-4.7.3: build not passing mpc library
location
   Product: gcc
   Version: 4.7.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: cmhoward2 at alaska dot edu

Created attachment 30229
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30229action=edit
configure log

Hello. When attempting to do a local (non-root) build of gcc-4.7.3, where
libmpc is located in a non-standard location (but one that is in LDFLAGS and
LD_LIBRARY_PATH environment variables), the build process fails to pass this
down to everything that needs it when building in the

 host-x86_64-unknown-linux-gnu/gcc/

directory. Eventually the build fails with an error saying that linker cannot
find -lmpc. I configure with

./configure --prefix=/center/w/cmhoward2/theta/local
--with-mpc-lib=/center/w/cmhoward2/theta/local/lib

I was eventually able to fix the build by editing file

 host-x86_64-unknown-linux-gnu/gcc/Makefile

Replacing

 GMPLIBS = -lmpc -lmpfr -lgmp

with

 GMPLIBS = -L/center/w/cmhoward2/theta/local/lib -lmpc -lmpfr -lgmp

But I have no idea how Makefile.in or the configure system would need to be
changed to properly fix the problem.

I have not tested with 4.8.0 because I am not wanting to use that version.
However, shortly I will do a clean build to reproduce an example of the exact
error, and update this ticket.


[Bug c++/52377] C++11 non-static initializers in unions are not used

2013-05-30 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52377

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to work||4.9.0
 Resolution|--- |FIXED
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org
   Target Milestone|--- |4.9.0

--- Comment #3 from Jason Merrill jason at gcc dot gnu.org ---
Fixed for 4.9.


[Bug c++/57404] [4.9 Regression] [C++11] ICE: SIGSEGV in cp_classify_record with -g

2013-05-30 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57404

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org ---
Fixed.


[Bug c++/57391] [4.9 Regression] ICE compiling AIX math.h caused by PR c++/56930

2013-05-30 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57391

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Jason Merrill jason at gcc dot gnu.org ---
Closing.


[Bug c++/56930] [4.8 regression] pointless -Wconversion warning with sizeof

2013-05-30 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56930

Bug 56930 depends on bug 57391, which changed state.

Bug 57391 Summary: [4.9 Regression] ICE compiling AIX math.h caused by PR 
c++/56930
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57391

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |FIXED


[Bug c++/57463] Internal compiler error: Error reporting routines re-entered.

2013-05-30 Thread cebrusfs at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57463

--- Comment #3 from MengHuan Yu cebrusfs at gmail dot com ---
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc47/4.7.3/gcc/libexec/gcc/x86_64-apple-darwin11.4.2/4.7.3/lto-wrapper
Target: x86_64-apple-darwin11.4.2
Configured with: ../configure --build=x86_64-apple-darwin11.4.2
--prefix=/usr/local/Cellar/gcc47/4.7.3/gcc
--datarootdir=/usr/local/Cellar/gcc47/4.7.3/share
--bindir=/usr/local/Cellar/gcc47/4.7.3/bin
--enable-languages=c,c++,fortran,java,objc,obj-c++ --program-suffix=-4.7
--with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr
--with-mpc=/usr/local/opt/libmpc --with-system-zlib --enable-stage1-checking
--enable-plugin --enable-lto --disable-werror --disable-nls
--with-ecj-jar=/usr/local/opt/ecj/share/java/ecj.jar --disable-multilib
Thread model: posix
gcc version 4.7.3 (GCC)


[Bug target/57477] New: gcc generates suboptimal code for a simple and-shift-zeroextend combination on x86_64

2013-05-30 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57477

Bug ID: 57477
   Summary: gcc generates suboptimal code for a simple
and-shift-zeroextend combination on x86_64
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mikpe at it dot uu.se

Consider the following set of trivial functions:

 cat q.c
unsigned int g(unsigned int x) { return x  0x1f; }
unsigned long f(unsigned int x) { return x  4; }
unsigned long h(unsigned int x) { return (x  0x1f)  4; }

h(x) == f(g(x)).

The code generated for f and g is good (not much choice there), but the code
for h contains some (suboptimal) surprises:

 gcc -O3 -c q.c ; objdump -d q.o

q.o: file format elf64-x86-64


Disassembly of section .text:

 g:
   0:   89 f8   mov%edi,%eax
   2:   83 e0 1fand$0x1f,%eax
   5:   c3  retq   
   6:   66 2e 0f 1f 84 00 00nopw   %cs:0x0(%rax,%rax,1)
   d:   00 00 00 

0010 f:
  10:   c1 e7 04shl$0x4,%edi
  13:   89 f8   mov%edi,%eax
  15:   c3  retq   
  16:   66 2e 0f 1f 84 00 00nopw   %cs:0x0(%rax,%rax,1)
  1d:   00 00 00 

0020 h:
  20:   48 89 f8mov%rdi,%rax
  23:   48 c1 e0 04 shl$0x4,%rax
  27:   25 f0 01 00 00  and$0x1f0,%eax
  2c:   c3  retq   

1. In h gcc exchanged the order of the '' and the '', forcing it to use a
larger 4-byte immediate where g could use a 1-byte immediate, resulting in a
2-byte larger instruction encoding.

2. In h the '' is done in 64-bit precision, even though the input clearly is
32-bit ('unsigned int'), and the result clearly also is 32-bit (notice the
absence of a REX.W on the 'and'), resulting in 1-byte larger instruction
encoding.

3. In h the move from rdi to rax is unavoidable (due to the ABI), but it too is
redundantly done in 64-bit precision where 32-bit precision would have
sufficed, resulting in a 1-byte larger instruction encoding.

In short, h compiles to 13 bytes but could have compiled to 9 bytes.

This is with gcc 4.9, but 4.8 and 4.7 generate identical code.


[Bug c++/57415] [4.9 Regression] New PPC testsuite failure C++ compound literarl expr unimplemented

2013-05-30 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57415

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |WAITING
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org ---
Created attachment 30230
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30230action=edit
patch

Could you test this?


[Bug c/57478] New: ice in vec.h:815

2013-05-30 Thread dcb314 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57478

Bug ID: 57478
   Summary: ice in vec.h:815
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dcb314 at hotmail dot com

The attached source code causes the following crash
on gcc-4.9 trunk dated 20130530 on an AMD x86_64 box
when compiled with -O3.

[dcb@localhost foundBugs]$ ../results/bin/gcc -c -O2 !$
../results/bin/gcc -c -O2 bug107.c
[dcb@localhost foundBugs]$ ../results/bin/gcc -c -O3 bug108.c
SolveSubproblem.c: In function ‘SolveSubproblem’:
SolveSubproblem.c:18:1: internal compiler error: in operator[], at vec.h:815
0x4da286 vecvoid*, va_heap, vl_embed::operator[](unsigned int)
../../src/trunk/gcc/vec.h:815
0x4da286 vecvoid*, va_heap, vl_ptr::operator[](unsigned int)
../../src/trunk/gcc/vec.h:1244
0xad5481 vecvoid*, va_heap, vl_ptr::operator[](unsigned int)
../../src/trunk/gcc/gimple.h:1849
0xad5481 vinfo_for_stmt
../../src/trunk/gcc/tree-vectorizer.h:654
0xad5481 vect_bb_slp_scalar_cost
../../src/trunk/gcc/tree-vect-slp.c:1936
0xad529a vect_bb_slp_scalar_cost
../../src/trunk/gcc/tree-vect-slp.c:1960
0xad5ab9 vect_bb_vectorization_profitable_p
../../src/trunk/gcc/tree-vect-slp.c:2001
0xadad5c vect_slp_analyze_bb_1
../../src/trunk/gcc/tree-vect-slp.c:2146
0xadad5c vect_slp_analyze_bb(basic_block_def*)
../../src/trunk/gcc/tree-vect-slp.c:2201
0xadc841 execute_vect_slp
../../src/trunk/gcc/tree-vectorizer.c:178
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.

The same code seemed to work on gcc from 27 May 2013.

[Bug c/57478] ice in vec.h:815

2013-05-30 Thread dcb314 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57478

--- Comment #1 from David Binderman dcb314 at hotmail dot com ---
Created attachment 30231
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30231action=edit
C source code


[Bug c++/54812] [C++11] Delete expression doesn't respect access of defaulted destructor

2013-05-30 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54812

--- Comment #7 from Jason Merrill jason at gcc dot gnu.org ---
Various places in the compiler need to be updated to not assume that trivial
implies callable.


[Bug regression/57473] FAIL: gcc.dg/tls/emutls-2.c (internal compiler error)

2013-05-30 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57473

Hans-Peter Nilsson hp at gcc dot gnu.org changed:

   What|Removed |Added

 Target|arm-none-eabi   |arm-none-eabi
   |x86_64-apple-darwin10   |x86_64-apple-darwin10
   ||cris-elf
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-30
 CC||hp at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #3 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
Confirming; cris-elf too (r199421:199433], being an emutls target.


[Bug middle-end/57073] __builtin_powif (-1.0, k) should be optimized to 1.0 - 2.0 * (K%2)

2013-05-30 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57073

--- Comment #12 from Tobias Burnus burnus at gcc dot gnu.org ---
Author: burnus
Date: Thu May 30 21:32:53 2013
New Revision: 199461

URL: http://gcc.gnu.org/viewcvs?rev=199461root=gccview=rev
Log:
2013-05-30  Tobias Burnus  bur...@net-b.de
Thomas Koenig  tkoe...@gcc.gnu.org

PR middle-end/57073
* tree-ssa-math-opts.c (execute_cse_sincos): Optimize
powi (-1.0, k) to (k  1) ? -1.0 : 1.0.

2013-05-30  Tobias Burnus  bur...@net-b.de

PR middle-end/57073
* gfortran.dg/power_6.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/power_6.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-math-opts.c


[Bug middle-end/57073] __builtin_powif (-1.0, k) should be optimized to 1.0 - 2.0 * (K%2)

2013-05-30 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57073

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #13 from Tobias Burnus burnus at gcc dot gnu.org ---
FIXED on the trunk (for 4.9).

Thanks, Thomas and Jakub, for the help and the suggestions.


[Bug other/57476] Building gcc-4.7.3: build not passing mpc library location

2013-05-30 Thread cmhoward2 at alaska dot edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57476

Christopher cmhoward2 at alaska dot edu changed:

   What|Removed |Added

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

--- Comment #1 from Christopher cmhoward2 at alaska dot edu ---
I did a clean build and could not duplicate the problem. Sorry if I bothered
anyone.


[Bug rtl-optimization/57479] New: [ARM][NEON] internal compiler error: Segmentation fault in add_dependence_list

2013-05-30 Thread bccheng at android dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57479

Bug ID: 57479
   Summary: [ARM][NEON] internal compiler error: Segmentation
fault in add_dependence_list
   Product: gcc
   Version: 4.7.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: bccheng at android dot com

I hit an ICE with GCC 4.7.2 and 4.7.3 on a function with lots of ARM NEON code.
The reduced input file is attached (I cannot seem to further reduce it) and
here are the cmdline options I used:

-march=armv7-a -mfloat-abi=softfp -mfpu=neon -mthumb-interwork -g
-frename-registers -O2 -c test.c

Here is the stack trace in gdb when the segfault happens:

Program received signal SIGSEGV, Segmentation fault.
0x00f3cbf2 in add_dependence_list (insn=0x770317e0, list=0x521, 
uncond=1, dep_type=REG_DEP_ANTI)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:1555
1555add_dependence (insn, XEXP (list, 0), dep_type);
(gdb) bt
#0  0x00f3cbf2 in add_dependence_list (insn=0x770317e0, 
list=0x521, uncond=1, dep_type=REG_DEP_ANTI)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:1555
#1  0x00f3fb5c in sched_analyze_insn (deps=0x7fffca30, 
x=0x77030780, insn=0x770317e0)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:2982
#2  0x00f4198d in deps_analyze_insn (deps=0x7fffca30, 
insn=0x770317e0)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:3505
#3  0x00f41e67 in sched_analyze (deps=0x7fffca30, 
head=0x7702a0d8, tail=0x77032320)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:3653
#4  0x009c2155 in compute_block_dependences (bb=0)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-rgn.c:2702
#5  0x009c35ae in sched_rgn_compute_dependencies (rgn=3)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-rgn.c:3140
#6  0x009c2d2a in schedule_region (rgn=3)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-rgn.c:2915
#7  0x009c3d0b in schedule_insns ()
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-rgn.c:3299
#8  0x009c4613 in rest_of_handle_sched2 ()
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-rgn.c:3523
#9  0x00942511 in execute_one_pass (pass=0x1a85ae0 pass_sched2)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/passes.c:2084
#10 0x009426ea in execute_pass_list (pass=0x1a85ae0 pass_sched2)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/passes.c:2139
#11 0x0094270b in execute_pass_list (pass=0x1a84ec0 pass_postreload)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/passes.c:2140
#12 0x0094270b in execute_pass_list (
pass=0x1a84e60 pass_rest_of_compilation)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/passes.c:2140
#13 0x00a7c36c in tree_rest_of_compilation (fndecl=0x7729dd00)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/tree-optimize.c:422
#14 0x007372fa in cgraph_expand_function (node=0x772a3240)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/cgraphunit.c:1837
#15 0x007374c5 in cgraph_expand_all_functions ()
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/cgraphunit.c:1904
#16 0x00737dd1 in cgraph_optimize ()
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/cgraphunit.c:2218
#17 0x007360e9 in cgraph_finalize_compilation_unit ()
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/cgraphunit.c:1344
#18 0x0063364b in c_write_global_declarations ()
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/c-decl.c:10032
#19 0x00a121a4 in compile_file ()
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/toplev.c:573
#20 0x00a141ab in do_compile ()
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/toplev.c:1938
#21 0x00a1431b in toplev_main (argc=26, argv=0x7fffcec8)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/toplev.c:2014
#22 0x006c0308 in main (argc=26, argv=0x7fffcec8)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/main.c:36
(gdb) f 0
#0  0x00f3cbf2 in add_dependence_list (insn=0x770317e0, 
list=0x521, uncond=1, dep_type=REG_DEP_ANTI)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:1555
1555add_dependence (insn, XEXP (list, 0), dep_type);
(gdb) up
#1  0x00f3fb5c in sched_analyze_insn (deps=0x7fffca30, 
x=0x77030780, insn=0x770317e0)
at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:2982
2982  add_dependence_list (insn, reg_last-sets, 1, REG_DEP_ANTI);
(gdb) p reg_last-sets
$1 = (rtx) 0x521


Looks like reg_last-sets carries some garbage values. I also tried GCC 4.8.0
and it doesn't have the crash. However the code looks very different around

[Bug rtl-optimization/57479] [ARM][NEON] internal compiler error: Segmentation fault in add_dependence_list

2013-05-30 Thread bccheng at android dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57479

--- Comment #1 from bccheng at android dot com ---
Created attachment 30232
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30232action=edit
reduced test input