[Bug regression/56751] New: Can not confugure stage 2

2013-03-27 Thread maxim.prohorenko at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56751



 Bug #: 56751

   Summary: Can not confugure stage 2

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: regression

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: maxim.prohore...@gmail.com





For gcc 4.7.2 work fine.



../gcc-4.7.2/configure --prefix=/usr/local/gcc-4.7.2 --disable-multilib

--enable-languages=c,c++ --without-ppl --without-cloog

--with-mpfr=/usr/local/mpfr-3.0.1 --with-mpc=/usr/local/mpc-0.9

--with-gmp=/usr/local/gmp-5.0.2





For gcc 4.8.0 work wrong.

../gcc-4.8.0/configure --prefix=/home/prohorenko/usr/local/gcc-4.8.0

--disable-multilib --enable-languages=c,c++ --without-ppl --without-cloog

--with-mpfr=/usr/local/mpfr-3.0.1 --with-mpc=/usr/local/mpc-0.9

--with-gmp=/usr/local/gmp-5.0.2



If set

LD_LIBRARY_PATH=/usr/local/mpc-0.9/lib/:/usr/local/mpfr-3.0.1/lib/:/usr/local/gmp-5.0.2/lib/:$LD_LIBRARY_PATH



Then work fine too.


[Bug c++/56734] Even simple exceptions cause a segmentation fault in my build of gcc on Solaris 10.

2013-03-27 Thread marc.girod at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56734



--- Comment #3 from Marc Girod marc.girod at gmail dot com 2013-03-27 
06:52:14 UTC ---

OK. Good to know. I configured with GNU, hence there is something in the tool

chain which results in the problem.

Under the debugger, I get the segfault stepping into the call to 'get_global()'

in libstdc++-v3/libsupc++/eh_globals.cc:63.

I can find only one declaration of this get_global, and it is earlier in

eh_globals.cc:50.

Looking at the decorations in the symbols:



gcc nm ./sparc-sun-solaris2.10/libstdc++-v3/libsupc++/eh_globals.o

 U _GLOBAL_OFFSET_TABLE_

 d _ZL16__gthread_active

 b _ZZN12_GLOBAL__N_110get_globalEvE6global

 T __cxa_get_globals

 T __cxa_get_globals_fast

 W __sparc_get_pc_thunk.l7

 U __tls_get_addr



I wonder if there is a mismatch between the offering and the request?

What symbols do you have, in the Sun configuration?

Note that I was handed another gcc, compiled independently for the same

platform, and which displays the same issue.


[Bug regression/56751] Can not confugure stage 2

2013-03-27 Thread maxim.prohorenko at gmail dot com

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56751

Максим Прохоренко maxim.prohorenko at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Максим Прохоренко maxim.prohorenko at gmail dot com 
2013-03-27 06:54:43 UTC ---
Work ok

[Bug c++/56734] Even simple exceptions cause a segmentation fault in my build of gcc on Solaris 10.

2013-03-27 Thread marc.girod at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56734



--- Comment #4 from Marc Girod marc.girod at gmail dot com 2013-03-27 
07:00:33 UTC ---

Sorry: the other compiler works once I set LD_LIBRARY_PATH to use its

libstdc++.so.6 and libgcc_s.so.1


[Bug middle-end/56748] Bogus uninitialized warning with nested if condition

2013-03-27 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56748



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||diagnostic

 CC||burnus at gcc dot gnu.org

  Component|fortran |middle-end

Summary|STOP statement + array  |Bogus uninitialized warning

   |optional variable causes|with nested if condition

   |bogus uninitialized warning |



--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2013-03-27 
08:26:31 UTC ---

First remark: Bogus uninitialized warnings can not always be prevented. - It is

a extremely complex problem, where a few false warnings (and many missed

warnings) are unavoidable. Still, one should do better.







If one looks at the dump (-fdump-tree-original, i.e. a C-like output of the

internal representation), one sees:





mysub (struct array1_integer(kind=4)  restrict a,

   struct array1_integer(kind=4) * b)

{

...



  if (b != 0B  (integer(kind=4)[0:] * restrict) b-data != 0B)

b.0 = (integer(kind=4)[0:D.1925] * restrict) b-data;

...

  if (b != 0B  (integer(kind=4)[0:] * restrict) b-data != 0B)

...

  if (b != 0B  (integer(kind=4)[0:] * restrict) b-data != 0B)

{

  // Here are some run-time checks, enabled by -fcheck=all

}

...

  parm.10.data = (void *) (*b.0)[0];

  _gfortran_transfer_array_write (dt_parm.9, parm.10, 4, 0);







As all if conditions are the same, b.0 is never uninitialized. However,

nesting the same b != NULL seems to confuse the uninitialized diagnostic.


[Bug c++/54988] fpmath=sse target pragma causes inlining failure because of target specific option mismatch

2013-03-27 Thread kai.koehne at digia dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54988



--- Comment #13 from Kai Koehne kai.koehne at digia dot com 2013-03-27 
09:12:42 UTC ---

The OOM problem is still there with gcc 4.8.0 on MinGW: Any #pragma optimize

X will result in OOM for big files.


[Bug c++/56742] Optimization bug lead to uncaught throw

2013-03-27 Thread ktietz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56742



--- Comment #4 from Kai Tietz ktietz at gcc dot gnu.org 2013-03-27 09:40:16 
UTC ---

(In reply to comment #3)

 (In reply to comment #2)

  Hmm, yes indeed it is the -freorder-blocks option. One solution is to 

  disallow after reload for SEH-target to modify jumps.

 

 That's an awfully big hammer. Perhaps it's possible to first analyze

 what is actually happening in bbreorder that causes this bug?



Well, the issue is analyzed.  The issue is that SEH is table-based EH, and so

after bb-reorder used labels for describing eh-regions are getting invalid.

If you take a look to the produces assembly for the example, you will notice

that easily.

I admit that the first patch is a bit too invasive, as it disables bb-reorder

in all cases.  But in fact we need to disable it just if there is a

catch-region. A more improved variant is:



Index: i386.c

===

--- i386.c  (Revision 197118)

+++ i386.c  (Arbeitskopie)

@@ -3941,6 +3941,20 @@

   register_pass (insert_vzeroupper_info);

 }



+/* Implement TARGET_CANNOT_MODIFY_JUMPS_P.  */

+static bool

+ix86_cannot_modify_jumps_p (void)

+{

+  if (TARGET_SEH  reload_completed

+   cfun  cfun-eh

+   cfun-eh-region_tree)

+return true;

+  return false;

+}

+

+#undef  TARGET_CANNOT_MODIFY_JUMPS_P

+#define TARGET_CANNOT_MODIFY_JUMPS_P ix86_cannot_modify_jumps_p

+

 /* Update register usage after having seen the compiler flags.  */



 static void


[Bug c++/56746] [4.8 regression] increased memory usage when compiling C++

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56746



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |WAITING

  Known to work||4.7.2

   Keywords||memory-hog

   Last reconfirmed||2013-03-27

 Ever Confirmed|0   |1

Summary|4.8 regression: increased   |[4.8 regression] increased

   |memory usage when compiling |memory usage when compiling

   |C++ |C++

   Target Milestone|--- |4.8.1

  Known to fail||4.8.0



--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
09:50:41 UTC ---

Please provide preprocessed source of the file that shows this change in

behavior.

Also provide the options you used for compiling.


[Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695



--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
09:53:59 UTC ---

(In reply to comment #2)

 In tree-vect-stmts.c:

 

   if (!INTEGRAL_TYPE_P (TREE_TYPE (vectype)))

 {

   unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));

   tree cmp_type = build_nonstandard_integer_type (prec, 1);

   vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);

   if (vec_cmp_type == NULL_TREE)

 return false;

 }

 

 It doesn't check if vectype is signed, and anyway it explicitly asks for an

 unsigned type. Changing those 2 things seems to help. I am away next week,

 can't try a patch now.



vectype is the vector type of the COND_EXPR result - it should obviously

use the signedness of the scalar condition operands.


[Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695



--- Comment #9 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
09:57:41 UTC ---

That said, it should look like, unconditionally(!)



  unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));

  tree cmp_type = build_nonstandard_integer_type (prec,

 TYPE_UNSIGNED (TREE_OPERAND (cond_expr, 0)));

  vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);

  if (vec_cmp_type == NULL_TREE)

return false;



whether the result is integral or not doesn't matter.  You can still have



  foo_signed = uns1  uns2 ? bar_signed : bar2_signed;


[Bug c++/45282] wrong decltype result for .*

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45282



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 CC|gcc-bugs at gcc dot gnu.org |

  Known to work||4.8.1, 4.9.0

 Resolution||FIXED



--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
10:03:07 UTC ---

Fixed mainline and 4.8.1.


[Bug c++/52597] [C++11] confusing diagnostics for invalid use of non-static member function in decltype

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52597



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
10:06:30 UTC ---

Fixed for 4.9.


[Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695



--- Comment #10 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
10:08:02 UTC ---

(In reply to comment #9)

 That said, it should look like, unconditionally(!)

 

   unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));

   tree cmp_type = build_nonstandard_integer_type (prec,

  TYPE_UNSIGNED (TREE_OPERAND (cond_expr, 0)));

   vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);

   if (vec_cmp_type == NULL_TREE)

 return false;

 

 whether the result is integral or not doesn't matter.  You can still have

 

   foo_signed = uns1  uns2 ? bar_signed : bar2_signed;



Err, it's just the vector comparison result (boolean mask) type.  So



  if (!INTEGRAL_TYPE_P (TREE_TYPE (vectype))

  || !TYPE_UNSIGNED (TREE_TYPE (vectype)))

