[Bug ipa/61998] [5 Regression] ICE: Segmentation fault with -Wsuggest-final-types

2014-08-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61998

--- Comment #5 from Markus Trippelsdorf  ---
(In reply to Jan Hubicka from comment #4)
> I suppose VECtors do not like to grow to 0 size.  THe following patch fixes
> the ICE, does it also fixe you real testcases?
> Index: ipa-devirt.c
> ===
> --- ipa-devirt.c(revision 214303)
> +++ ipa-devirt.c(working copy)
> @@ -3822,6 +3845,9 @@ ipa_devirt (void)
>int nmultiple = 0, noverwritable = 0, ndevirtualized = 0, nnotdefined = 0;
>int nwrong = 0, nok = 0, nexternal = 0, nartificial = 0;
>  
> +  if (!odr_types.length ())
> +return 0;
> +
>/* We can output -Wsuggest-final-methods and -Wsuggest-final-types
> warnings.
>   This is implemented by setting up final_warning_records that are
> updated
>   by get_polymorphic_call_targets.

That patch would crash the minimal and empty testcase even without
-Wsuggest-final-types.

You probably mean:

diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 2e74ca61c508..acfd5d2fdede 100644
--- a/gcc/ipa-devirt.c
+++ b/gcc/ipa-devirt.c
@@ -3822,6 +3822,9 @@ ipa_devirt (void)
   int nmultiple = 0, noverwritable = 0, ndevirtualized = 0, nnotdefined = 0;
   int nwrong = 0, nok = 0, nexternal = 0, nartificial = 0;

+  if (!odr_types_ptr)
+return 0;
+
   /* We can output -Wsuggest-final-methods and -Wsuggest-final-types warnings.
  This is implemented by setting up final_warning_records that are updated
  by get_polymorphic_call_targets.


[Bug ada/62236] New: : error: aggregate value used where an integer was expected

2014-08-22 Thread porton at narod dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62236

Bug ID: 62236
   Summary: : error: aggregate value used where an
integer was expected
   Product: gcc
   Version: 4.9.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: ada
  Assignee: unassigned at gcc dot gnu.org
  Reporter: porton at narod dot ru

Created attachment 33382
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33382&action=edit
A program which doesn't compile

The below program (its copy is also attached) does not compile. We suspect a
compiler bug.

$ gnatgcc -v
Using built-in specs.
COLLECT_GCC=gnatgcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-linux-gnu/4.9/lto-wrapper
Target: i586-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.1-4'
--with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.9 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify
--enable-plugin --with-system-zlib --disable-browser-plugin
--enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-i386
--with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-checking=release --build=i586-linux-gnu --host=i586-linux-gnu
--target=i586-linux-gnu
Thread model: posix
gcc version 4.9.1 (Debian 4.9.1-4)

$ gnatgcc -c -g -O2 -gnat2012 -g -O0 -gnato -fstack-check -gnatVa
special_test.adb
: In function ‘Special_Test’:
: error: aggregate value used where an integer was expected

with Ada.Iterator_Interfaces;

procedure Special_Test is

   type My_Description_Cursor is null record;

   function Has_Element (Position: My_Description_Cursor) return Boolean is
(False);

   package My_Description_Iterators is new
Ada.Iterator_Interfaces(My_Description_Cursor, Has_Element);

   type My_Description_Iterator is new
My_Description_Iterators.Forward_Iterator with null record;

   overriding function First (Object: My_Description_Iterator) return
My_Description_Cursor is (null record);
   overriding function Next (Object: My_Description_Iterator; Position:
My_Description_Cursor) return My_Description_Cursor is (null record);

   My_Iterator: My_Description_Iterator;

begin
   for C in My_Iterator loop
  null;
   end loop;
end;

[Bug fortran/62125] Nested select type not accepted (rejects valid)

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

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #4 from Dominique d'Humieres  ---
> FWIW, I have tried NAG, PGI, XLF and Cray.  All of them accept the code.

So marked as NEW.


[Bug ipa/61998] [5 Regression] ICE: Segmentation fault with -Wsuggest-final-types

2014-08-22 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61998

--- Comment #4 from Jan Hubicka  ---
I suppose VECtors do not like to grow to 0 size.  THe following patch fixes the
ICE, does it also fixe you real testcases?
Index: ipa-devirt.c
===
--- ipa-devirt.c(revision 214303)
+++ ipa-devirt.c(working copy)
@@ -3822,6 +3845,9 @@ ipa_devirt (void)
   int nmultiple = 0, noverwritable = 0, ndevirtualized = 0, nnotdefined = 0;
   int nwrong = 0, nok = 0, nexternal = 0, nartificial = 0;

+  if (!odr_types.length ())
+return 0;
+
   /* We can output -Wsuggest-final-methods and -Wsuggest-final-types warnings.
  This is implemented by setting up final_warning_records that are updated
  by get_polymorphic_call_targets.


[Bug fortran/62125] Nested select type not accepted (rejects valid)

2014-08-22 Thread anlauf at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62125

Harald Anlauf  changed:

   What|Removed |Added

 CC||anlauf at gmx dot de

--- Comment #3 from Harald Anlauf  ---
(In reply to mrestelli from comment #2)
> I can not say 100% that the code is correct, but at least reading 8.6
> "The SELECT TYPE Construct" of "The Fortran 2003 Handbook" I don't see
> why it shouldn't.

FWIW, I have tried NAG, PGI, XLF and Cray.  All of them accept the code.


[Bug ipa/61998] [5 Regression] ICE: Segmentation fault with -Wsuggest-final-types

2014-08-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61998

--- Comment #3 from Markus Trippelsdorf  ---
(In reply to Jan Hubicka from comment #2)
> Markus, can you add attachment?

Well, an empty testcase is enough. Or:

 % echo "int main () {}" | g++ -Wsuggest-final-types -O2 -x c++ -


[Bug ipa/61998] [5 Regression] ICE: Segmentation fault with -Wsuggest-final-types

2014-08-22 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61998

--- Comment #2 from Jan Hubicka  ---
Markus, can you add attachment?

LTO doesn't really know what C++ language flags was used.  I guess because the
flags are not on by default, prople will use it only if they actually want to
use finals...

Docs already mentions it is C++11...


[Bug middle-end/61913] ICE in common_handle_option with -Wodr

2014-08-22 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61913

--- Comment #14 from Jan Hubicka  ---
The testcase still seems to work for me (with and without linker plugin).

Without linker plugin collect2 will not execute LTO unless it can resolve
symbols. You need to link with g++ (and have runtime or path) or use -r
-nostdlib. Otherwise it fails with:

/tmp/ccHKdyQQ.o:(.rodata._ZTI1A[_ZTI1A]+0x0): undefined reference to `vtable
for __cxxabiv1::__class_type_info'

and warnings are not output.


[Bug target/61956] problem linking cilk on RHEL4

2014-08-22 Thread tortoise_74 at yahoo dot co.uk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61956

--- Comment #2 from Bruce Adams  ---
I have tried using a newer binutils (2.24) either installed before attempting
to build gcc or in a combined tree build.

The combined tree build complains that binutils/bfd is already configured when
I run make bootstrap.

mkdir -p -- ./bfd
Configuring in ./bfd
configure: creating cache ./config.cache
[snip]
checking for style of include used by make... GNU
configure: error: source directory already configured; run "make distclean"
there first
make[4]: *** [configure-bfd] Error 1
make[4]: Leaving directory `/development/brucea/gcc/build/binutils'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/development/brucea/gcc/build/binutils'
make[2]: *** [all-stage1-binutils] Error 2
make[2]: Leaving directory `/development/brucea/gcc/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/development/brucea/gcc/build'
make: *** [bootstrap] Error 2

However, running configure using --disable-libcilkrts (in addition to the
already required   --disable-libsanitiser ) which is not documented results in
a useable gcc 4.9.1 (with c++ working but presumably cilk++ broken).


[Bug sanitizer/61955] libsanitizer fails to compile on RHEL4

2014-08-22 Thread tortoise_74 at yahoo dot co.uk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61955

--- Comment #3 from Bruce Adams  ---
Running configure using --disable-libcilkrts (in addition to
--disable-libsanitiser) which is not documented results in a useable gcc 4.9.1
(with c++ working but presumably cilk++ broken).


[Bug sanitizer/61955] libsanitizer fails to compile on RHEL4

2014-08-22 Thread tortoise_74 at yahoo dot co.uk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61955

--- Comment #2 from Bruce Adams  ---
Running configure using --disable-libcilkrts (in addition to
--disable-libsanitiser) which is not documented results in a useable gcc 4.9.1
(with c++ working but presumably cilk++ broken).


[Bug target/62233] unnecessary shift instructions to prepare loop counter

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

--- Comment #1 from Andrew Pinski  ---
This again is related to bug 37451.


[Bug fortran/60550] [OOP] ICE on factory design pattern

2014-08-22 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60550

Thomas Koenig  changed:

   What|Removed |Added

 CC||tkoenig at gcc dot gnu.org

--- Comment #2 from Thomas Koenig  ---
This works with current trunk.

Resolve as FIXED and put the test case into the testsuite?


[Bug c++/62150] [5.0 regression] test case g++.dg/ext/arm-fp16/fp16-mangle-1.C failed on ARM

2014-08-22 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62150

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #3 from Jason Merrill  ---
Fixed by r214177.


[Bug c++/62199] ICE with -Wlogical-not-parentheses

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

Marek Polacek  changed:

   What|Removed |Added

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

--- Comment #4 from Marek Polacek  ---
Fixed.


[Bug c++/62199] ICE with -Wlogical-not-parentheses

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

--- Comment #3 from Marek Polacek  ---
Author: mpolacek
Date: Fri Aug 22 19:44:27 2014
New Revision: 214360

URL: https://gcc.gnu.org/viewcvs?rev=214360&root=gcc&view=rev
Log:
PR c++/62199
* doc/invoke.texi: Update -Wlogical-not-parentheses description.
c-family/
* c-common.c (warn_logical_not_parentheses): Don't check LHS.  Don't
check for vector types.  Drop LHS argument.
* c-common.h (warn_logical_not_parentheses): Adjust.
c/
* c-typeck.c (parser_build_binary_op): Adjust call to
warn_logical_not_parentheses.
cp/
* parser.c (cp_parser_binary_expression): Check each LHS if it's
preceded with logical not.  Adjust call to
warn_logical_not_parentheses.
testsuite/
* c-c++-common/pr62199.c: New test.
* c-c++-common/pr62199-2.c: New test.
* g++.dg/warn/Wparentheses-25.C: Drop XFAILs.

Added:
trunk/gcc/testsuite/c-c++-common/pr62199-2.c
trunk/gcc/testsuite/c-c++-common/pr62199.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-common.c
trunk/gcc/c-family/c-common.h
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-typeck.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/doc/invoke.texi
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/warn/Wparentheses-25.C


[Bug c/61271] 10 * possible coding error with logical not (!)

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

--- Comment #13 from Marek Polacek  ---
Author: mpolacek
Date: Fri Aug 22 19:40:28 2014
New Revision: 214359

URL: https://gcc.gnu.org/viewcvs?rev=214359&root=gcc&view=rev
Log:
PR c/61271
* ira-color.c (coalesced_pseudo_reg_slot_compare): Wrap LHS of
a comparison in parens.
* lra-spills.c (pseudo_reg_slot_compare): Wrap LHS of a comparison
in parens.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c
trunk/gcc/lra-spills.c


[Bug ipa/61998] [5 Regression] ICE: Segmentation fault with -Wsuggest-final-types

2014-08-22 Thread reichelt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61998

Volker Reichelt  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-08-22
 CC||reichelt at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Volker Reichelt  ---
Confirmed. I tripped over the same bug today.


[Bug fortran/31593] Invariant DO loop variables and subroutines

2014-08-22 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31593

--- Comment #46 from Thomas Koenig  ---
(In reply to Dominique d'Humieres from comment #45)
> Anything left to fix in this PR?

Unfortunately yes...

We still do not take advantage of the fact that the call
to a subroutine cannot change the value of the do loop:

ig25@linux-fd1f:~/Krempel/Do> cat call_unspec.f90
module foo 
contains   
  subroutine output(i1,i2,i3,i4,i5)
integer :: i1,i2,i3,i4,i5
print '(5(I0,:" "))',i1,i2,i3,i4,i5
  end subroutine output
end module foo 
program main   
  use foo
  implicit none
  integer :: value
  integer :: p1, p2, p3, p4
  integer :: i

  do value = 750,800
 do i=1, 10
do p1 = 1, value-2
   do p2 = p1 + 1, value - p1
  do p3 = p2 + 1, (value - (p1 + p2))/2
 p4 = value - p1 - p2 - p3
 if (p1 * p2 * p3 * p4 == value * 100) &
  & call output (value, p1, p2, p3, p4)
  end do
   end do
end do
 end do
  end do
end program main
ig25@linux-fd1f:~/Krempel/Do> gfortran -O2 call_unspec.f90 && time ./a.out >
/dev/null

real0m4.586s
user0m4.578s
sys 0m0.000s
ig25@linux-fd1f:~/Krempel/Do> cat call_intent.f90
module foo 
contains   
  subroutine output(i1,i2,i3,i4,i5)
integer, intent(in) :: i1,i2,i3,i4,i5
print '(5(I0,:" "))',i1,i2,i3,i4,i5
  end subroutine output
end module foo 
program main   
  use foo
  implicit none
  integer :: value
  integer :: p1, p2, p3, p4
  integer :: i

  do value = 750,800
 do i=1, 10
do p1 = 1, value-2
   do p2 = p1 + 1, value - p1
  do p3 = p2 + 1, (value - (p1 + p2))/2
 p4 = value - p1 - p2 - p3
 if (p1 * p2 * p3 * p4 == value * 100) &
 & call output(value , p1 , p2 , p3 , p4)
  end do
   end do
end do
 end do
  end do
end program main
ig25@linux-fd1f:~/Krempel/Do> gfortran -O2 call_intent.f90 && time ./a.out >
/dev/null

real0m3.090s
user0m3.089s
sys 0m0.000s
ig25@linux-fd1f:~/Krempel/Do> cat call_parens.f90
module foo 
contains   
  subroutine output(i1,i2,i3,i4,i5)
print '(5(I0,:" "))',i1,i2,i3,i4,i5
  end subroutine output
end module foo 
program main   
  use foo
  implicit none
  integer :: value
  integer :: p1, p2, p3, p4
  integer :: i

  do value = 750,800
 do i=1, 10
do p1 = 1, value-2
   do p2 = p1 + 1, value - p1
  do p3 = p2 + 1, (value - (p1 + p2))/2
 p4 = value - p1 - p2 - p3
 if (p1 * p2 * p3 * p4 == value * 100) &
 & call output((value),(p1),(p2),(p3),(p4))
  end do
   end do
end do
 end do
  end do
end program main
ig25@linux-fd1f:~/Krempel/Do> gfortran -O2 call_parens.f90 && time ./a.out >
/dev/null

real0m3.134s
user0m3.131s
sys 0m0.000s


[Bug c++/57709] -Wshadow is too strict / has false positives

2014-08-22 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57709

Manuel López-Ibáñez  changed:

   What|Removed |Added

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

--- Comment #14 from Manuel López-Ibáñez  ---
Fixed in gcc 5.0

[Bug c++/57709] -Wshadow is too strict / has false positives

2014-08-22 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57709

--- Comment #13 from Manuel López-Ibáñez  ---
Author: manu
Date: Fri Aug 22 19:12:46 2014
New Revision: 214357

URL: https://gcc.gnu.org/viewcvs?rev=214357&root=gcc&view=rev
Log:
gcc/cp/ChangeLog:

2014-08-22  Manuel López-Ibáñez  

PR c++/57709
* name-lookup.c (pushdecl_maybe_friend_1): Do not warn if a
declaration shadows a function declaration, unless the former
declares a function, pointer to function or pointer to member
function, because this is a common and valid case in real-world
code.
* cp-tree.h (TYPE_PTRFN_P,TYPE_REFFN_P,TYPE_PTRMEMFUNC_P):
Improve description.

gcc/testsuite/ChangeLog:

2014-08-22  Manuel López-Ibáñez  

PR c++/57709
* g++.dg/Wshadow.C: New test.


Added:
trunk/gcc/testsuite/g++.dg/Wshadow.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/name-lookup.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/62129] [4.9/5 Regression] internal compiler error: in output_constant, at varasm.c:4755

2014-08-22 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62129

--- Comment #4 from Jason Merrill  ---
Author: jason
Date: Fri Aug 22 18:49:18 2014
New Revision: 214353

URL: https://gcc.gnu.org/viewcvs?rev=214353&root=gcc&view=rev
Log:
PR c++/62129
* class.c (outermost_open_class): Fix logic.
* decl.c (complete_vars): Fix logic.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/decl.c


[Bug fortran/62135] ICE with invalid SELECT CASE selector

2014-08-22 Thread steven at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62135

Steven Bosscher  changed:

   What|Removed |Added

   Keywords|ice-on-invalid-code |ice-on-valid-code
 Status|ASSIGNED|RESOLVED
 CC|steven at gcc dot gnu.org  |
 Resolution|--- |FIXED
   Assignee|unassigned at gcc dot gnu.org  |steven at gcc dot 
gnu.org
   Target Milestone|--- |5.0

--- Comment #7 from Steven Bosscher  ---
gcc.gnu.org/r214351

Not a regression, so no reason to back-port. Thus, FIXED.


[Bug target/62195] [5 Regression] Invalid mnemonic 'xxlxor' on powerpc-apple-darwin9 with -m64

2014-08-22 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62195

Michael Meissner  changed:

   What|Removed |Added

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

--- Comment #5 from Michael Meissner  ---
Fixed in subversion id 214329 for the trunk, 214336 for the 4.9 branch, and
214336 for the 4.8 branch.


[Bug ada/62235] New: Storage_Error in the compiler

2014-08-22 Thread porton at narod dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62235

Bug ID: 62235
   Summary: Storage_Error in the compiler
   Product: gcc
   Version: 4.9.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: ada
  Assignee: unassigned at gcc dot gnu.org
  Reporter: porton at narod dot ru

Created attachment 33381
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33381&action=edit
Apply gnatchop to this file

Apply gnatchop to all.chop (attached).

$ gnatgcc -v
Using built-in specs.
COLLECT_GCC=gnatgcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-linux-gnu/4.9/lto-wrapper
Target: i586-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.1-4'
--with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.9 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify
--enable-plugin --with-system-zlib --disable-browser-plugin
--enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-i386
--with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-checking=release --build=i586-linux-gnu --host=i586-linux-gnu
--target=i586-linux-gnu
Thread model: posix
gcc version 4.9.1 (Debian 4.9.1-4)

$ gnatgcc -c -fPIC -g -O2 -gnat2012 -g -O0 -gnato -fstack-check -gnatVa
rdf-raptor-log.adb
+===GNAT BUG DETECTED==+
| 4.9.1 (i586-linux-gnu) Storage_Error stack overflow or erroneous memory
access|
| Error detected at rdf-auxilary-handled_record.adb:1:1
[rdf-raptor-log.ads:32:4]|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc-4.9 or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

rdf-raptor-log.adb
rdf-raptor-log.ads
rdf-raptor.ads
rdf.ads
rdf-auxilary.ads
rdf-auxilary-handled_record.ads
rdf-raptor-uri.ads
rdf-raptor-world.ads
rdf-auxilary-limited_handled_record.ads
rdf-raptor-iostream.ads
rdf-raptor-term.ads
rdf-raptor-namespaces_stacks.ads
rdf-raptor-namespaces.ads
rdf-raptor-statement.ads
rdf-raptor-memory.ads
rdf-auxilary-handled_record.adb

compilation abandoned


[Bug fortran/62135] ICE with invalid SELECT CASE selector

2014-08-22 Thread steven at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62135

--- Comment #6 from Steven Bosscher  ---
Author: steven
Date: Fri Aug 22 18:43:50 2014
New Revision: 214351

URL: https://gcc.gnu.org/viewcvs?rev=214351&root=gcc&view=rev
Log:
fortran/
PR fortran/62135
* resolve.c (resolve_select): Fix list traversal in case the
last element of the CASE list was dropped as unreachable code.

testsuite/
PR fortran/62135
* gfortran.dg/pr62135.f90: New test.


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


[Bug middle-end/61913] ICE in common_handle_option with -Wodr

2014-08-22 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61913

--- Comment #13 from Manuel López-Ibáñez  ---
(In reply to Jan Hubicka from comment #12)
> 
> So my tree shows it by default. I am at a conference and have to go for
> talks,

I cannot reproduce the above in trunk. Is it that a testcase that only works on
your working copy/branch? Do you have one that works on current trunk?

[Bug testsuite/62234] New: warnings/errors from LTO cannot be tested

2014-08-22 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62234

Bug ID: 62234
   Summary: warnings/errors from LTO cannot be tested
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
  Assignee: unassigned at gcc dot gnu.org
  Reporter: manu at gcc dot gnu.org

As discussed here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61913#c11

there is no way to test warnings/errors produced by LTO, so whatever we add is
due to get broken sooner or later (or be broken from the start like PR61913
shows).

Please, can someone with dejagnu foo fix this?


[Bug target/62195] [5 Regression] Invalid mnemonic 'xxlxor' on powerpc-apple-darwin9 with -m64

2014-08-22 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62195

--- Comment #4 from Michael Meissner  ---
Author: meissner
Date: Fri Aug 22 17:53:00 2014
New Revision: 214340

URL: https://gcc.gnu.org/viewcvs?rev=214340&root=gcc&view=rev
Log:
2014-08-22  Michael Meissner  

Backport fro mainline
2014-08-22  Michael Meissner  

PR target/62195
* doc/md.texi (Machine Constraints): Update PowerPC wi constraint
documentation to state it is only for VSX operations.

* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi
constraint only active if VSX.

* config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of
wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions.
(lfiwzx): Likewise.


Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/config/rs6000/constraints.md
branches/gcc-4_8-branch/gcc/config/rs6000/rs6000.c
branches/gcc-4_8-branch/gcc/config/rs6000/rs6000.md
branches/gcc-4_8-branch/gcc/doc/md.texi


[Bug target/62233] New: unnecessary shift instructions to prepare loop counter

2014-08-22 Thread carrot at google dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62233

Bug ID: 62233
   Summary: unnecessary shift instructions to prepare loop counter
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: carrot at google dot com
Target: powerpc64le

Compile following source code with options  -m64 -mcpu=power8 -O2

typedef struct {
  int l;
  int b[258];
} S;

void clear (S* s )
{
   int i;
   int len = s->l;

   for (i = 0; i <= len; i++)
   s->b[i] = 0;
}


Trunk gcc generates:

clear:
lwz 9,0(3)
cmpwi 7,9,0
extsw 9,9
bltlr- 7

sldi 9,9,2  // A
li 10,0
srdi 9,9,2  // B
addi 9,9,1
mtctr 9
.p2align 4,,15
.L3:
stwu 10,4(3)
bdnz .L3
blr

Instruction A shift loop counter left by 2 bits, instruction B shift loop
counter right by 2 bits, so they do nothing when combined together, and should
be removed.


[Bug target/62195] [5 Regression] Invalid mnemonic 'xxlxor' on powerpc-apple-darwin9 with -m64

2014-08-22 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62195

--- Comment #3 from Michael Meissner  ---
Author: meissner
Date: Fri Aug 22 17:30:39 2014
New Revision: 214336

URL: https://gcc.gnu.org/viewcvs?rev=214336&root=gcc&view=rev
Log:
2014-08-22  Michael Meissner  

Backport fro mainline
2014-08-22  Michael Meissner  

PR target/62195
* doc/md.texi (Machine Constraints): Update PowerPC wi constraint
documentation to state it is only for VSX operations.

* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi
constraint only active if VSX.

* config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of
wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions.
(lfiwzx): Likewise.


Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/config/rs6000/constraints.md
branches/gcc-4_9-branch/gcc/config/rs6000/rs6000.c
branches/gcc-4_9-branch/gcc/config/rs6000/rs6000.md
branches/gcc-4_9-branch/gcc/doc/md.texi


[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available

2014-08-22 Thread tower120 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223

--- Comment #6 from tower120  ---
Well, classical "static_asssert is not a function/variable/etc" would be enough
for me.

Because "there are no arguments to 'static_asssert' that depend on a template
parameter" means that there IS such a function, but it does not accept current
parameters set (IMHO).


[Bug c++/62129] [4.9/5 Regression] internal compiler error: in output_constant, at varasm.c:4755

2014-08-22 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62129

--- Comment #3 from Jason Merrill  ---
Author: jason
Date: Fri Aug 22 16:58:25 2014
New Revision: 214333

URL: https://gcc.gnu.org/viewcvs?rev=214333&root=gcc&view=rev
Log:
PR c++/62129
* class.c (outermost_open_class): New.
* cp-tree.h: Declare it.
* decl.c (maybe_register_incomplete_var): Use it.
(complete_vars): Handle any constant variable.
* expr.c (cplus_expand_constant): Handle CONSTRUCTOR.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-ptrmem3.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/expr.c


[Bug target/62195] [5 Regression] Invalid mnemonic 'xxlxor' on powerpc-apple-darwin9 with -m64

2014-08-22 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62195

--- Comment #2 from Michael Meissner  ---
Author: meissner
Date: Fri Aug 22 16:47:15 2014
New Revision: 214329

URL: https://gcc.gnu.org/viewcvs?rev=214329&root=gcc&view=rev
Log:
2014-08-22  Michael Meissner  

PR target/62195
* doc/md.texi (Machine Constraints): Update PowerPC wi constraint
documentation to state it is only for VSX operations.

* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi
constraint only active if VSX.

* config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of
wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions.
(lfiwzx): Likewise.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/constraints.md
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.md
trunk/gcc/doc/md.texi


[Bug target/61407] Build errors on latest OS X 10.10 Yosemite with Xcode 6 on GCC 4.8.3

2014-08-22 Thread dominyktiller at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407

--- Comment #24 from Dominyk Tiller  ---
(In reply to James Clarke from comment #16)
> Created attachment 33180 [details]
> Patch For GCC 4.9.1 On Yosemite
> 
> Requires DP 4 (or above), as I have also removed the fix for Availability.h
> which was only needed in DP 3 and below.

It looks like gcc are gonna require someone to submit this patch to their
mailing list before we see any further activity on this. Could you possibly do
that? Would massively appreciate it. More details are here:
https://gcc.gnu.org/contribute.html


[Bug fortran/62215] Updating .mod files on Win32 fails

2014-08-22 Thread burnus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62215

Tobias Burnus  changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #7 from Tobias Burnus  ---
(In reply to Janne Blomqvist from comment #6)
> So please go ahead and commit the patch to trunk and 4.9. 

It's fine from my side as well.

> As for the #ifdef stuff, [...]
> That would save an extra syscall on POSIX systems, but I don't think it
> really matters, so do as you see fit.

As it is only in the compiler and not in the libgfortran library (as I somehow
thought it would be), simply reinstating the unlink call is probably best.


[Bug c++/52830] ICE: "canonical types differ for identity types ..." when attempting SFINAE with member type

2014-08-22 Thread dcb314 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52830

David Binderman  changed:

   What|Removed |Added

 CC||dcb314 at hotmail dot com

--- Comment #3 from David Binderman  ---
I see a similar ice on trunk 20140820

/home/dcb/rpmbuild/BUILD/aqsis-1.8.2/libs/riutil/ricxx_cache.h:192:50: internal
compiler error: canonical types differ for identical types RtConstMatrix and
RtBasis {aka RtConstMatrix}
 operator RtConstMatrix&() const { return m_data; }
  ^
0x7ae7e3 comptypes(tree_node*, tree_node*, int)
../../src/trunk/gcc/cp/typeck.c:1407
0x7abb4b structural_comptypes
../../src/trunk/gcc/cp/typeck.c:1341
0x7b1b16 comptypes(tree_node*, tree_node*, int)
../../src/trunk/gcc/cp/typeck.c:1399


[Bug c++/62232] New: -Wnon-virtual-dtor shouldn't warn on final classes

2014-08-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62232

Bug ID: 62232
   Summary: -Wnon-virtual-dtor shouldn't warn on final classes
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org

Please consider:

markus@x4 ~ % cat destruct.ii
class base
{
protected:
  ~base () {}
  virtual void foo (){};
};
class derive final : public base
{
};

markus@x4 ~ % clang++ -Wnon-virtual-dtor -c -std=c++11 destruct.ii
markus@x4 ~ % g++ -Wnon-virtual-dtor -c -std=c++11 destruct.ii
destruct.ii:7:7: warning: ‘class derive’ has virtual functions and accessible
non-virtual destructor [-Wnon-virtual-dtor]
 class derive final : public base
   ^

We shouldn't warn in this case.

[Bug target/62231] New: Exception handling broken on powerpc-e500v2-linux-gnuspe

2014-08-22 Thread manfred.rudigier at omicron dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62231

Bug ID: 62231
   Summary: Exception handling broken on
powerpc-e500v2-linux-gnuspe
   Product: gcc
   Version: 4.8.3
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: manfred.rudigier at omicron dot at

Problem:


The GCC exception handling mechanism for powerpc-e500v2-linux-gnuspe seems to
be broken. Every programs abort as soon as the first exception is thrown. I can
confirm that the exception handling works on at least 4.6.3 and 4.7.4, however
on 4.8.3 it does not.

Example program to reproduce the problem:
-

#include 
#include 

void doThrow()
{
printf("Throwing now\n");
throw std::exception();
}

int main(int argc, char **argv)
{
try {
doThrow();
} catch (std::exception& e) {
printf("Caught exception\n");
}
return 0;
}


GDB output:
---

Program received signal SIGABRT, Aborted.
0x0fc0c858 in raise () from /lib/libc.so.6
(gdb) bt
#0  0x0fc0c858 in raise () from /lib/libc.so.6
#1  0x0fc117c4 in abort () from /lib/libc.so.6
#2  0x0fd78250 in ?? () from /lib/libgcc_s.so.1
#3  0x0fd78960 in _Unwind_RaiseException () from /lib/libgcc_s.so.1
#4  0x0ff33e0c in __cxa_throw () from /lib/libstdc++.so.6
#5  0x17dc in doThrow() ()
#6  0x1800 in main ()
(gdb) 

GCC version:


The compiler has been compiled with crosstool-ng:

./powerpc-e500v2-linux-gnuspe-gcc -v
Using built-in specs.
COLLECT_GCC=./powerpc-e500v2-linux-gnuspe-gcc
COLLECT_LTO_WRAPPER=/opt/x-tools/tron/4.8.3/powerpc-e500v2-linux-gnuspe/bin/../libexec/gcc/powerpc-e500v2-linux-gnuspe/4.8.3/lto-wrapper
Target: powerpc-e500v2-linux-gnuspe
Configured with: /home/manrud00/crosstool-ng/.build/src/gcc-4.8.3/configure
--build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu
--target=powerpc-e500v2-linux-gnuspe
--prefix=/home/manrud00/x-tools/powerpc-e500v2-linux-gnuspe
--with-sysroot=/home/manrud00/x-tools/powerpc-e500v2-linux-gnuspe/powerpc-e500v2-linux-gnuspe/sysroot
--enable-languages=c,c++ --with-cpu=8548 --with-tune=8548
--with-pkgversion='crosstool-NG hg+default-99029fac116b'
--disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap
--disable-libgomp --disable-libssp --disable-libquadmath
--disable-libquadmath-support
--with-gmp=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools
--with-mpfr=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools
--with-mpc=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools
--with-isl=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools
--with-cloog=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools
--with-libelf=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools
--with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm'
--enable-threads=posix --disable-nls --disable-multilib
--with-local-prefix=/home/manrud00/x-tools/powerpc-e500v2-linux-gnuspe/powerpc-e500v2-linux-gnuspe/sysroot
--enable-c99 --enable-long-long --enable-e500_double --with-long-double-128
Thread model: posix
gcc version 4.8.3


[Bug fortran/62049] Negative count_rate when calling system_clock

2014-08-22 Thread steven at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62049

Steven Bosscher  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2014-08-22
 CC||steven at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Steven Bosscher  ---
(In reply to Paul Martin from comment #0)

Looks like a bug, yes. The intrinsic subroutine appears to be resolved
to _gfortran_system_clock_8.  That should be _gfortran_system_clock_4
if your "crate" variable is integer(kind=4).

Can you please compile the following and report back the output here?

- 8< - (t.f90)
PROGRAM clock
   IMPLICIT NONE
   INTEGER(kind=4) :: crate4
   INTEGER(kind=8) :: crate8
   CALL system_clock (count_rate = crate4)
   WRITE(*,*) crate4
   CALL system_clock (count_rate = crate8)
   WRITE(*,*) crate8
END PROGRAM clock
- 8< -

$ gfortran -Wall t.f90 -fdump-parse-tree


[Bug c++/60517] warning/error for taking address of member of a temporary object

2014-08-22 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60517

--- Comment #17 from Marc Glisse  ---
(In reply to Manuel López-Ibáñez from comment #16)
> Note that we still do not warn for my original testcase.

I didn't close the PR ;-)

There are patches around that may need more work, see these discussions (I
picked a random message for the link):
https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00376.html
https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00422.html

(apparently the patches do manage to warn on your original testcase, at least I
said so in one of the emails)

[Bug ada/62230] New: Legal program rejected, RM 4.3.2(3, 5/3), ancestor_part can not be expression against error message by compiler itself

2014-08-22 Thread demoonlit at panathenaia dot halfmoon.jp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62230

Bug ID: 62230
   Summary: Legal program rejected, RM 4.3.2(3, 5/3),
ancestor_part can not be expression against error
message by compiler itself
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
  Assignee: unassigned at gcc dot gnu.org
  Reporter: demoonlit at panathenaia dot halfmoon.jp

Created attachment 33380
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33380&action=edit
minimal bug triggering source code

GNAT rejects any expressions implying aggregate for ancestor_part.

For example: (Please see the attachment file, also)
   type T1 is limited new Ada.Finalization.Limited_Controlled with null record;
   type T2 is new T1 with null record;
   X : T2 := (T1 with null record); -- OK
   Z : T2 := (T1'(Ada.Finalization.Limited_Controlled with null record) with
null record); -- ERROR

GNAT outputs:
main.adb:23:09: limited ancestor part must be aggregate or function call

It seems for me that aggregate expression is allowed into ancestor_part
according to the error message outputted by GNAT itself. But, it is not.

And, RM 4.3.2(3, 5/3) allows it explicitly.


[Bug c++/60517] warning/error for taking address of member of a temporary object

2014-08-22 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60517

Manuel López-Ibáñez  changed:

   What|Removed |Added

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

--- Comment #16 from Manuel López-Ibáñez  ---
Note that we still do not warn for my original testcase.

[Bug fortran/62226] Encode CPP options in lang.opt

2014-08-22 Thread steven at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62226

Steven Bosscher  changed:

   What|Removed |Added

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


[Bug c/62228] gcc : expected identifier before numeric constant

2014-08-22 Thread ankzzdev at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62228

Ankzz  changed:

   What|Removed |Added

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

--- Comment #3 from Ankzz  ---
(In reply to Marek Polacek from comment #1)
> Huh?  Why do you think it is a bug?

Got it ... Yup .. its not a bug. I would mark it resolved.


[Bug c/62228] gcc : expected identifier before numeric constant

2014-08-22 Thread ankzzdev at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62228

--- Comment #2 from Ankzz  ---
Why do you think its not a bug?

It would be better if you can explain me the reason why level should be
replaced with a "0".

In the same macro if I replace "level" with "_level", 

#define LOG(module, level, msg) \
if ( (module)->_level ) \
msg_log(msg)

I get the pre-processed code as :

if ( (&module)->_level ) msg_log("Ooops\n");


[Bug c++/62229] New: Broken uniform initialization when using std::string ctor

2014-08-22 Thread tnozicka at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62229

Bug ID: 62229
   Summary: Broken uniform initialization when using std::string
ctor
   Product: gcc
   Version: 4.9.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tnozicka at gmail dot com

Hi,
IMHO this two examples should have same result, but ...

// A
std::string s1{10, '\0'};
std::cout << s1.length() << std::endl;  // prints 2 - wrong

// B
std::string s2(10, '\0');
std::cout << s2.length() << std::endl;  // prints 10 - right


Probable reason is, that A is preferring ctor version with
std::initializer_list, but that version (AFAIK) should be invoked as:
std::string s1{{10, '\0'}};


=== g++ flags ===
-std=c++14 -Wall -Wextra

=== configure ===
Using built-in specs.
COLLECT_GCC=/opt/szn/bin/g++-4.9
COLLECT_LTO_WRAPPER=/opt/szn/lib/gcc/x86_64-linux-gnu/4.9.1/lto-wrapper
Target: x86_64-linux-gnu
Configured with: /home/tomas/packages/gcc/gcc-4.9.1/configure --prefix=/opt/szn
--program-suffix=-4.9 --enable-languages=c++ --disable-multilib --enable-shared
--enable-threads=posix --enable-checking=release --enable-__cxa_atexit
--enable-gnu-unique-object --enable-linker-build-id
--with-linker-hash-style=gnu --enable-plugin --with-tune=generic
--enable-libstdcxx-time=yes --enable-libstdcxx-debug
--enable-version-specific-runtime-libs --enable-objc-gc --enable-clocale=gnu
--disable-install-libiberty --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu --libdir=/opt/szn/lib --libexecdir=/opt/szn/lib
--infodir=/opt/szn/share/info-gcc-4.9 --localedir=/opt/szn/share/locale-gcc-4.9
--mandir=/opt/szn/share/man-gcc-4.9
--with-gxx-include-dir=/opt/szn/include/c++/4.9
Thread model: posix
gcc version 4.9.1 (GCC)


[Bug c/62228] gcc : expected identifier before numeric constant

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

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org
   Severity|major   |normal

--- Comment #1 from Marek Polacek  ---
Huh?  Why do you think it is a bug?


[Bug c/62228] gcc : expected identifier before numeric constant

2014-08-22 Thread ankzzdev at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62228

Ankzz  changed:

   What|Removed |Added

 CC||ankzzdev at gmail dot com
   Severity|normal  |major


[Bug c/62228] New: gcc : expected identifier before numeric constant

2014-08-22 Thread ankzzdev at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62228

Bug ID: 62228
   Summary: gcc : expected identifier before numeric constant
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ankzzdev at gmail dot com

Created attachment 33379
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33379&action=edit
Header and C file used to reproduce this issue

I have attached the header file and c-code (t.c and t.h) used to reproduce this
issue.

# make t
cc t.c   -o t
t.c: In function 'main':
t.c:8: error: expected identifier before numeric constant
make: *** [t] Error 1

Error is due to this piece of code in multi-line macro.
#define LOG(module, level, msg) \
if ( (module)->level ) \
msg_log(msg)


While verifying the pre-processed output of the c-code:
# gcc -E t.c
...
int main()
{
struct logger module;
if ( (&module)->0 ) msg_log("Ooops\n");
return 0;
}
# cat t.c
#include 

#include "t.h"

int main()
{
struct logger module;
LOG(&module, 0, "Ooops\n");
return 0;
}


Here we can see the Macro LOG is wrongly getting interpreted. 
LOG(&module, 0, "Ooops\n"); ==> if ( (&module)->0 ) msg_log("Ooops\n");

This is happening as "level" in macro is getting replaced with a value "0".
Leading to the issue:  expected identifier before numeric constant


[Bug c++/62227] New: Templated move not elided

2014-08-22 Thread roman.perepelitsa at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62227

Bug ID: 62227
   Summary: Templated move not elided
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: roman.perepelitsa at gmail dot com

#include 

struct S {
  S(int) {}
  S(const S&) = default;   // (1)
  template   // (2)
  S(S&& other) {
puts("move");
  }
};

int main() {
  S s = 42;
  (void)s;
}

This program unexpectedly prints "move". The expected output is empty (move is
elided).

The program prints nothing (as expected) if any of the following is done:

  - Line (1) is removed.
  - Line (2) is removed.
  - The program is compiled with clang.


[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available

2014-08-22 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223

Manuel López-Ibáñez  changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #5 from Manuel López-Ibáñez  ---
The spell-checker would have been helpful here. It would have said: did you
mean 'static_assert'?

[Bug middle-end/61876] Converting __builtin_round + cast into __builtin_lround is not always equivalent in regards to math errno

2014-08-22 Thread yroux at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61876

--- Comment #12 from yroux at gcc dot gnu.org ---
Author: yroux
Date: Fri Aug 22 10:48:22 2014
New Revision: 214312

URL: https://gcc.gnu.org/viewcvs?rev=214312&root=gcc&view=rev
Log:
2014-08-22 Yvan Roux  

Backport from trunk r212989, r213628.
2014-08-05  Kyrylo Tkachov  

* convert.c (convert_to_integer): Guard transformation to lrint by
-fno-math-errno.

2014-07-24  Kyrylo Tkachov  

PR middle-end/61876
* convert.c (convert_to_integer): Do not convert BUILT_IN_ROUND and cast
when flag_errno_math is on.


Modified:
branches/linaro/gcc-4_9-branch/gcc/ChangeLog.linaro
branches/linaro/gcc-4_9-branch/gcc/convert.c


[Bug debug/62225] DW_AT_location for local variable is missing

2014-08-22 Thread qiyao at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62225

--- Comment #2 from Yao Qi  ---
arm-none-eabi gcc mainline (4.10.0 20140818) and 4.9.2 has this problem too. 
The test case is compiled with -mthumb flag.

<1><71>: Abbrev Number: 6 (DW_TAG_subprogram)
<72>   DW_AT_external: 1
<72>   DW_AT_name: (indirect string, offset: 0x6a): wack
<76>   DW_AT_decl_file   : 1
<77>   DW_AT_decl_line   : 13
<78>   DW_AT_prototyped  : 1
<78>   DW_AT_type: <0xc4>
<7c>   DW_AT_low_pc  : 0x8214
<80>   DW_AT_high_pc : 0x44
<84>   DW_AT_frame_base  : 1 byte block: 9c (DW_OP_call_frame_cfa)
<86>   DW_AT_GNU_all_tail_call_sites: 1
<86>   DW_AT_sibling : <0xc4>
 <2><8a>: Abbrev Number: 5 (DW_TAG_formal_parameter)
<8b>   DW_AT_name: u
<8d>   DW_AT_decl_file   : 1
<8e>   DW_AT_decl_line   : 13
<8f>   DW_AT_type: <0x25>
<93>   DW_AT_location: 6 byte block: 50 93 4 51 93 4(DW_OP_reg0
(r0); DW_OP_piece: 4; DW_OP_reg1 (r1); DW_OP_piece: 4)
 <2><9a>: Abbrev Number: 5 (DW_TAG_formal_parameter)
<9b>   DW_AT_name: v
<9d>   DW_AT_decl_file   : 1
<9e>   DW_AT_decl_line   : 13
<9f>   DW_AT_type: <0x25>
   DW_AT_location: 6 byte block: 52 93 4 53 93 4(DW_OP_reg2
(r2); DW_OP_piece: 4; DW_OP_reg3 (r3); DW_OP_piece: 4)
 <2>: Abbrev Number: 7 (DW_TAG_variable)
   DW_AT_name: l
   DW_AT_decl_file   : 1
   DW_AT_decl_line   : 15
   DW_AT_type: <0x25>
   DW_AT_location: 6 byte block: 54 93 4 55 93 4(DW_OP_reg4
(r4); DW_OP_piece: 4; DW_OP_reg5 (r5); DW_OP_piece: 4)
 <2>: Abbrev Number: 8 (DW_TAG_variable)
   DW_AT_name: r
   DW_AT_decl_file   : 1
   DW_AT_decl_line   : 15
   DW_AT_type: <0x25>
 <2>: Abbrev Number: 0


[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available

2014-08-22 Thread tower120 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223

--- Comment #4 from tower120  ---
Typo indeed.
I'm so sorry.


[Bug fortran/62226] New: Encode CPP options in lang.opt

2014-08-22 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62226

Bug ID: 62226
   Summary: Encode CPP options in lang.opt
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: manu at gcc dot gnu.org

Created attachment 33378
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33378&action=edit
patch to handle CPP() per language

I recently added a new feature to .opt files to encode CPP options and handle
them transparently. Unfortunately, it does not work with Fortran because
Fortran does not use the common options machinery.

Steps to fix:

* Fortran should use the common options machinery (at least for those options
that are CPP options).

* Apply the attached patch.

* Add a call to Fortran_cpp_handle_option_auto and init_global_opts_from_cpp
somewhere appropriate in the Fortran FE.

Features like #pragma diagnostics and -fdiagnostics-show-option rely on this,
so it is a prerequisite for fixing PR44054.


[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available

2014-08-22 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223

--- Comment #3 from Marc Glisse  ---
Typo, check the exact spelling of what g++ is complaining about.


[Bug fortran/61234] Warn for use-stmt without explicit only-list.

2014-08-22 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61234

Joost VandeVondele  changed:

   What|Removed |Added

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

--- Comment #7 from Joost VandeVondele  
---
fixed


[Bug fortran/61234] Warn for use-stmt without explicit only-list.

2014-08-22 Thread vondele at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61234

--- Comment #6 from vondele at gcc dot gnu.org ---
Author: vondele
Date: Fri Aug 22 10:14:50 2014
New Revision: 214311

URL: https://gcc.gnu.org/viewcvs?rev=214311&root=gcc&view=rev
Log:
 2014-08-22  Joost VandeVondele  

 * gfortran.dg/use_without_only_1.f90: New test.

 2014-08-22  Joost VandeVondele  

 PR fortran/61234
 * lang.opt (Wuse-without-only): New flag.
 * gfortran.h (gfc_option_t): Add it.
 * invoke.texi: Document it.
 * module.c (gfc_use_module): Warn if needed.
 * options.c (gfc_init_options,gfc_handle_option): Init accordingly.


Added:
trunk/gcc/testsuite/gfortran.dg/use_without_only_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/invoke.texi
trunk/gcc/fortran/lang.opt
trunk/gcc/fortran/module.c
trunk/gcc/fortran/options.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available

2014-08-22 Thread tower120 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223

--- Comment #2 from tower120  ---
No, I compile it with -std=c++1y

Here, live example http://ideone.com/KsGrnH (though that is gcc-4.8.1)


[Bug other/62008] CilkPlus Array Notation ICE in build_array_notation_ref when trying to build a multidimensional array from a pointer.

2014-08-22 Thread kyukhin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62008

--- Comment #2 from Kirill Yukhin  ---
Author: kyukhin
Date: Fri Aug 22 09:40:13 2014
New Revision: 214306

URL: https://gcc.gnu.org/viewcvs?rev=214306&root=gcc&view=rev
Log:
PR other/62008
gcc/c/
* c-parser.c (c_parser_array_notation): Check for correct
type of an array added.

gcc/cp/
* cp-array-notation.c (build_array_notation_ref): Added correct
handling of case with incorrect array.

gcc/testsuite/
* c-c++-common/cilk-plus/AN/pr62008.c: New test.

Added:
branches/gcc-4_9-branch/gcc/testsuite/c-c++-common/cilk-plus/AN/pr62008.c
Modified:
branches/gcc-4_9-branch/gcc/c/ChangeLog
branches/gcc-4_9-branch/gcc/c/c-parser.c
branches/gcc-4_9-branch/gcc/cp/ChangeLog
branches/gcc-4_9-branch/gcc/cp/cp-array-notation.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog


[Bug other/62008] CilkPlus Array Notation ICE in build_array_notation_ref when trying to build a multidimensional array from a pointer.

2014-08-22 Thread kyukhin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62008

--- Comment #1 from Kirill Yukhin  ---
Author: kyukhin
Date: Fri Aug 22 09:37:01 2014
New Revision: 214305

URL: https://gcc.gnu.org/viewcvs?rev=214305&root=gcc&view=rev
Log:
PR other/62008
gcc/c/
* c-parser.c (c_parser_array_notation): Check for correct
type of an array added.

gcc/cp/
* cp-array-notation.c (build_array_notation_ref): Added correct
handling of case with incorrect array.

gcc/testsuite/
* c-c++-common/cilk-plus/AN/pr62008.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/cilk-plus/AN/pr62008.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-parser.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-array-notation.c
trunk/gcc/testsuite/ChangeLog


[Bug debug/62225] DW_AT_location for local variable is missing

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

--- Comment #1 from Andrew Pinski  ---
I bet if you remove register, it will work. Or compile with variable tracking
turned on.


[Bug debug/62225] New: DW_AT_location for local variable is missing

2014-08-22 Thread qiyao at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62225

Bug ID: 62225
   Summary: DW_AT_location for local variable is missing
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
  Assignee: unassigned at gcc dot gnu.org
  Reporter: qiyao at gcc dot gnu.org

$ cat 1.c 
/* typedef long long TYPE; */
/* typedef double TYPE; */
/* typedef float TYPE; */
typedef long double TYPE;

TYPE
add (register TYPE u, register TYPE v)
{
  return u + v;
}

int
wack (register TYPE u, register TYPE v)
{
  register TYPE l = u, r = v;
  l = add (l, r);
  return (int) (l + r);
}

int
main (void)
{
  wack (-1, -2);
  return 0;
}
-

Compile it with i686-pc-linux-gnu gcc mainline (4.10.0 20140611),
$ gcc 1.c -g -O0 -o mainline.exe

Then, check the debug information,

<1><67>: Abbrev Number: 6 (DW_TAG_subprogram)
<68>   DW_AT_external: 1
<68>   DW_AT_name: (indirect string, offset: 0x88): wack
<6c>   DW_AT_decl_file   : 1
<6d>   DW_AT_decl_line   : 13
<6e>   DW_AT_prototyped  : 1
<6e>   DW_AT_type: <0xab>
<72>   DW_AT_low_pc  : 0x80483a8
<76>   DW_AT_high_pc : 0x47
<7a>   DW_AT_frame_base  : 1 byte block: 9c (DW_OP_call_frame_cfa)
<7c>   DW_AT_GNU_all_tail_call_sites: 1
<7c>   DW_AT_sibling : <0xab>
 <2><80>: Abbrev Number: 5 (DW_TAG_formal_parameter)
<81>   DW_AT_name: u
<83>   DW_AT_decl_file   : 1
<84>   DW_AT_decl_line   : 13
<85>   DW_AT_type: <0x25>
<89>   DW_AT_location: 2 byte block: 91 0 (DW_OP_fbreg: 0)
 <2><8c>: Abbrev Number: 5 (DW_TAG_formal_parameter)
<8d>   DW_AT_name: v
<8f>   DW_AT_decl_file   : 1
<90>   DW_AT_decl_line   : 13
<91>   DW_AT_type: <0x25>
<95>   DW_AT_location: 2 byte block: 91 c (DW_OP_fbreg: 12)
 <2><98>: Abbrev Number: 7 (DW_TAG_variable)
<99>   DW_AT_name: l
<9b>   DW_AT_decl_file   : 1
<9c>   DW_AT_decl_line   : 15
<9d>   DW_AT_type: <0x25>
 <2>: Abbrev Number: 7 (DW_TAG_variable)
   DW_AT_name: r
   DW_AT_decl_file   : 1
   DW_AT_decl_line   : 15
   DW_AT_type: <0x25>
 <2>: Abbrev Number: 0

DW_AT_location is missing for 'l' and 'r'.  This problem also exists on 4.9.2
and 4.8.3, but 4.7.3 is correct.

 <1><6c>: Abbrev Number: 6 (DW_TAG_subprogram)
<6d>   DW_AT_external: 1
<6e>   DW_AT_name: (indirect string, offset: 0x5d): wack
<72>   DW_AT_decl_file   : 1
<73>   DW_AT_decl_line   : 13
<74>   DW_AT_prototyped  : 1
<75>   DW_AT_type: <0xbb>
<79>   DW_AT_low_pc  : 0x80483f9
<7d>   DW_AT_high_pc : 0x8048443
<81>   DW_AT_frame_base  : 0x38(location list)
<85>   DW_AT_GNU_all_tail_call_sites: 1
<86>   DW_AT_sibling : <0xbb>
 <2><8a>: Abbrev Number: 5 (DW_TAG_formal_parameter)
<8b>   DW_AT_name: u
<8d>   DW_AT_decl_file   : 1
<8e>   DW_AT_decl_line   : 13
<8f>   DW_AT_type: <0x25>
<93>   DW_AT_location: 2 byte block: 75 8 (DW_OP_breg5 (ebp): 8)
 <2><96>: Abbrev Number: 5 (DW_TAG_formal_parameter)
<97>   DW_AT_name: v
<99>   DW_AT_decl_file   : 1
<9a>   DW_AT_decl_line   : 13
<9b>   DW_AT_type: <0x25>
<9f>   DW_AT_location: 2 byte block: 75 14 (DW_OP_breg5 (ebp): 20)
 <2>: Abbrev Number: 7 (DW_TAG_variable)
   DW_AT_name: l
   DW_AT_decl_file   : 1
   DW_AT_decl_line   : 15
   DW_AT_type: <0x25>
   DW_AT_location: 2 byte block: 75 6c (DW_OP_breg5 (ebp): -20)
 <2>: Abbrev Number: 7 (DW_TAG_variable)
   DW_AT_name: r
   DW_AT_decl_file   : 1
   DW_AT_decl_line   : 15
   DW_AT_type: <0x25>
   DW_AT_location: 2 byte block: 75 60 (DW_OP_breg5 (ebp): -32)
 <2>: Abbrev Number: 0

This test case is modified a little from GDB test gdb.base/store.c, and this PR
causes some fails in gdb.base/store.exp.  The problem also exists if I typedef
TYPE by long long, double, or float.


[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available

2014-08-22 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223

Marc Glisse  changed:

   What|Removed |Added

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

--- Comment #1 from Marc Glisse  ---
I am going to take a guess that you forgot to specify -std=c++11 or equivalent?


[Bug c++/62224] Possible regression in gcc-4.9-20140820

2014-08-22 Thread chris2553 at googlemail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62224

--- Comment #1 from Chris Clayton  ---
Created attachment 33377
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33377&action=edit
Preprocessed source file

ETOOBIG on uncompressed attachment. Now compressed with xz.


[Bug c++/62224] New: Possible regression in gcc-4.9-20140820

2014-08-22 Thread chris2553 at googlemail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62224

Bug ID: 62224
   Summary: Possible regression in gcc-4.9-20140820
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: chris2553 at googlemail dot com

Building qt-creator-3.2.0 with this week's 4.9.2 (21040820) snapshot fails.
Building it with last week's 4.9.2 (20140813) snapshot succeeds.

My system is a 32 bit user space running on a 64 bit 3.16.1 kernel built from
source. The hardware is a Fujitsu Lifebook AH531 laptop with 8GB RAM.

The gcc build is configured with:

--prefix=/usr --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu
--target=i386-pc-linux-gnu --infodir=/usr/info --mandir=/usr/man
--enable-shared --disable-static --with-system-zlib --enable-threads=posix
--enable-haifa --enable-languages=c,c++ --enable-long-long --enable-namespaces
--enable-multilib --with-gnu-as --with-gnu-ld --with-system-zlib --without-x
--disable-werror --disable-checking --enable-__cxa_atexit --disable-nls
--without-included-gettext i386-pc-linux

The compiler output is:

cd cppeditor/ && make -f Makefile
make[3]: Entering directory
'/home/chris/rpm/BUILD/qt-creator-opensource-src-3.2.0/qt-creator-3.2.0-build/src/plugins/cppeditor'
rm -f libCppEditor.so
g++ -Wl,-z,origin '-Wl,-rpath,$ORIGIN:$ORIGIN/..' -Wl,--no-undefined -Wl,-O1
-shared -Wl,-soname,libCppEditor.so -o libCppEditor.so
.obj/release-shared/cppautocompleter.o .obj/release-shared/cppcanonicalsymbol.o
.obj/release-shared/cppclasswizard.o
.obj/release-shared/cppcodemodelinspectordialog.o
.obj/release-shared/cppdocumentationcommenthelper.o
.obj/release-shared/cppeditor.o .obj/release-shared/cppeditordocument.o
.obj/release-shared/cppeditoroutline.o .obj/release-shared/cppeditorplugin.o
.obj/release-shared/cppelementevaluator.o .obj/release-shared/cppfilewizard.o
.obj/release-shared/cppfollowsymbolundercursor.o
.obj/release-shared/cppfunctiondecldeflink.o
.obj/release-shared/cpphighlighter.o .obj/release-shared/cpphoverhandler.o
.obj/release-shared/cppincludehierarchy.o
.obj/release-shared/cppincludehierarchyitem.o
.obj/release-shared/cppincludehierarchymodel.o
.obj/release-shared/cppincludehierarchytreeview.o
.obj/release-shared/cppinsertvirtualmethods.o
.obj/release-shared/cpplocalrenaming.o .obj/release-shared/cppoutline.o
.obj/release-shared/cpppreprocessordialog.o .obj/release-shared/cppquickfix.o
.obj/release-shared/cppquickfixassistant.o .obj/release-shared/cppquickfixes.o
.obj/release-shared/cppsnippetprovider.o .obj/release-shared/cpptypehierarchy.o
.obj/release-shared/cppvirtualfunctionassistprovider.o
.obj/release-shared/cppvirtualfunctionproposalitem.o
.obj/release-shared/moc_cppclasswizard.o
.obj/release-shared/moc_cppcodemodelinspectordialog.o
.obj/release-shared/moc_cppdocumentationcommenthelper.o
.obj/release-shared/moc_cppeditor.o .obj/release-shared/moc_cppeditordocument.o
.obj/release-shared/moc_cppeditoroutline.o
.obj/release-shared/moc_cppeditorplugin.o
.obj/release-shared/moc_cppfilewizard.o
.obj/release-shared/moc_cppfunctiondecldeflink.o
.obj/release-shared/moc_cpphighlighter.o
.obj/release-shared/moc_cpphoverhandler.o
.obj/release-shared/moc_cppincludehierarchy.o
.obj/release-shared/moc_cppincludehierarchymodel.o
.obj/release-shared/moc_cppinsertvirtualmethods.o
.obj/release-shared/moc_cpplocalrenaming.o .obj/release-shared/moc_cppoutline.o
.obj/release-shared/moc_cpppreprocessordialog.o
.obj/release-shared/moc_cppquickfix.o
.obj/release-shared/moc_cpptypehierarchy.o .obj/release-shared/qrc_cppeditor.o 
 
-L/home/chris/rpm/BUILD/qt-creator-opensource-src-3.2.0/qt-creator-3.2.0-build/lib/qtcreator
-L/home/chris/rpm/BUILD/qt-creator-opensource-src-3.2.0/qt-creator-3.2.0-build/lib/qtcreator/plugins
-lTextEditor -lCore -lCppTools -lProjectExplorer -lCPlusPlus -lAggregation
-lExtensionSystem -lQtcSsh -lUtils -lLanguageUtils -lQtGui -lQtNetwork -lQtCore
-lpthread
.obj/release-shared/cppcodemodelinspectordialog.o: In function
`CppEditor::Internal::CppCodeModelInspectorDialog::refresh()':
cppcodemodelinspectordialog.cpp:(.text+0x79bd): undefined reference to
`CppTools::Internal::CppModelManager::ensureUpdated()'
cppcodemodelinspectordialog.cpp:(.text+0x79fc): undefined reference to
`CppTools::Internal::CppModelManager::ensureUpdated()'
.obj/release-shared/cppcodemodelinspectordialog.o: In function
`CppTools::Internal::CppModelManager::definedMacros()':
cppcodemodelinspectordialog.cpp:(.text._ZN8CppTools8Internal15CppModelManager13definedMacrosEv[_ZN8CppTools8Internal15CppModelManager13definedMacrosEv]+0x26):
undefined reference to `CppTools::Internal::CppModelManager::ensureUpdated()'
.obj/release-shared/cppcodemodelinspectordialog.o: In function
`CppTools::Internal::CppModelManager::headerPaths()':
cppcodemodelinspectordialog.cpp:(.text._ZN8CppTools8Internal15CppModelManager11headerPathsEv[_ZN8CppToo

[Bug tree-optimization/62220] missed optimization wrt module for loop variable

2014-08-22 Thread amker at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62220

amker at gcc dot gnu.org changed:

   What|Removed |Added

 CC||amker at gcc dot gnu.org

--- Comment #1 from amker at gcc dot gnu.org ---
To do such transformation, first problem needs to be resolved would be scalar
evolution?  I suppose it doesn't handle % (or /) right now?


[Bug tree-optimization/62217] DOM confuses complete unrolling which in turn causes VRP to warn

2014-08-22 Thread kyukhin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62217

--- Comment #3 from Kirill Yukhin  ---
As long as I understand `remove_exits_and_undefined_stmts'
iterate loop boundaries set marking `unreachable' stmts w/
impossible bounds.

For the example we have:
- for true edge
  basic block 6, loop depth 1
   pred:   5
  g_x[b_6(D)] = *x1_7(D);
  goto ;
   succ:   8
- for false edge
  basic block 7, loop depth 1
   pred:   5
  g_x[i_14] = *x2_9(D);
   succ:   8

I suspect, that the problem is that `b' was propagated along
`true' edge and replaced use of `i'.
This removed reference to g_x from boundaries analysis for that edge:
no IV is used there explicitly, only implicitly as b == i.

Hence this stmt didn't hit boundaries set of the loop and
wasn't marked as unreachable.

BTW: this code survive rest of optimizations:
movl(%edx), %edx
cmpl$4, %eax
movl%edx, g_x+12
jle .L1
movl(%ebx), %eax
movl%eax, g_x+16 ;; REDUNDANT

Looks like not simple warning, but also unnecessary code was
generated.


[Bug c++/62223] New: error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available

2014-08-22 Thread tower120 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223

Bug ID: 62223
   Summary: error: there are no arguments to ‘static_asssert’ that
depend on a template parameter, so a declaration of
‘static_asssert’ must be available
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tower120 at gmail dot com

May be not a bug... But, why error occurs in the following code?

#include 
#include 
using namespace std;

template
class VertexBuffer
{
static constexpr const bool ownIndices = sizeof...(_Attrs) == 0;

void test(){
static_asssert(ownIndices, "Link to owned indices!!");
}
}


int main(){}

error: there are no arguments to 'static_asssert' that depend on a template
parameter, so a declaration of 'static_asssert' must be available
[-fpermissive]
 static_asssert(ownIndices, "Link to owned indices!!");
 ^

Doesn't ownIndices template-dependent value?

Compiled with MinGW 4.9

[Bug tree-optimization/62217] Extra iteration peeled during cunroll. Makes VRP warn.

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

Andrew Pinski  changed:

   What|Removed |Added

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

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