{

  unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));

  tree cmp_type = build_nonstandard_integer_type (prec, 1);

  vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);

  if (vec_cmp_type == NULL_TREE)

return false;

}



or simply unconditionally use an unsigned mask type:



  unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));

  tree cmp_type = build_nonstandard_integer_type (prec, 1);

  vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);

  if (vec_cmp_type == NULL_TREE)

return false;



and remove the initialization of vec_cmp_type earlier.


[Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695



--- Comment #11 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
10:10:06 UTC ---

And in tree-cfg.c:verify_gimple_comparison properly establish rules for the

signedness of the vector comparison result.


[Bug c++/25466] typeid expression fails to throw bad_typeid according to 5.2.8p2

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466



--- Comment #12 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
10:13:29 UTC ---

I'm having another look to this and apparently clang behaves like GCC.



Jason, what do you think? Should we extend somehow build_typeid? I'm not sure.

In case it would not be very hard, I think.


[Bug target/56734] Even simple exceptions cause a segmentation fault in my build of gcc on Solaris 10.

2013-03-27 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56734



Eric Botcazou ebotcazou at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 CC||ebotcazou at gcc dot

   ||gnu.org

  Component|c++ |target

 Resolution||DUPLICATE



--- Comment #5 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-03-27 
10:22:44 UTC ---

 Program received signal SIGSEGV, Segmentation fault.

 [Switching to Thread 1 (LWP 1)]

 0xff35af84 in __frame_dummy_init_array_entry ()

from /vobs/cello/cade_struct/lib/libstdc++.so.6

 (gdb) bt

 #0  0xff35af84 in __frame_dummy_init_array_entry ()

from /vobs/cello/cade_struct/lib/libstdc++.so.6

 #1  0xff2c8b48 in __cxxabiv1::__cxa_get_globals ()

 at /proj/vobadm100/svn/gcc_4.7.2/libstdc++-v3/libsupc++/eh_globals.cc:63

 #2  0xff2c7a10 in __cxxabiv1::__cxa_allocate_exception (thrown_size=135552)

 at /proj/vobadm100/svn/gcc_4.7.2/libstdc++-v3/libsupc++/eh_alloc.cc:132

 #3  0x00010acc in ThrowException () at Core.cc:7

 #4  0x00010a90 in main () at CoreTest.cc:4



This is a dup of PR target/55909 and might be related to PR binutils/15056:

  http://sourceware.org/bugzilla/show_bug.cgi?id=15056

which reports that TLS is broken for the SPARC in the 2.23.1 binutils release.



You need to upgrade to the just released 2.23.2 release of binutils.



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


[Bug target/55909] libtool test exposes what I think is some alignment issue in libstdc++

2013-03-27 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55909



Eric Botcazou ebotcazou at gcc dot gnu.org changed:



   What|Removed |Added



 CC||marc.girod at gmail dot com



--- Comment #44 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-03-27 
10:22:44 UTC ---

*** Bug 56734 has been marked as a duplicate of this bug. ***


[Bug target/49423] [4.6/4.7/4.8/4.9 Regression] [arm] internal compiler error: in push_minipool_fix

2013-03-27 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49423



Eric Botcazou ebotcazou at gcc dot gnu.org changed:



   What|Removed |Added



 CC||ebotcazou at gcc dot

   ||gnu.org, rearnsha at gcc

   ||dot gnu.org



--- Comment #18 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-03-27 
10:26:37 UTC ---

I just posted a patch about it:

  http://gcc.gnu.org/ml/gcc-patches/2013-03/msg00939.html


[Bug bootstrap/56752] New: GCC fails to bootstrap on Debian GNU/Linux 7.0 (wheezy) when x32 libraries aren't installed

2013-03-27 Thread prosfilaes at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56752



 Bug #: 56752

   Summary: GCC fails to bootstrap on Debian GNU/Linux 7.0

(wheezy) when x32 libraries aren't installed

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: bootstrap

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: prosfil...@gmail.com





Created attachment 29737

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29737

Last lines of compilation



I ran CC=gcc-4.6 ../gcc-4.8.0/configure

--prefix=/home/prosfilaes/bin/gcc-4.8.0/

--enable-languages=ada,c,c++,java,fortran

and then

make bootstrap

It fails with 

In file included from /usr/include/stdio.h:28:0,

 from ../../../../gcc-4.8.0/libgcc/../gcc/tsystem.h:87,

 from ../../../../gcc-4.8.0/libgcc/libgcc2.c:27:

/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or

directory

 #include bits/predefs.h

  ^

compilation terminated.

make[5]: *** [_muldi3.o] Error 1

make[5]: Leaving directory

`/home/prosfilaes/Program_Source/gcc-480-objdir/x86_64-unknown-linux-gnu/32/libgcc'

(fuller log attached)

Poking at it, this seems to be telling me that I don't have a 32-bit

development package installed, which is true, but shouldn't it stop at

configure and tell me that instead of erring out in the middle of compilation

with an unhelpful error message?


[Bug middle-end/56341] GCC produces unaligned data access

2013-03-27 Thread bernd.edlinger at hotmail dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56341



--- Comment #9 from Bernd Edlinger bernd.edlinger at hotmail dot de 
2013-03-27 10:36:48 UTC ---

Hello GCC-Maintainers,



what do you think? Should'nt this patch be in the 4.6.4 release?


[Bug tree-optimization/37021] Fortran Complex reduction / multiplication not vectorized

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37021



--- Comment #15 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
10:39:00 UTC ---

Author: rguenth

Date: Wed Mar 27 10:38:29 2013

New Revision: 197158



URL: http://gcc.gnu.org/viewcvs?rev=197158root=gccview=rev

Log:

2013-03-27  Richard Biener  rguent...@suse.de



PR tree-optimization/37021

* tree-vect-data-refs.c (vect_check_strided_load): Allow

REALPART/IMAGPART_EXPRs around the supported refs.

* tree-ssa-structalias.c (find_func_aliases): Assume that

floating-point values are not used to transfer pointers.



* gfortran.dg/vect/fast-math-pr37021.f90: New testcase.



Added:

trunk/gcc/testsuite/gfortran.dg/vect/fast-math-pr37021.f90

Modified:

trunk/gcc/ChangeLog

trunk/gcc/testsuite/ChangeLog

trunk/gcc/tree-ssa-structalias.c

trunk/gcc/tree-vect-data-refs.c


[Bug tree-optimization/37021] Fortran Complex reduction / multiplication not vectorized

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37021



--- Comment #16 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
10:40:40 UTC ---

We now vectorize this testcase by means of using strided loads, relying on

store motion turning the store to self(i) in the innermost look into a

reduction (no support for vectorized strided stores).


[Bug bootstrap/56752] GCC fails to bootstrap on Debian GNU/Linux 7.0 (wheezy) when x32 libraries aren't installed

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56752



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||INVALID



--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
10:42:24 UTC ---

No, that's the way it always has been.


[Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751

2013-03-27 Thread mpolacek at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

 AssignedTo|unassigned at gcc dot   |mpolacek at gcc dot gnu.org

   |gnu.org |



--- Comment #12 from Marek Polacek mpolacek at gcc dot gnu.org 2013-03-27 
10:52:06 UTC ---

Let me try something.


[Bug bootstrap/56752] GCC fails to bootstrap on Debian GNU/Linux 7.0 (wheezy) when x32 libraries aren't installed

2013-03-27 Thread prosfilaes at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56752



David Starner prosfilaes at gmail dot com changed:



   What|Removed |Added



 Status|RESOLVED|UNCONFIRMED

 Resolution|INVALID |



--- Comment #2 from David Starner prosfilaes at gmail dot com 2013-03-27 
10:55:02 UTC ---

I don't understand how that's the way it always has been is an answer. If

there's a library missing (especially one the installation instructions don't

mention), it should tell you that, not fail in the middle with an obscure error

message. That it has done in it in the past doesn't justify the behavior.


[Bug bootstrap/56752] GCC fails to bootstrap on Debian GNU/Linux 7.0 (wheezy) when x32 libraries aren't installed

2013-03-27 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56752



--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2013-03-27 
11:00:16 UTC ---

How do you propose to check that?



You might not have a 32-bit compiler with which to test those headers during

configuration, so it's not easy to test them until after we've bootstrapped a

multilib compiler.


[Bug c++/56746] [4.8 regression] increased memory usage when compiling C++

2013-03-27 Thread mathias at gaunard dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56746



--- Comment #2 from Mathias Gaunard mathias at gaunard dot com 2013-03-27 
11:04:08 UTC ---

The preprocessed file is 7 megabytes, which exceeds what I can attach here.

I do not think it is practical to reduce it with automatic tools.

Would it be ok to provide it as-is?



The flags used are -fno-strict-aliasing -Wall -Wno-unused

-Wno-delete-non-virtual-dtor  -mxop -fabi-version=4 -O2.-O2


[Bug bootstrap/56752] GCC fails to bootstrap on Debian GNU/Linux 7.0 (wheezy) when 32-bit libraries aren't installed

2013-03-27 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56752



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||documentation

 Status|UNCONFIRMED |NEW

   Last reconfirmed||2013-03-27

Summary|GCC fails to bootstrap on   |GCC fails to bootstrap on

   |Debian GNU/Linux 7.0|Debian GNU/Linux 7.0

   |(wheezy) when x32 libraries |(wheezy) when 32-bit

   |aren't installed|libraries aren't installed

 Ever Confirmed|0   |1



--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2013-03-27 
11:08:20 UTC ---

Also this is nothing to do with x32, which is a different ABI, you just mean

32-bit.



Confirming as a dcoumentation bug,

http://gcc.gnu.org/install/specific.html#x86-64-x-x could mention that building

a bi-arch compiler requires both 32-bit and 64-bit libc


[Bug c++/56746] [4.8 regression] increased memory usage when compiling C++

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56746



--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
11:09:28 UTC ---

You can reduce it at least somewhat and then compress it with bzip2.


[Bug c++/56746] [4.8 regression] increased memory usage when compiling C++

2013-03-27 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56746



--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2013-03-27 
11:12:45 UTC ---

You should be able to attach it if you compress it.


[Bug tree-optimization/56213] strided load vectorization is unnecessarily restricted

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56213



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2013-03-27

 Ever Confirmed|0   |1



--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
11:12:56 UTC ---

2013-03-27  Richard Biener  rguent...@suse.de



PR tree-optimization/37021

* tree-vect-data-refs.c (vect_check_strided_load): Allow

REALPART/IMAGPART_EXPRs around the supported refs.

* tree-ssa-structalias.c (find_func_aliases): Assume that

floating-point values are not used to transfer pointers.



* gfortran.dg/vect/fast-math-pr37021.f90: New testcase.



relaxes this a tiny bit.


[Bug tree-optimization/54939] Very poor vectorization of loops with complex arithmetic

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54939



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

 Blocks||37021

 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org

   |gnu.org |



--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
11:19:49 UTC ---

Confirmed.  GCC vectorizes this using hybrid SLP - it unrolls the loop once

to be able to vectorize two minus and two adds resulting from the complex

multiplication.



The PR is kind-of a duplicate of PR37021 where also a reduction and

a variable stride is involved.  So fixing this bug is required to more

efficiently vectorize PR37021.



Note that even this bug has multiple issues that need to be tackled.

I happen to work on them.


[Bug rtl-optimization/56745] [4.8/4.9 Regression] ICE in merge_if_block

2013-03-27 Thread mikpe at it dot uu.se


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56745



Mikael Pettersson mikpe at it dot uu.se changed:



   What|Removed |Added



 CC||mikpe at it dot uu.se



--- Comment #1 from Mikael Pettersson mikpe at it dot uu.se 2013-03-27 
11:20:58 UTC ---

Started with http://gcc.gnu.org/r193098.


[Bug fortran/56650] Odd error messages with C_SIZEOF for valid code

2013-03-27 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56650



--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2013-03-27 
11:23:41 UTC ---

Author: burnus

Date: Wed Mar 27 10:45:58 2013

New Revision: 197159



URL: http://gcc.gnu.org/viewcvs?rev=197159root=gccview=rev

Log:

2013-03-27  Tobias Burnus  bur...@net-b.de



PR fortran/56650

PR fortran/36437

* check.c (gfc_check_sizeof, gfc_check_c_sizeof,

gfc_check_storage_size): Update checks.

* intrinsic.texi (SIZEOF): Correct class.

* intrinsic.h (gfc_simplify_sizeof,

gfc_simplify_storage_size): New prototypes.

* intrinsic.c (add_functions): Use them.

* simplify.c (gfc_simplify_sizeof,

gfc_simplify_storage_size): New functions.



2013-03-27  Tobias Burnus  bur...@net-b.de



PR fortran/56650

PR fortran/36437

* gfortran.dg/sizeof_2.f90: New.

* gfortran.dg/sizeof_3.f90: New.

* gfortran.dg/sizeof_proc.f90: Update dg-error.





Added:

trunk/gcc/testsuite/gfortran.dg/sizeof_2.f90

trunk/gcc/testsuite/gfortran.dg/sizeof_3.f90

Modified:

trunk/gcc/fortran/ChangeLog

trunk/gcc/fortran/check.c

trunk/gcc/fortran/intrinsic.c

trunk/gcc/fortran/intrinsic.h

trunk/gcc/fortran/intrinsic.texi

trunk/gcc/fortran/simplify.c

trunk/gcc/testsuite/ChangeLog

trunk/gcc/testsuite/gfortran.dg/sizeof_proc.f90


[Bug fortran/56650] Odd error messages with C_SIZEOF for valid code

2013-03-27 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56650



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||FIXED



--- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2013-03-27 
11:23:55 UTC ---

FIXED on the 4.9 trunk.


[Bug fortran/36437] Simplify argument to [c_]sizeof

2013-03-27 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36437



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



 CC||burnus at gcc dot gnu.org



--- Comment #8 from Tobias Burnus burnus at gcc dot gnu.org 2013-03-27 
11:24:06 UTC ---

Author: burnus

Date: Wed Mar 27 10:45:58 2013

New Revision: 197159



URL: http://gcc.gnu.org/viewcvs?rev=197159root=gccview=rev

Log:

2013-03-27  Tobias Burnus  bur...@net-b.de



PR fortran/56650

PR fortran/36437

* check.c (gfc_check_sizeof, gfc_check_c_sizeof,

gfc_check_storage_size): Update checks.

* intrinsic.texi (SIZEOF): Correct class.

* intrinsic.h (gfc_simplify_sizeof,

gfc_simplify_storage_size): New prototypes.

* intrinsic.c (add_functions): Use them.

* simplify.c (gfc_simplify_sizeof,

gfc_simplify_storage_size): New functions.



2013-03-27  Tobias Burnus  bur...@net-b.de



PR fortran/56650

PR fortran/36437

* gfortran.dg/sizeof_2.f90: New.

* gfortran.dg/sizeof_3.f90: New.

* gfortran.dg/sizeof_proc.f90: Update dg-error.





Added:

trunk/gcc/testsuite/gfortran.dg/sizeof_2.f90

trunk/gcc/testsuite/gfortran.dg/sizeof_3.f90

Modified:

trunk/gcc/fortran/ChangeLog

trunk/gcc/fortran/check.c

trunk/gcc/fortran/intrinsic.c

trunk/gcc/fortran/intrinsic.h

trunk/gcc/fortran/intrinsic.texi

trunk/gcc/fortran/simplify.c

trunk/gcc/testsuite/ChangeLog

trunk/gcc/testsuite/gfortran.dg/sizeof_proc.f90


[Bug tree-optimization/18438] vectorizer failed for vector matrix multiplication

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18438



--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
11:27:31 UTC ---

The issue is that we cannot use a vector v4sf store to opoints[i][0]

as opoints[i][4] is not stored to.  Such masked store (or interleaved

store with gaps) is not supported by SLP.


[Bug fortran/36437] Simplify argument to [c_]sizeof

2013-03-27 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36437



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #9 from Tobias Burnus burnus at gcc dot gnu.org 2013-03-27 
11:29:51 UTC ---

FIXED on the 4.9 trunk.



There might be still bugs - especially for the ill-defined vendor extension

SIZEOF, but possibly also for C_SIZEOF and STORAGE_SIZE, but most cases should

be handled correctly (including rejecting arguments like TYPE(*)).


[Bug tree-optimization/21998] (cond ? result1 : result2) is vectorized, where equivalent if-syntax isn't (store)

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21998



--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
11:32:19 UTC ---

Note that the concern is also that a1 may be mapped to a read-only segment,

so introducing a store data-race may trap.  That's probably out of the C99

language standards scope, but the middle-end has to care about this

possibility.


[Bug rtl-optimization/31021] gfortran 20% slower than ifort on CP2K computational kernel

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31021



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |WAITING



--- Comment #14 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
11:34:28 UTC ---

Testcase is lost, the URL does no longer work.  Can you please attach it here?


[Bug libstdc++/55979] [C++11] std::list range construction imposes unnecessary conversion constraints

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55979



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED



--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
11:40:30 UTC ---

Fixed 4.8.1 too.


[Bug tree-optimization/31079] 20% difference between ifort/gfortran, missed vectorization

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31079



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

  Known to work||4.8.0

 Resolution||FIXED

   Target Milestone|--- |4.8.0



--- Comment #15 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
11:44:56 UTC ---

We vectorize the new testcase now (move the USE function to a separate TU

to not optimize everything away...).



At -O3 -ffast-math I see



4.6: 4.25s

4.7: 4.25s

4.8/trunk: 2.7s



ifort 12.1 and -fast: 3.6s



I conclude - fixed for 4.8.


[Bug rtl-optimization/31021] gfortran 20% slower than ifort on CP2K computational kernel

2013-03-27 Thread Joost.VandeVondele at mat dot ethz.ch


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31021



Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch changed:



   What|Removed |Added



 CC||Joost.VandeVondele at mat

   ||dot ethz.ch



--- Comment #15 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
2013-03-27 11:47:12 UTC ---

New URL:



https://www.dropbox.com/s/g28kdvatrgeu6hm/extracted_collocate.tgz



(contains nearly 2Mb of data needed to run the testcase).



the difference between trunk and ifort has become smaller. I'm now seeing only

5% difference (on a different CPU).



3.50946712 vs. 3.354490



I adjusted in the Makefile the ifort option to use -xHost.


[Bug tree-optimization/34378] [autovectorize]: missed optimization

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34378



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Blocks||49774

 Resolution||FIXED



--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
11:48:50 UTC ---

Both loops are vectorized now, the one in test2 with a runtime check for

alias though.



Fixed.



Link to restrict meta-bug.


[Bug middle-end/37150] basic-block vectorization misses some unrolled loops

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37150



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org

   |gnu.org |

Summary|vectorizer misses some  |basic-block vectorization

   |loops   |misses some unrolled loops



--- Comment #14 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
12:26:40 UTC ---

Confirmed - this should be handled by BB vectorization.



t.f90:1: note: === vect_analyze_slp ===

t.f90:1: note: Failed to SLP the basic block.

t.f90:1: note: not vectorized: failed to find SLP opportunities in basic block.



a smaller, but still sensible, testcase would be appreciated.



For now BB analysis stops at



  coef_x = {};



because it cannot find a vector type for it.  If we fix that we end up

with



t.f90:1: note: === vect_slp_analyze_data_ref_dependences ===

t.f90:1: note: can't determine dependence between coef_x[_2719] and coef_x

t.f90:1: note: not vectorized: unhandled data dependence in basic block.



because dependence analysis appearantly does not handle.  If we fix that

we end up with



t.f90:1: note: can't determine dependence between coef_x[_2719] and coef_x[0]

t.f90:1: note: not vectorized: unhandled data dependence in basic block.



so the issue boils down to the fact that we first do all dependence checks

rather than look for SLP opportunities and only check dependences within

the basic-block region the SLP tree covers.


[Bug tree-optimization/38011] vectorizer ignores alignment, useless versioning

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38011



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||INVALID



--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
12:35:44 UTC ---

Not true - you aligned the pointer, not the data it points to.  There isn't

a good way to do that with an aligned attribute, the closest you can get at

is with



typedef double aligned_double __attribute__((aligned (16)));

void assignMultiplyVec(aligned_double* restrict a, aligned_double* restrict b,

   double coef, unsigned count)

{

  for(unsigned i=0; icount; i++) {

  a[i] = b[i]*coef;

  }

}



but that has the issue that a[1] is not aligned but technically you

still say so (the issue is that the array has no gaps according to

the C standard but the alignment of the element type is bigger than

its size ...).



So instead we now have an assume_aligned builtin which you can use like



void assignMultiplyVec(double* restrict a_, const double * restrict b_,

   double coef, unsigned count)

{

  double* restrict a = __builtin_assume_aligned (a_, 16);

  double* restrict b = __builtin_assume_aligned (b_, 16);

  for(unsigned i=0; icount; i++) {

a[i] = b[i]*coef;

  }

}



which does not have this issue.


[Bug middle-end/41115] Tree-vectorizer: VecCost tuning for X2: Without vectorization 30% faster

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41115



--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
12:38:05 UTC ---

It would be nice to see where we are today with respect to the cost model /

vectorizing / not vectorizing.


[Bug target/56716] during gcc 4.8.0 build on Cygwin: bid128_fma.c:4460:1: internal compiler error: Segmentation fault

2013-03-27 Thread aldot at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56716

Bernhard Reutner-Fischer aldot at gcc dot gnu.org changed:

   What|Removed |Added

 Target|i686-pc-cygwin  |i686-pc-cygwin,
   ||x86_64-unknown-linux-gnu
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-03-27
 CC||aldot at gcc dot gnu.org
 Ever Confirmed|0   |1
  Known to fail||4.9.0

--- Comment #1 from Bernhard Reutner-Fischer aldot at gcc dot gnu.org 
2013-03-27 12:43:23 UTC ---
same thing on current trunk @ targeting x86_64-unknown-linux-gnu:

$ /scratch/obj.x86_64/gcc-4.9.orig/./gcc/xgcc -v
Using built-in specs.
COLLECT_GCC=/scratch/obj.x86_64/gcc-4.9.orig/./gcc/xgcc
Target: x86_64-unknown-linux-gnu
Configured with: ../../src/gcc-4.9.orig/configure -v
--enable-languages=c,lto,fortran,c++,go LD=ld CFLAGS='-O2 -g3 -ggdb3
-fdump-ipa-all-all-all -fdump-tree-all-all-all -fdump-rtl-all-all'
CXXFLAGS='-O2 -g3 -ggdb3 -fdump-ipa-all-all-all -fdump-tree-all-all-all
-fdump-rtl-all-all' 'BOOT_CFLAGS=-O2 ' 'BOOT_CXXFLAGS=-O2 '
'CFLAGS_FOR_TARGET=-Og -g3 -ggdb3 -fdump-ipa-all-all-all
-fdump-tree-all-all-all -fdump-rtl-all-all' 'CXXFLAGS_FOR_TARGET=-Og -g3 -ggdb3
-fdump-ipa-all-all-all -fdump-tree-all-all-all -fdump-rtl-all-all' --prefix=/
--enable-shared --with-system-zlib --enable-nls --without-included-gettext
--enable-threads=posix --program-suffix=-4.9.orig-HEAD
--with-build-config='bootstrap-asan bootstrap-lto' --enable-__cxa_atexit
--enable-libstdcxx-allocator=mt --enable-clocale=gnu --enable-libstdcxx-debug
--enable-mpfr --disable-werror --enable-checking=yes --enable-debug -C
--disable-intermodule --disable-libstdcxx-pch --disable-multilib
--enable-bootstrap --enable-checking=release --with-cpu=native
--with-tune=native --enable-plugin
Thread model: posix
gcc version 4.9.0 20130327 (experimental) [fixups revision
2e9f00a:a9591cc:d18af62e3808d9860cf2a36c41367b3b3e8e3fa9] (GCC)

/scratch/obj.x86_64/gcc-4.9.orig/./gcc/xgcc
-B/scratch/obj.x86_64/gcc-4.9.orig/./gcc/ -B//x86_64-unknown-linux-gnu/bin/
-B//x86_64-unknown-linux-gnu/lib/ -isystem //x86_64-unknown-linux-gnu/include
-isystem //x86_64-unknown-linux-gnu/sys-include-Og -g3 -ggdb3
-fdump-ipa-all-all-all -fdump-tree-all-all-all -fdump-rtl-all-all -O2  -Og -g3
-ggdb3 -fdump-ipa-all-all-all -fdump-tree-all-all-all -fdump-rtl-all-all
-DIN_GCC   -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include   -fpic -mlong-double-80 -g -DIN_LIBGCC2 -fbuilding-libgcc
-fno-stack-protector   -fpic -mlong-double-80 -I. -I. -I../.././gcc
-I../../../../src/gcc-4.9.orig/libgcc -I../../../../src/gcc-4.9.orig/libgcc/.
-I../../../../src/gcc-4.9.orig/libgcc/../gcc
-I../../../../src/gcc-4.9.orig/libgcc/../include
-I../../../../src/gcc-4.9.orig/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT
-DHAVE_CC_TLS  -DUSE_TLS -o bid128_fma.o -MT bid128_fma.o -MD -MP -MF
bid128_fma.dep -c
../../../../src/gcc-4.9.orig/libgcc/config/libbid/bid128_fma.c
../../../../src/gcc-4.9.orig/libgcc/config/libbid/bid128_fma.c: In function
‘add_and_round’:
../../../../src/gcc-4.9.orig/libgcc/config/libbid/bid128_fma.c:4460:1: internal
compiler error: Segmentation fault
 }
 ^
0x9d8a50 crash_signal
../../../src/gcc-4.9.orig/gcc/toplev.c:332
0xb2572d perform_var_substitution
../../../src/gcc-4.9.orig/gcc/tree-ssa-structalias.c:2299
0xb2f97b solve_constraints
../../../src/gcc-4.9.orig/gcc/tree-ssa-structalias.c:6659
0xb2fd7b compute_points_to_sets
../../../src/gcc-4.9.orig/gcc/tree-ssa-structalias.c:6755
0xb30460 compute_may_aliases()
../../../src/gcc-4.9.orig/gcc/tree-ssa-structalias.c:6905
0x8fb395 execute_function_todo
../../../src/gcc-4.9.orig/gcc/passes.c:1941
0x8fa7b9 do_per_function
../../../src/gcc-4.9.orig/gcc/passes.c:1701
0x8fb444 execute_todo
../../../src/gcc-4.9.orig/gcc/passes.c:1996
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.
make[3]: *** [bid128_fma.o] Error 1
make[3]: Leaving directory
`/scratch/obj.x86_64/gcc-4.9.orig/x86_64-unknown-linux-gnu/libgcc'
make[2]: *** [all-stage1-target-libgcc] Error 2

[Bug tree-optimization/43434] Missed vectorization: not vectorized: data ref analysis: pointer incremented by a parameter

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43434



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |ASSIGNED

   Last reconfirmed||2013-03-27

 Blocks||37021

 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org

   |gnu.org |

 Ever Confirmed|0   |1



--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
12:45:02 UTC ---

Confirmed.  We for example have



t.c:39: note: Build SLP failed: not grouped load _46 = *pix_1;



as we fail to detect groups for



  _46 = *pix_1;

  _49 = MEM[(unsigned char *)pix_1 + 1B];

  _52 = MEM[(unsigned char *)pix_1 + 2B];

...



as the step is not integral.  That is, this is a strided-load SLP group.



I am working on a patch for this.  This is one reason why PR37021 is not

vectorized in the best possible way.


[Bug lto/55102] The options -flto and -On do not behave as described in GCC docs

2013-03-27 Thread hubicka at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55102



--- Comment #3 from Jan Hubicka hubicka at gcc dot gnu.org 2013-03-27 
12:47:04 UTC ---

Doing IPA analysis at -O0 for LTO streaming won't really solve the fact that

functions are not early optimized.  I would vote for at least issuing a waning

when LTOing -O0 objects into -On, n=1 LTO binary or simply declaring -O0 to be

non-LTO only.



But indeed, we probably should make analysis/summary streaming of all IPA

passes so -fno-ipa-cp and such works as expected all the time.  I have patch

fot that somewhere already.



We probably should lean the route of streaming the options used and honoring

them rather than taking whatever is passed to linker...


[Bug libstdc++/56753] New: vector.size() always returns 0

2013-03-27 Thread rb at oaktreepeak dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56753



 Bug #: 56753

   Summary: vector.size() always returns 0

Classification: Unclassified

   Product: gcc

   Version: 4.7.0

Status: UNCONFIRMED

  Severity: major

  Priority: P3

 Component: libstdc++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: r...@oaktreepeak.com





Test code:



/* 

 * File:   main.cpp

 * Author: rbross

 *

 * Created on March 27, 2013, 8:16 AM

 */



#include cstdlib

#include vector

#include iostream



using namespace std;



typedef vectorvoid * BS_VECTOR;



/*

 * 

 */

int main(int argc, char** argv)

{

BS_VECTORvBS;



vBS.reserve(100);

cout  Size   vBS.size()   Capacity   vBS.capacity()  endl;

vBS[10] = (void *) 0x4d3;

vBS[12] = (void *) 0x11d7;

cout  Size   vBS.size()   Capacity   vBS.capacity()  endl;

cout  vBS[10]   vBS[10]  endl;

cout  vBS[12]   vBS[12]  endl;



return 0;

}



Output:



Size 0 Capacity 100

Size 0 Capacity 100

vBS[10] 0x4d3

vBS[12] 0x11d7





Note that accessing the


[Bug middle-end/37150] basic-block vectorization misses some unrolled loops

2013-03-27 Thread Joost.VandeVondele at mat dot ethz.ch


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37150



--- Comment #15 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
2013-03-27 12:53:16 UTC ---

Created attachment 29738

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29738

maybe smaller testcase version ?



Attached is what I think is roughly the smallest kernel of this type that we

have in the code. I checked this is at least partially vectorized with ifort,

but not so with gfortran trunk. It is still not such a small testcase, I'm

afraid.


[Bug middle-end/47298] -O3 destroys beautifully vectorized code obtained at -O2

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47298



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #12 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
13:02:05 UTC ---

On trunk we now vectorize the loop and then unroll it from cunroll.



4.6 -O2 -funroll-loops -ftree-vectorize -ffast-math: 10.7s

4.6 -O3 -funroll-loops -ftree-vectorize -ffast-math: 8.3s

4.7 -O2 -funroll-loops -ftree-vectorize -ffast-math: 7.4s

4.7 -O3 -funroll-loops -ftree-vectorize -ffast-math: 8.5s

4.8 -O2 -funroll-loops -ftree-vectorize -ffast-math: 6.1s

4.8 -O3 -funroll-loops -ftree-vectorize -ffast-math: 6.5s



with -march=native added (iCore5)



4.8 -O2 ... -march=native: 3.9s

4.8 -O3 ... -march=native: 4s



Apart from very minor scheduling differences I see no difference in

code generation on trunk -O2 vs. -O3.



I'd say fixed without more details.


[Bug libstdc++/56753] vector.size() always returns 0

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56753



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||INVALID



--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
13:07:25 UTC ---

This is clearly invalid. Try building with -D_GLIBCXX_DEBUG for details.


[Bug lto/55102] The options -flto and -On do not behave as described in GCC docs

2013-03-27 Thread rguenther at suse dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55102



--- Comment #4 from rguenther at suse dot de rguenther at suse dot de 
2013-03-27 13:09:18 UTC ---

On Wed, 27 Mar 2013, hubicka at gcc dot gnu.org wrote:



 

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55102

 

 --- Comment #3 from Jan Hubicka hubicka at gcc dot gnu.org 2013-03-27 
 12:47:04 UTC ---

 Doing IPA analysis at -O0 for LTO streaming won't really solve the fact that

 functions are not early optimized.  I would vote for at least issuing a waning

 when LTOing -O0 objects into -On, n=1 LTO binary or simply declaring -O0 to 
 be

 non-LTO only.

 

 But indeed, we probably should make analysis/summary streaming of all IPA

 passes so -fno-ipa-cp and such works as expected all the time.  I have patch

 fot that somewhere already.

 

 We probably should lean the route of streaming the options used and honoring

 them rather than taking whatever is passed to linker...



Well, we _do_ stream them.  The issue is that we need to formally

define how to merge N sets of options from the N input files

at WPA stage to M sets of options for the M LTRANS units

(with eventually, but not necessarily, M == 1).



Oh, and implement it, of course.



At the moment the LTO driver (lto-wrapper.c) has a brief look at

options because it creates options for the WPA stage (which

shouldn't really care about the options passed ... in which

case it could do the option processing from the TUs and eventually

simply partition them into sets of TUs that have the same options).



So - Honza, what about first making WPA ignore all flags?

(all optimization and target flags)  IPA pass processing should

just unconditionally run and handle inputs which have the IPA

sections present.


[Bug c++/47346] access control for nested type is ignored in class template

2013-03-27 Thread jason at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346



--- Comment #10 from Jason Merrill jason at gcc dot gnu.org 2013-03-27 
13:28:24 UTC ---

Even simpler:



class B { struct C {}; };

template class T struct A { B::C c; };

Aint a;


[Bug c++/56749] [4.8/4.9 Regression] weird interaction between scoped enum used as non-type template parameter and template lookup

2013-03-27 Thread jason at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56749



Jason Merrill jason at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||rejects-valid

 Status|NEW |ASSIGNED

 CC||jason at gcc dot gnu.org

 AssignedTo|unassigned at gcc dot   |jason at gcc dot gnu.org

   |gnu.org |

   Target Milestone|--- |4.8.1


[Bug target/56716] during gcc 4.8.0 build on Cygwin: bid128_fma.c:4460:1: internal compiler error: Segmentation fault

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56716



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org

   |gnu.org |



--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
13:46:50 UTC ---

Mine. I can only reproduce this with -fdump-tree-all-all though, so I doubt

this is the original issue.


[Bug rtl-optimization/56742] Optimization bug lead to uncaught throw

2013-03-27 Thread jason at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56742



Jason Merrill jason at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jason at gcc dot gnu.org

  Component|c++ |rtl-optimization



--- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2013-03-27 
13:48:42 UTC ---

I can't reproduce this on x86_64-unknown-linux-gnu.



Is it a regression?



Changing component to rtl-optimization.


[Bug libstdc++/56753] vector.size() always returns 0

2013-03-27 Thread rb at oaktreepeak dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56753



--- Comment #2 from rb at oaktreepeak dot com 2013-03-27 14:05:11 UTC ---

It appears that you are saying that you can not assign a value to a vector

using the assignment operator[]?



All the STL docs say that you can.



Can you please elaborate?


[Bug libstdc++/56753] vector.size() always returns 0

2013-03-27 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56753



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



   Severity|major   |normal



--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2013-03-27 
14:19:24 UTC ---

(In reply to comment #0)

 vBS.reserve(100);



Either you meant resize() here or you need to read how std::vector works. 



Thousands of people use libstdc++ every day, if you think something so basic

doesn't work there's a very, very good chance the bug is in your code, not GCC.



(In reply to comment #2)

 It appears that you are saying that you can not assign a value to a vector

 using the assignment operator[]?



That's not an assignment operator.



 All the STL docs say that you can.



No they don't.


[Bug libstdc++/55977] [C++11] vector range construction imposes unnecessary conversion constraints

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55977



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|ASSIGNED|NEW



--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
14:33:25 UTC ---

std::vector and std::deque fixed for 4.8.1 too.


[Bug rtl-optimization/56742] Optimization bug lead to uncaught throw

2013-03-27 Thread ktietz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56742



--- Comment #6 from Kai Tietz ktietz at gcc dot gnu.org 2013-03-27 14:43:24 
UTC ---

Well, this issue is related to SEH exceptions.  So it is pretty clear, why you

don't see it for linux.



It is serious bug for 4.8 gcc.  From user's perspective this is a regression. 

Technical it is a bug in bb-reorder for SEH.

For 4.8 I think the above patch is the lowest invasive way to fix it.  For

trunk we might be able to use an approach as dw2 uses here.  Not sure about

later.  I will discuss with Richard Henderson.


[Bug rtl-optimization/56742] [4.8 regression] Optimization bug lead to uncaught throw

2013-03-27 Thread ktietz at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56742



Kai Tietz ktietz at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.1

Summary|Optimization bug lead to|[4.8 regression]

   |uncaught throw  |Optimization bug lead to

   ||uncaught throw


[Bug target/56716] during gcc 4.8.0 build on Cygwin: bid128_fma.c:4460:1: internal compiler error: Segmentation fault

2013-03-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56716



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|NEW

 AssignedTo|rguenth at gcc dot gnu.org  |unassigned at gcc dot

   ||gnu.org



--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org 2013-03-27 
15:12:09 UTC ---

Author: rguenth

Date: Wed Mar 27 15:10:50 2013

New Revision: 197165



URL: http://gcc.gnu.org/viewcvs?rev=197165root=gccview=rev

Log:

2013-03-27  Richard Biener  rguent...@suse.de



PR tree-optimization/56716

* tree-ssa-structalias.c (perform_var_substitution): Adjust

dumping for ref nodes.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/tree-ssa-structalias.c



Fixed the issue on trunk.  Back to analysis.


[Bug libstdc++/56753] vector.size() always returns 0

2013-03-27 Thread rb at oaktreepeak dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56753



--- Comment #4 from rb at oaktreepeak dot com 2013-03-27 15:17:14 UTC ---

I have a team of guys here and I am not attempting to be argumentative.  We are

trying to understand your rather terse comments.



Perhaps this isn't the official documentation (if there is such a thing), but

even in the example opeartor[] is used to store values:



http://www.cplusplus.com/reference/vector/vector/operator[]



I am certainly willing to learn (we all are) if you could be a bit more

descriptive.


[Bug libstdc++/56753] vector.size() always returns 0

2013-03-27 Thread rb at oaktreepeak dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56753



--- Comment #5 from rb at oaktreepeak dot com 2013-03-27 15:29:40 UTC ---

I understand what you are saying.  You must actually assign empty buckets to

get the size, even though storing and retrieving values will work correctly.


[Bug c++/56725] extra spaces in error message

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56725



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot

   |gnu.org |com



--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
15:36:16 UTC ---

Hi Manuel. I wanted to actually handle this per your indications and move on,

but I don't understand why you check the return value of permerror: shouldn't

we emit the inform anyway, either for an error or a warning?


[Bug c++/56746] [4.8 regression] increased memory usage when compiling C++

2013-03-27 Thread mathias at gaunard dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56746



--- Comment #5 from Mathias Gaunard mathias at gaunard dot com 2013-03-27 
16:41:16 UTC ---

While trying to isolate the problem, I have observed that the problem does not

occur if -save-temps is used.

While using -save-temps does not change anything with GCC 4.7, using it does

reduce memory usage significantly with GCC 4.8.



Did something change with regards to the way temporary files are handled?


[Bug libstdc++/56753] vector.size() always returns 0

2013-03-27 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56753



--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2013-03-27 
17:02:31 UTC ---

(In reply to comment #4)

 Perhaps this isn't the official documentation (if there is such a thing), but

 even in the example opeartor[] is used to store values:

 

 http://www.cplusplus.com/reference/vector/vector/operator[]



No, it's used to access existing values, not to add values to the container.



Since the size of your vector is zero there are *no* existing values and it is

undefined behaviour to call operator[], as documented at the bottom of that

page.



To change the size of the vector use resize() *not* reserve(), or add elements

with push_back() or insert().



(In reply to comment #5)

 I understand what you are saying.  You must actually assign empty buckets to

 get the size, even though storing and retrieving values will work correctly.



Your program doesn't work correctly. You're mistaking it didn't show an

obvious problem with it is working correctly.  By accessing vBS[10] you are

reading uninitialized bytes in memory, not a valid element of the vector

(because the vector *has* no valid elements, it has size()==0 i.e. it is still

empty.)



Maybe you want to use std::mapint, void* instead, which will allow vBS[10] on

an empty map and will add an entry with key 10.  In any case, Bugzilla is not

the place to learn C++.


[Bug libstdc++/56753] vector.size() always returns 0

2013-03-27 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56753



--- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org 2013-03-27 
17:03:56 UTC ---

http://en.cppreference.com/w/cpp/container/vector/operator_at is a much better

reference site than cplusplus.com, which is quite awful


[Bug c++/56725] extra spaces in error message

2013-03-27 Thread manu at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56725

--- Comment #5 from Manuel López-Ibáñez manu at gcc dot gnu.org 2013-03-27 
17:43:02 UTC ---
(In reply to comment #4)
 Hi Manuel. I wanted to actually handle this per your indications and move on,
 but I don't understand why you check the return value of permerror: shouldn't
 we emit the inform anyway, either for an error or a warning?

permerrors can be totally hidden by using -fpermissive -w no? (I haven't
actually tested it, so maybe I am wrong). If so, it would be weird to give the
note.

[Bug plugins/56754] New: some missing plugin headers during installation in gcc 4.8

2013-03-27 Thread pageexec at freemail dot hu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56754



 Bug #: 56754

   Summary: some missing plugin headers during installation in gcc

4.8

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: plugins

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: pagee...@freemail.hu





it used to be the case before 4.8 that the following files were made available

to plugins:



 target.h

 target.def

 target-hooks-macros.h



now it seems that at least for a x86_64-pc-linux-gnu target they no longer get

installed. i tried to find the related commit but came up empty so i'm

wondering if this is the result of an oversight or some policy change? manually

installing these files gets things back to normal, but it'd be nice to know

what to expect in the future or if it's a bug, fix it for 4.8.1 ;).


[Bug c++/56728] [4.8/4.9 Regression] ICE using constexpr initialization and arrays

2013-03-27 Thread jason at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56728



Jason Merrill jason at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||ice-on-invalid-code

 Status|NEW |ASSIGNED

 CC||jason at gcc dot gnu.org

 AssignedTo|unassigned at gcc dot   |jason at gcc dot gnu.org

   |gnu.org |


[Bug c++/56725] extra spaces in error message

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56725



--- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
19:28:09 UTC ---

I haven't tested anything so far, but stared a bit at the comment before

permerror and figured tgat in case of plain error (vs warning) the function

returns false thus the behavior would change. Besides that, empirically, I see

around in the front end permerrors folliwed unconditionally by informs

(actually that observation came first ;)


[Bug libfortran/56737] [4.6/4.7/4.8/4.9 Regression] Wrong I/O result with format cache for Hollerith strings

2013-03-27 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56737



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

  Known to work||4.3.4, 4.4.0

   Keywords||wrong-code

   Last reconfirmed||2013-03-27

 CC||burnus at gcc dot gnu.org,

   ||jvdelisle at gcc dot

   ||gnu.org

 Ever Confirmed|0   |1

Summary|Bizarre Hollerith edit  |[4.6/4.7/4.8/4.9

   |descriptor errors (valgrind |Regression] Wrong I/O

   |shows uninitialized value   |result with format cache

   |in libgfortran) |for Hollerith strings

   Target Milestone|--- |4.6.4

  Known to fail||4.5.3, 4.6.3, 4.7.2, 4.8.0,

   ||4.9.0



--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2013-03-27 
19:32:32 UTC ---

Seems to be a regression in libgfortran. It works with gfortran 4.3 and 4.4,

but fails with gfortran 4.5 to 4.9.



(Compiling with 4.9 and running with libgfortran 4.3 works, i.e. the regression

must be in libgfortran.)



It works if one disables the format cache.







If one adds some debugging output to write_constant_string, one sees that for

the second call, the delimiter (f-u.string.p[-1]) is not 'H' - and the first

6H is also wrong.



write_constant_string: len=1: f-u.string.p=' '- delim='H'

write_constant_string: len=1: f-u.string.p=' '- delim='H'

write_constant_string: len=1: f-u.string.p=' '- delim='H'

write_constant_string: len=6: f-u.string.p='= '- delim='h'

write_constant_string: len=6: f-u.string.p=' ='- delim='h'

   = end of level   1 =

write_constant_string: len=1: f-u.string.p=' '- delim=' '

write_constant_string: len=1: f-u.string.p=' '- delim=' '

write_constant_string: len=1: f-u.string.p=' '- delim=' '

write_constant_string: len=6: f-u.string.p='  '- delim=' '

write_constant_string: len=6: f-u.string.p=' ='- delim=' '

 end of level   1 )


[Bug other/56755] New: Global symbol demangling

2013-03-27 Thread dungtq1387 at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56755



 Bug #: 56755

   Summary: Global symbol demangling

Classification: Unclassified

   Product: gcc

   Version: 4.6.3

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: other

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dungtq1...@gmail.com





Hello,



I encountered the following bug about global symbol demangling in c++filt

versions 2.23 and 2.22. Could you please tell me how to fix it?



 c++filt _GLOBAL__sub_I__ZN4AMOS12ContigEdge_t5NCODEE

_GLOBAL__sub_I__ZN4AMOS12ContigEdge_t5NCODEE

 c++filt --version

GNU c++filt (GNU Binutils for Ubuntu) 2.23.1

Copyright 2012 Free Software Foundation, Inc.

This program is free software; you may redistribute it under the terms of

the GNU General Public License version 3 or (at your option) any later version.

This program has absolutely no warranty.





Thanks,

Bryan


[Bug other/56755] Global symbol demangling

2013-03-27 Thread mpolacek at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56755



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 CC||mpolacek at gcc dot gnu.org



--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org 2013-03-27 
19:42:39 UTC ---

c++filt is a part of binutils.


[Bug c++/56725] extra spaces in error message

2013-03-27 Thread manu at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56725

--- Comment #7 from Manuel López-Ibáñez manu at gcc dot gnu.org 2013-03-27 
19:46:57 UTC ---
(In reply to comment #6)
 I haven't tested anything so far, but stared a bit at the comment before
 permerror and figured tgat in case of plain error (vs warning) the function
 returns false thus the behavior would change. Besides that, empirically, I see
 around in the front end permerrors folliwed unconditionally by informs
 (actually that observation came first ;)

manuel@gcc10:~$ ~/test1/195333/build/gcc/cc1plus test.cc
 int docall()
test.cc:9:18: error: invalid conversion from ‘int (*)(int*)’ to ‘int
(*)(double*)’ [-fpermissive]
 f);
  ^
test.cc:4:5: error:   initializing argument 3 of ‘int callf(int, int, int
(*)(double*))’ [-fpermissive]
 int callf (int, int, int (*)(double *));
 ^

manuel@gcc10:~$ ~/test1/195333/build/gcc/cc1plus test.cc -fpermissive
[..the same but two warnings..]


manuel@gcc10:~$ ~/test1/195333/build/gcc/cc1plus test.cc -fpermissive -w
[nothing]

so if you change the second permerror to inform, and don't check the output of
permerror and fn == true, then with -fpermissive -w you get:

manuel@gcc10:~$ ~/test1/195333/build/gcc/cc1plus test.cc -fpermissive
test.cc:4:5: note:   initializing argument 3 of ‘int callf(int, int, int
(*)(double*))’ 
 int callf (int, int, int (*)(double *));
 ^

which doesn't make much sense. I added a bool return value to permerror for
this reason. error() doesn't return bool because you cannot silence it.

[Bug c++/56725] extra spaces in error message

2013-03-27 Thread manu at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56725

--- Comment #8 from Manuel López-Ibáñez manu at gcc dot gnu.org 2013-03-27 
19:48:21 UTC ---
(In reply to comment #7)

 manuel@gcc10:~$ ~/test1/195333/build/gcc/cc1plus test.cc -fpermissive
 test.cc:4:5: note:   initializing argument 3 of ‘int callf(int, int, int
 (*)(double*))’ 
  int callf (int, int, int (*)(double *));
  ^

Typo! The command-line is actually:

manuel@gcc10:~$ ~/test1/195333/build/gcc/cc1plus test.cc -fpermissive -w

[Bug c++/56725] extra spaces in error message

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56725



--- Comment #9 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
19:52:57 UTC ---

Ok, thanks! Thus, if I remember correctly that comment (true meaning warning),

looks like we want everywhere if (!permerror...) inform(... right? Otherwise if

I misremembering, we should anyway fix the existing permerror/inform sequences,

right?


[Bug libfortran/56737] [4.6/4.7/4.8/4.9 Regression] Wrong I/O result with format cache for Hollerith strings

2013-03-27 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56737



--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2013-03-27 
20:24:11 UTC ---

If one sets the breakpoint in _gfortrani_next_format, one gets for the

original, non cached version:



(gdb) p dtp-u.p.fmt.array.array[1].source

$13 = 0x7fffdec6 1H ),6h= ,a  12,i4,6h =), ...





For the second round, one gets:

(gdb) p dtp-u.p.fmt.array.array[1].source

$14 = 0x7fffdec6 ' ' repeats 26 times, =)  \f



Thus, the source string is not carried over.


[Bug c++/56725] extra spaces in error message

2013-03-27 Thread manu at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56725

--- Comment #10 from Manuel López-Ibáñez manu at gcc dot gnu.org 2013-03-27 
20:24:47 UTC ---
No, true means something was reported (error or warning), false means that
nothing was reported. The same as for pedwarn and warning. pedwarn also returns
true for --pedantic-errors, even thought it gives an error then.

So either:

if (permerror(...)) inform(...)

or 

permerror()  inform()

but I think the latter was frowned upon by the powers that be.

[Bug c++/56725] extra spaces in error message

2013-03-27 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56725



--- Comment #11 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27 
20:30:36 UTC ---

Ok, thanks a lot again. Then however we have to tweak a bit that comment too

(it only  mentions warnings for true, instead means any diagnostics is actually

reported (that's much better!))


[Bug c++/56725] extra spaces in error message

2013-03-27 Thread manu at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56725

--- Comment #12 from Manuel López-Ibáñez manu at gcc dot gnu.org 2013-03-27 
20:37:05 UTC ---
That was the intention, if the comment or the behaviour does not match this,
then I did a mistake implementing it, and it is a bug in my opinion.

[Bug tree-optimization/56756] New: ICE: verify_ssa failed (definition in block n follows the use !)

2013-03-27 Thread antoine.balestrat at gmail dot com

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56756

 Bug #: 56756
   Summary: ICE: verify_ssa failed (definition in block n follows
the use !)
Classification: Unclassified
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: antoine.balest...@gmail.com


Using GCC 4.9.0 as of 20130327 :

$ cat ssa.c
int a, *b;

void f(void)
{
if(a)
{
int k;

for(a = 0; a  1; a++)
{
int **q;
f();

for(; **q; ++**q)
lbl:
if(a)
{
a = 0;
goto lbl;
}

b = k;
}
}
goto lbl;
}

$ xgcc -O1 -w ssa.c
ssa.c: In function ‘f’:
ssa.c:3:6: error: definition in block 12 follows the use
 void f(void)
  ^
for SSA_NAME: _17 in statement:
# VUSE .MEM_21
D__lsm.5_2 = *_17;
ssa.c:3:6: internal compiler error: verify_ssa failed
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

[Bug other/56755] Global symbol demangling

2013-03-27 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56755



--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2013-03-27 
21:12:24 UTC ---

(In reply to comment #1)

 c++filt is a part of binutils.



It might be part of binutils but the mangler is part of libiberty whos official

copy is part of GCC.


[Bug c++/56757] New: ICE in int_cst_value/get_non_default_template_args_count on invalid source

2013-03-27 Thread ppluzhnikov at google dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56757



 Bug #: 56757

   Summary: ICE in

int_cst_value/get_non_default_template_args_count on

invalid source

Classification: Unclassified

   Product: gcc

   Version: unknown

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: ppluzhni...@google.com





While doing creduce for something else, I noticed that current trunk (r197163)

dumped core on invalid reduction.



I then creduce'd the invalid to this gibberish:





/// --- cut ---

namespace std template  class, class  struct pair;

struct less struct _Select1st

}

template  typename, typename, typename, typename, typename  class _Rb_tree;

namespace std template  typename _Key, typename _Compare = std:less,

typename _Alloc 

class map

{

typedef _Key key_type

typedef std::pair  value_type

typedef _Compare key_compare

typedef typename _Alloc::template rebind  value_type ::other

_Pair_alloc_type

typedef _Rb_tree  key_type, value_type, _Select1st,

key_compare, _Pair_alloc_type  _Rep_type

typedef typename _Rep_type::iterator iterator

std::pair  iterator, bool  insert () return

/// --- cut ---





gdb -q cc1plus

(gdb) run pp1.ii 2 /dev/null



Program received signal SIGSEGV, Segmentation fault.

int_cst_value (x=0x0) at ../../gcc/tree.c:10248

10248 unsigned bits = TYPE_PRECISION (TREE_TYPE (x));

(gdb) bt

#0  int_cst_value (x=0x0) at ../../gcc/tree.c:10248

#1  0x005e2ce5 in get_non_default_template_args_count

(args=0x7605f800, flags=optimized out) at ../../gcc/cp/error.c:181

#2  0x005eaf99 in dump_template_argument_list

(args=args@entry=0x7605f800, flags=flags@entry=4) at

../../gcc/cp/error.c:190

#3  0x005e4e10 in dump_decl (t=optimized out, flags=optimized out)

at ../../gcc/cp/error.c:1135

#4  0x005eb689 in dump_typename (t=optimized out, flags=optimized

out) at ../../gcc/cp/error.c:571

#5  0x005eb695 in dump_typename (t=0x760643f0, flags=4) at

../../gcc/cp/error.c:567

#6  0x005eb35b in dump_template_parms (info=optimized out,

primary=optimized out, flags=4) at ../../gcc/cp/error.c:1647

#7  0x005eb65b in dump_typename (t=0x76064738, flags=4) at

../../gcc/cp/error.c:569

#8  0x005eb35b in dump_template_parms (info=optimized out,

primary=optimized out, flags=4) at ../../gcc/cp/error.c:1647

#9  0x005e3eb6 in dump_type_prefix (t=optimized out, flags=4) at

../../gcc/cp/error.c:783

#10 0x005ede8c in dump_function_decl (t=0x76052c00, flags=4) at

../../gcc/cp/error.c:1406

#11 0x005ef7b1 in decl_as_string (decl=0x76052c00, flags=4) at

../../gcc/cp/error.c:2607

#12 0x00696303 in cxx_printable_name_internal (decl=0x76052c00,

v=2, translate=optimized out) at ../../gcc/cp/tree.c:1879

#13 0x00a80473 in announce_function (decl=optimized out) at

../../gcc/toplev.c:228

#14 0x0053aae5 in start_preparsed_function (decl1=0x76052c00,

attrs=optimized out, flags=optimized out) at ../../gcc/cp/decl.c:13071

#15 0x005fe6cc in cp_parser_late_parsing_for_member

(member_function=0x76052c00, parser=0x760611b8) at

../../gcc/cp/parser.c:22419

#16 cp_parser_class_specifier_1 (parser=0x760611b8) at

../../gcc/cp/parser.c:18534

#17 cp_parser_class_specifier (parser=0x760611b8) at

../../gcc/cp/parser.c:18558

#18 cp_parser_type_specifier (parser=parser@entry=0x760611b8,

flags=flags@entry=1, decl_specs=decl_specs@entry=0x7fffd0f0,

is_declaration=is_declaration@entry=true,

declares_class_or_enum=declares_class_or_enum@entry=0x7fffd07c, 

is_cv_qualifier=is_cv_qualifier@entry=0x7fffd07b) at

../../gcc/cp/parser.c:13641

#19 0x0061533a in cp_parser_decl_specifier_seq

(parser=parser@entry=0x760611b8, flags=flags@entry=1,

decl_specs=decl_specs@entry=0x7fffd0f0,

declares_class_or_enum=declares_class_or_enum@entry=0x7fffd0ec) at

../../gcc/cp/parser.c:10968

#20 0x006193a4 in cp_parser_single_declaration

(parser=parser@entry=0x760611b8, checks=checks@entry=0x0,

member_p=member_p@entry=false,

explicit_specialization_p=explicit_specialization_p@entry=false,

friend_p=friend_p@entry=0x7fffd1bf)

at ../../gcc/cp/parser.c:22014

#21 0x0061c153 in cp_parser_template_declaration_after_export

(parser=parser@entry=0x760611b8, member_p=optimized out) at

../../gcc/cp/parser.c:21899

#22 0x0061c9c0 in cp_parser_template_declaration

(parser=parser@entry=0x760611b8, member_p=member_p@entry=false) at

../../gcc/cp/parser.c:12190

#23 0x00623aaa in cp_parser_declaration

(parser=parser@entry=0x760611b8) at ../../gcc/cp/parser.c:10377

#24 0x0062268e in 

[Bug c++/56757] ICE in int_cst_value/get_non_default_template_args_count on invalid source

2013-03-27 Thread mpolacek at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56757



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

  Known to work||4.7.3

   Keywords||ice-on-invalid-code

   Last reconfirmed||2013-03-27

 CC||mpolacek at gcc dot gnu.org

 Ever Confirmed|0   |1

   Target Milestone|--- |4.9.0



--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org 2013-03-27 
21:34:06 UTC ---

Confirmed.


[Bug fortran/56758] New: Missing bounds check for explict-size arrays (+ character scalar storage association)

2013-03-27 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56758



 Bug #: 56758

   Summary: Missing bounds check for explict-size arrays (+

character scalar storage association)

Classification: Unclassified

   Product: gcc

   Version: 4.9.0

Status: UNCONFIRMED

  Keywords: diagnostic

  Severity: normal

  Priority: P3

 Component: fortran

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: bur...@gcc.gnu.org





NAG detects it and prints:



Actual argument for dummy array X too small -

3 elements instead of 5



call foo([a,b,c], 5)

call foo(abc, 5)

contains

subroutine foo(x,n)

  character :: x(n)

end subroutine

end





For constant length, the compiler already does so at compile time:

Warning: Actual argument contains too few elements for dummy argument 'x' (3/5)


[Bug regression/56738] [4.9 Regression] ICE in c-c++-common/torture/vshuf-v4di.c

2013-03-27 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56738



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 CC||steven at gcc dot gnu.org



--- Comment #4 from Steven Bosscher steven at gcc dot gnu.org 2013-03-27 
23:45:01 UTC ---

Bah...



Index: df-scan.c

===

--- df-scan.c   (revision 197180)

+++ df-scan.c   (working copy)

@@ -1158,8 +1158,17 @@ df_insn_delete (rtx insn)

  In any case, we expect BB to be non-NULL at least up to register

  allocation, so disallow a non-NULL BB up to there.  Not perfect

  but better than nothing...  */

-

+  /* ??? bb can also be NULL if lower-subreg.c:resolve_simple_mov emits

+ an insn into a sequence and then does delete_insn on it.  Not sure

+ if that makes sense, but for now it means this assert cannot work.

+ See PR56738.

+ Disable for now but revisit before the end of GCC 4.9 stage1.  */

+#if 0

   gcc_checking_assert (bb != NULL || reload_completed);

+#else

+  if (bb == NULL)

+return;

+#endif



   df_grow_bb_info (df_scan);

   df_grow_reg_info ();


[Bug middle-end/56729] [4.9 Regression] ICE in df_insn_delete

2013-03-27 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56729



--- Comment #5 from Steven Bosscher steven at gcc dot gnu.org 2013-03-27 
23:45:30 UTC ---

Bah.



Index: df-scan.c

===

--- df-scan.c   (revision 197180)

+++ df-scan.c   (working copy)

@@ -1158,8 +1158,17 @@ df_insn_delete (rtx insn)

  In any case, we expect BB to be non-NULL at least up to register

  allocation, so disallow a non-NULL BB up to there.  Not perfect

  but better than nothing...  */

-

+  /* ??? bb can also be NULL if lower-subreg.c:resolve_simple_mov emits

+ an insn into a sequence and then does delete_insn on it.  Not sure

+ if that makes sense, but for now it means this assert cannot work.

+ See PR56738.

+ Disable for now but revisit before the end of GCC 4.9 stage1.  */

+#if 0

   gcc_checking_assert (bb != NULL || reload_completed);

+#else

+  if (bb == NULL)

+return;

+#endif



   df_grow_bb_info (df_scan);

   df_grow_reg_info ();


[Bug middle-end/56759] New: result of __builtin_constant_p( ) is not constant enough for __builtin_choose_expr( )

2013-03-27 Thread gcc-bugzilla at codyps dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56759



 Bug #: 56759

   Summary: result of __builtin_constant_p( ) is not constant

enough for __builtin_choose_expr( )

Classification: Unclassified

   Product: gcc

   Version: 4.8.1

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: middle-end

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: gcc-bugzi...@codyps.com





Testcase:

---

static inline int x(int y)

{

return __builtin_choose_expr(__builtin_constant_p(y), 1, 0);

}



int foo(void)

{

return x(3);

}

---





$ i386-linux-gcc constant_not_constant.c  -O3 -c

constant_not_constant.c: In function 'x':

constant_not_constant.c:4:9: error: first argument to '__builtin_choose_expr'

not a constant

  return __builtin_choose_expr(__builtin_constant_p(y), 1, 0);

 ^



$ i386-linux-gcc -v

Using built-in specs.

COLLECT_GCC=i386-linux-gcc

COLLECT_LTO_WRAPPER=/home/cody/x-buildall/libexec/gcc/i386-linux/4.8.1/lto-wrapper

Target: i386-linux

Configured with: /home/cody/g/gcc/configure --target=i386-linux

--enable-targets=all --prefix=/home/cody/x-buildall --enable-languages=c

--without-headers --enable-sjlj-exceptions --with-system-libunwind

--disable-nls --disable-threads --disable-shared --disable-libmudflap

--disable-libssp --disable-libgomp --disable-decimal-float

--disable-libquadmath --enable-checking=release --disable-libatomic :

(reconfigured) /home/cody/g/gcc/configure --target=i386-linux

--enable-targets=all --prefix=/home/cody/x-buildall --enable-languages=c

--without-headers --enable-sjlj-exceptions --with-system-libunwind

--disable-nls --disable-threads --disable-shared --disable-libmudflap

--disable-libssp --disable-libgomp --disable-decimal-float

--disable-libquadmath --enable-checking=release --disable-libatomic :

(reconfigured) /home/cody/g/gcc/configure --target=i386-linux

--enable-targets=all --prefix=/home/cody/x-buildall --enable-languages=c

--without-headers --enable-sjlj-exceptions --with-system-libunwind

--disable-nls --disable-threads --disable-shared --disable-libmudflap

--disable-libssp --disable-libgomp --disable-decimal-float

--disable-libquadmath --enable-checking=release --disable-libatomic :

(reconfigured) /home/cody/g/gcc/configure --target=i386-linux

--enable-targets=all --prefix=/home/cody/x-buildall --enable-languages=c

--without-headers --enable-sjlj-exceptions --with-system-libunwind

--disable-nls --disable-threads --disable-shared --disable-libmudflap

--disable-libssp --disable-libgomp --disable-decimal-float

--disable-libquadmath --enable-checking=release --disable-libatomic

Thread model: single

gcc version 4.8.1 20130328 (prerelease) (GCC)


[Bug middle-end/56759] result of __builtin_constant_p( ) is not constant enough for __builtin_choose_expr( )

2013-03-27 Thread gcc-bugzilla at codyps dot com

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56759

--- Comment #1 from Cody P Schafer gcc-bugzilla at codyps dot com 2013-03-28 
00:56:11 UTC ---
This also affects my ubuntu gcc install:

$ gcc constant_not_constant.c  -O3 -c
constant_not_constant.c: In function ‘x’:
constant_not_constant.c:4:31: error: first argument to ‘__builtin_choose_expr’
not a constant

$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object
--enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)

[Bug libfortran/56737] [4.6/4.7/4.8/4.9 Regression] Wrong I/O result with format cache for Hollerith strings

2013-03-27 Thread jvdelisle at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56737



--- Comment #3 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2013-03-28 
02:34:32 UTC ---

Note the comment at line 728 of format.c where we must disable format caching

when we encounter FMT_STRING.  The problem is related to saving a pointer to a

string rather than the string itself.  That pointer can go out of scope on

subsequent I/O operations so caching the format data will not work.



A similar thing happens with FMT_H. Try this not regression tested yet



Index: format.c

===

--- format.c(revision 196516)

+++ format.c(working copy)

@@ -807,6 +807,7 @@

   goto data_desc;



 case FMT_H:

+  saveit = false;

   get_fnode (fmt, head, tail, FMT_STRING);

   if (fmt-format_string_len  1)

 {

@@ -984,6 +985,7 @@

   break;



 case FMT_H:

+  saveit = false;

   if (repeat  fmt-format_string_len)

 {

   fmt-error = bad_hollerith;





I get:



$ gfortran -g -o gfort_bug gfort_bug-2.f90  valgrind ./gfort_bug

==22746== Memcheck, a memory error detector

==22746== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.

==22746== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info

==22746== Command: ./gfort_bug

==22746== 

 fmt = (   3(1H ),6h= ,a  12,i4,6h =)   

 title1= end of level 

 level =1

   = end of level   1 =

 fmt = (   3(1H ),6h= ,a  12,i4,6h =)   

 title1= end of level 

 level =1

   = end of level   1 =

==22746== 

==22746== HEAP SUMMARY:

==22746== in use at exit: 0 bytes in 0 blocks

==22746==   total heap usage: 29 allocs, 29 frees, 27,978 bytes allocated

==22746== 

==22746== All heap blocks were freed -- no leaks are possible

==22746== 

==22746== For counts of detected and suppressed errors, rerun with: -v

==22746== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)



I see no burning need to cache these kinds of formats so just disable it.


[Bug plugins/56754] some missing plugin headers during installation in gcc 4.8

2013-03-27 Thread zorry at gentoo dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56754



--- Comment #1 from Magnus Granberg zorry at gentoo dot org 2013-03-28 
03:22:04 UTC ---

Revision 188166 remove TARGET_H from GIMPLE_H.

when TARGET_H did get remove from GIMPLE_H it don't get

pass to IPA_PROP_H, so it can't get pass to PLUGIN_HEADERS.