[Bug middle-end/57955] [4.8/4.9/5 Regression] Uniquization of constants reduces alignment of initializers

2015-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57955

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org ---
I'll note that (not obvious from the comments) this PR talks about the
r158838 change affecting the r201264 revision of the ppc-vector-memcpy.c test,
r201265 changed the test again, so that it doesn't fail.


[Bug libstdc++/65114] char_traits::copy violates memcpy constraints, own postcondition

2015-02-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65114

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-02-19
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
PR65049 is another case where I wonder if char_traits members should be more
consistent with the C memxxx() functions than currently specified, i.e. should
have the same preconditions as the C functions.


[Bug libstdc++/65122] std::vector doesn't honor element alignment

2015-02-19 Thread jacob.benoit.1 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

--- Comment #3 from Benoit Jacob jacob.benoit.1 at gmail dot com ---
I'd be interested in an explanation of why the default STL allocator can't just
honor the alignment of the value_type ? (The document linked in comment 2
seemed to assume that that goes without saying?)


[Bug testsuite/65116] [4.9/5 Regression] additional_sources not defined anymore during dg-final

2015-02-19 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

--- Comment #8 from vries at gcc dot gnu.org ---
(In reply to Maxim Kuvyrkov from comment #5)
 It was tested, but, obviously, not as well as it should.  I'll revert the
 change for now.

Hi Maxim,

The change was reverted on 4-9 branch. Did you also plan to revert it on trunk?

Thanks,
- Tom


[Bug ipa/65028] [5 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2015-02-19 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028

--- Comment #54 from Jan Hubicka hubicka at ucw dot cz ---
 
 diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
 index 440ced4..3bf068a 100644
 --- a/gcc/ipa-cp.c
 +++ b/gcc/ipa-cp.c
 @@ -1451,7 +1451,7 @@ propagate_alignment_accross_jump_function (struct
 cgraph_edge *cs,
else
 {
   src_idx = ipa_get_jf_ancestor_formal_id (jfunc);
 - offset = ipa_get_jf_ancestor_offset (jfunc);
 + offset = ipa_get_jf_ancestor_offset (jfunc) / BITS_PER_UNIT;
 }
 
src_lats = ipa_get_parm_lattices (caller_info, src_idx);

Hehe, patch is OK
What about the lattice operations patch. If it looks fine to you, i will
regtest/bootstrap and commit.

Honza


[Bug testsuite/65116] [4.9/5 Regression] additional_sources not defined anymore during dg-final

2015-02-19 Thread mkuvyrkov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

Maxim Kuvyrkov mkuvyrkov at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #10 from Maxim Kuvyrkov mkuvyrkov at gcc dot gnu.org ---
Fixed by the above commit.

Will re-apply the change with this fix on 4.9 branch in a week if everything
looks OK.


[Bug ipa/65028] [5 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2015-02-19 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028

--- Comment #53 from H.J. Lu hjl.tools at gmail dot com ---
(In reply to Martin Jambor from comment #52)
 So, as you might have guessed from the previous comment, this is the
 fix.  I should have left the office half an hour ago so I will
 properly bootstrap and test and submit it tomorrow, but feel free to
 do all of that yourself, if you do not want to wait.
 
 diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
 index 440ced4..3bf068a 100644
 --- a/gcc/ipa-cp.c
 +++ b/gcc/ipa-cp.c
 @@ -1451,7 +1451,7 @@ propagate_alignment_accross_jump_function (struct
 cgraph_edge *cs,
else
 {
   src_idx = ipa_get_jf_ancestor_formal_id (jfunc);
 - offset = ipa_get_jf_ancestor_offset (jfunc);
 + offset = ipa_get_jf_ancestor_offset (jfunc) / BITS_PER_UNIT;
 }
  
src_lats = ipa_get_parm_lattices (caller_info, src_idx);

I verified that it fixed 252.eon on x32.  Thanks.


[Bug testsuite/65093] 26_numerics/random/binomial_distribution/operators/values.cc times out on slow targets

2015-02-19 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65093

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

   What|Removed |Added

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

--- Comment #3 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
(In reply to Hans-Peter Nilsson from comment #1)
 (It's just odd that no FAIL has been observed before, as the test itself
 hasn't changed for quite some time, like 1.5 year since the last two
 camel-back-breaking subtests were added.)

The test was enabled relatively recently for my autotesters, for the 4.9 branch
as late as 2014-12-17 (c:a r218800) and for trunk about 2015-02-15 (c:a
r220715).  This happened automatically.  The cause is most probably an update
of newlib, to a version with the pieces missing for dg-require-cstdint or
dg-require-cmath to be true.  Automatic updates only happen when the branch is
regression-free and only if the results after a tentative update would still be
regression-free.  There's no specific log event for tests that pass after an
update.


[Bug ipa/65028] [5 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2015-02-19 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028

--- Comment #55 from H.J. Lu hjl.tools at gmail dot com ---
Another issue is propagate_constants_accross_call has

  for (; (i  args_count)  (i  parms_count); i++)
{
  struct ipa_jump_func *jump_func = ipa_get_ith_jump_func (args, i);
  struct ipcp_param_lattices *dest_plats;

  dest_plats = ipa_get_parm_lattices (callee_info, i);
  if (availability == AVAIL_INTERPOSABLE)
ret |= set_all_contains_variable (dest_plats);
  else
{
  ret |= propagate_scalar_accross_jump_function (cs, jump_func,
 dest_plats-itself);
  ret |= propagate_context_accross_jump_function (cs, jump_func, i,
  dest_plats-ctxlat);
  ret |= propagate_alignment_accross_jump_function (cs, jump_func,
dest_plats);
  ret |= propagate_aggs_accross_jump_function (cs, jump_func,
   dest_plats);
}
}

Even if availability == AVAIL_INTERPOSABLE, alignment from jump_func
is used if the function isn't preempted at run-time.  Shouldn't it
call propagate_alignment_accross_jump_function unconditionally?


[Bug testsuite/65093] 26_numerics/random/binomial_distribution/operators/values.cc times out on slow targets

2015-02-19 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65093

--- Comment #2 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
Author: hp
Date: Thu Feb 19 19:30:03 2015
New Revision: 220821

URL: https://gcc.gnu.org/viewcvs?rev=220821root=gccview=rev
Log:
PR testsuite/65093
* testsuite/26_numerics/random/binomial_distribution/operators/values.cc
(test01): Add explanatory comment.  Keep only the bd1 sub-test and
split out bd2, bd3, bd4, and bd5 sub-tests into...
* testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
New separate files with the old parts.

Added:
   
trunk/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values2.cc
   
trunk/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values3.cc
   
trunk/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values4.cc
   
trunk/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values5.cc
Modified:
trunk/libstdc++-v3/ChangeLog
   
trunk/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc


[Bug fortran/65125] New: ISO_10646 characters and transfer statement

2015-02-19 Thread zbeekman at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65125

Bug ID: 65125
   Summary: ISO_10646 characters and transfer statement
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: zbeekman at gmail dot com

Created attachment 34810
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34810action=edit
reproducer program

I am on OS X Yosemite, 10.10.2 with a 64bit Intel CPU. 
Gfortran is version: NU Fortran (Homebrew gcc49 4.9.2_1 --enable-fortran) 4.9.2

I'm trying to make a portable json library that will behave gracefully when
encountering compilers whose ISO_10646 support is lacking. To achieve this, for
certain variables use the character kind defined as:

integer, parameter :: CK =
merge(tsource=selected_char_kind('ISO_10646'),fsource=selected_char_kind('DEFAULT'),mask=selected_char_kind('ISO_10646')
/= -1)

The error handling of the library needs a way to both DEFAULT and ISO_10646
characters, but overloading the error handling routine to have two interfaces
won't work because when ISO_10646 *isn't* supported the two specific routines
will have matching interfaces. As a work around, I would like to print the hex
representation of characters that are `kind=CK` that is possibly ISO_10646 or
DEFAULT. To accomplish this I have written a function `char_to_hex(c)` to try
to print the hex representation of the character. To do this, I am using
`transfer()` to puth the passed in single character into a sufficiently large
integer, and using the `z8.8` edit descriptor to convert to the function result
which is ALWAYS represented in `kind='DEFAULT'` characters (so that I can
safely pass it to the error handling routine).

The problem is that it appears the transfer statement is only writing 2 nibbles
(one byte) to the integer, or  the z8.8 is only fetching two nibbles of the
int32 integer. Forexample, the output for a Unicode SNOWFLAKE is 0x00E2
when it should be: 0x00E29d84. I think the problem is the transfer statement,
since I observe some strange behavior if I modify the char_to_hex() function to
accept len=4 character strings, and adjust the inputs to be the character in
question followed by 4 spaces, and adjust the storage container to int64 and
edit descriptor to z18.18. Now SNOWFLAKE prints out as 0x0x009D00E2:
two most significant nibbles are on the right, then 6 zero nibbles to the left,
the 3rd and 4th most significant nibbles, then more zeroes.

Am I missing something? If not, I think this is a bug.


[Bug testsuite/65116] [4.9/5 Regression] additional_sources not defined anymore during dg-final

2015-02-19 Thread mkuvyrkov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

--- Comment #9 from Maxim Kuvyrkov mkuvyrkov at gcc dot gnu.org ---
Author: mkuvyrkov
Date: Thu Feb 19 19:57:30 2015
New Revision: 220822

URL: https://gcc.gnu.org/viewcvs?rev=220822root=gccview=rev
Log:
Fix PR testsuite/65116

PR testsuite/65116
* lib/target-supports.exp (check_compile): Check whether
additional_sources is defined before using it.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/lib/target-supports.exp



[Bug c++/62204] internal compiler error with -Wall

2015-02-19 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62204

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
Fixed by r218729 I think.


[Bug libstdc++/58357] [5 Regression] In C++11 std::rotate(first, middle, last) now should return a forward iterator to first + (last - middle).

2015-02-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58357

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org ---
Done.


[Bug libstdc++/58357] [5 Regression] In C++11 std::rotate(first, middle, last) now should return a forward iterator to first + (last - middle).

2015-02-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58357

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org ---
Author: redi
Date: Thu Feb 19 20:57:40 2015
New Revision: 220823

URL: https://gcc.gnu.org/viewcvs?rev=220823root=gccview=rev
Log:
PR libstdc++/58357
* include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
* include/bits/stl_algo.h (__rotate, rotate): Likewise.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/algorithmfwd.h
trunk/libstdc++-v3/include/bits/stl_algo.h


[Bug libstdc++/65122] std::vector doesn't honor element alignment

2015-02-19 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

--- Comment #4 from Marc Glisse glisse at gcc dot gnu.org ---
(In reply to Benoit Jacob from comment #3)
 I'd be interested in an explanation of why the default STL allocator can't
 just honor the alignment of the value_type ?

[allocator.members] It is implementation-defined whether over-aligned types
are supported so we don't really have to. the storage is obtained by calling
::operator new(std::size_t) so we can't use posix_memalign (providing a
separate allocator that does could be a good idea though). We could, when the
type is over-aligned, do the usual trick of requesting too much memory so we
have enough margin to find a suitably aligned region inside, and write a marker
before so we remember where the real allocation started. That might be what was
tried in PR55727 (I didn't check), the maintainers might be ok with this if
someone posts a patch.

But calling new T would still be broken. It seems better in the long term to
add the aligned versions of operator new and make both new and std::allocator
use those (in the standard). Note that there would be ABI issues switching from
the trick in the previous paragraph to this.


[Bug libstdc++/65122] std::vector doesn't honor element alignment

2015-02-19 Thread jacob.benoit.1 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

--- Comment #5 from Benoit Jacob jacob.benoit.1 at gmail dot com ---
So while the standard says that over-aligned types dont have to be supported,
it also says in 3.11/9 in
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf that:

 If a request for a specific extended alignment in a specific context is not 
 supported by an implementation,
 the program is ill-formed. Additionally, a request for runtime allocation of 
 dynamic storage for which the
 requested alignment cannot be honored shall be treated as an allocation 
 failure

In my naive understanding, that sounds like if over-aligned allocation is not
supported then it must be an allocation failure (i.e. not fail silently to
honor alignment).

That's relevant because failing all over-allocated allocations is probably not
something that a compiler could do in the real world (that would break a lot of
existing software) and so this 3.11/9 clause might then be de-facto forcing
compilers to support over-allocated allocation.

What do you think? How else would you interprete 3.11/9?


[Bug libstdc++/65122] std::vector doesn't honor element alignment

2015-02-19 Thread jacob.benoit.1 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

--- Comment #6 from Benoit Jacob jacob.benoit.1 at gmail dot com ---
(In reply to Marc Glisse from comment #4)
 the storage is obtained by
 calling ::operator new(std::size_t) so we can't use posix_memalign

Ouch. That's very unfortunate. I see. I would still be interested in how you
understand 3.11/9 and how to reconcile it with that without breaking a lot of
software.


[Bug testsuite/65116] additional_sources not defined anymore during dg-final

2015-02-19 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

--- Comment #1 from vries at gcc dot gnu.org ---
Presumably same thing happens for pr47218.C, which saves temps:
...
/* { dg-options -save-temps } */
...

And cleans them up:
...
// { dg-final { cleanup-saved-temps } 
...

but also has additional sources:
...
/* { dg-additional-sources pr47218-1.C } */
...

Of which the temps are not cleaned up:
...
pr47218-1.o pr47218-1.ii pr47218-1.s
...


[Bug tree-optimization/62630] [5 regression] gcc.dg/graphite/vect-pr43423.c FAILs

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62630

--- Comment #15 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to Mircea Namolaru from comment #14)
 It seems to me that scalar evolution succeeds to determine
 the number of iterations for the case of signed longs. Looking
 in vectorization dump, first a symbolic expression for the number of 
 iterations of a loop is found, and then vect_analyze_refs is entered.
 The problem is that the code expect an offset of a load to be an induction
 variable, 
 but in our case an offset is only a cast of an induction variable, like
 below:
 
  _56 = (intD.6) graphite_IV.5_53;
  _55 = aD.1830[_56];
 
 The offset is found not to be an affine expression, and vectorization don't
 succeed. But as the offset is a cast of an induction variable, it has the
 same
 behaviour as an induction variable even if formally is not one.

This is not true - the cast of the induction variable is not an affine IV
as the cast introduces wrapping if the IV exceeds the range of the casted-to
type.  number-of-iteration analysis can come to the rescue here but it has
a very hard time, especially on the 2nd loop.  It would be good to improve
it anyway but we can hardly blame it solely for the problems ;)

 It seems to
 me
 that somehow extending the code to support casts of induction variables
 will solve our this problem.


[Bug rtl-optimization/44404] auto-inc-dec generates an invalid assembly instruction

2015-02-19 Thread cbaylis at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44404

cbaylis at gcc dot gnu.org changed:

   What|Removed |Added

 CC||gilles.chanteperdrix@xenoma
   ||i.org

--- Comment #9 from cbaylis at gcc dot gnu.org ---
*** Bug 38674 has been marked as a duplicate of this bug. ***


[Bug middle-end/38674] When storing in a register the address of a value contained in the same register, gcc 4.3.2 on ARM clobbers the register before saving its content on the stack.

2015-02-19 Thread cbaylis at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38674

cbaylis at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from cbaylis at gcc dot gnu.org ---
This appears to have been fixed by r161920

2010-07-07  Bernd Schmidt  ber...@codesourcery.com

PR rtl-optimization/44404
* auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
possible, use reg_overlap_mentioned_p instead.

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


[Bug testsuite/65116] additional_sources not defined anymore during dg-final

2015-02-19 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

vries at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mkuvyrkov at gcc dot gnu.org

--- Comment #3 from vries at gcc dot gnu.org ---
I suspect those errors are due to Maxim's recent checkin. Maybe missing exist
test?


[Bug c/65117] New: xtensa: With -Os, invalid parameter c1 for reg_class_subset_p() to cause segment fault.

2015-02-19 Thread gang.chen.5i5j at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65117

Bug ID: 65117
   Summary: xtensa: With -Os, invalid parameter c1 for
reg_class_subset_p() to cause segment fault.
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gang.chen.5i5j at gmail dot com

The related source file:

# cat r100.i

#pragma pack()

struct r100_cs_cube_info {
 char a[17];
 unsigned int width;
 unsigned int height;
};

struct r100_cs_track_texture {
 char a[96];
 struct r100_cs_cube_info cube_info[5];
 unsigned int tex_coord_type;
 unsigned int txdepth;
 char roundup_h;
};

struct r100_cs_track {
 char a[89];
 unsigned int num_cb;
 unsigned int num_texture;
 struct r100_cs_track_texture textures[2];
};

struct radeon_device;
void r100_cs_track_clear(int x, struct r100_cs_track *y)
{
 int i, j;

 for (i = 0; i  y-num_texture; i++) {
  if (x = 8)
   y-textures[i].txdepth = 0;
  else {
   y-textures[i].txdepth = 9;
   y-textures[i].tex_coord_type = 1;
  }
  y-textures[i].roundup_h = 0;
  if (y-num_cb)
   for (j= 0; j  5; j++) {
y-textures[i].cube_info[j].width = 2;
y-textures[i].cube_info[j].height = 2;
   }
 }
}


The related issue:

# /upstream/release-xtensa/libexec/gcc/xtensa-gchen-elf32/5.0.0/cc1 -Os r100.i  

r100.i: In function 'r100_cs_track_clear':
r100.i:43:1: internal compiler error: Segmentation fault
 }
 ^
0xa4427f crash_signal
../../gcc-xtensa/gcc/toplev.c:383
0x9c79c0 reg_class_subset_p(int, int)
../../gcc-xtensa/gcc/reginfo.c:1221
0x9d7a0c find_reloads(rtx_insn*, int, int, int, short*)
../../gcc-xtensa/gcc/reload.c:3678
0x9e2cbb reload_as_needed
../../gcc-xtensa/gcc/reload1.c:4688
0x9e8460 reload(rtx_insn*, int)
../../gcc-xtensa/gcc/reload1.c:1092
0x8cdb2d do_reload
../../gcc-xtensa/gcc/ira.c:5430
0x8cdb2d execute
../../gcc-xtensa/gcc/ira.c:5589


The related version:

# /upstream/release-xtensa/bin/xtensa-gchen-elf32-gcc -v
Using built-in specs.
COLLECT_GCC=/upstream/release-xtensa/bin/xtensa-gchen-elf32-gcc
COLLECT_LTO_WRAPPER=/upstream/release-xtensa/libexec/gcc/xtensa-gchen-elf32/5.0.0/lto-wrapper
Target: xtensa-gchen-elf32
Configured with: ../gcc-xtensa/configure --target=xtensa-gchen-elf32
--prefix=/upstream/release-xtensa --disable-nls --enable-languages=c
--disable-threads --disable-shared --enable-libssp --disable-libquadmath
--disable-libgomp --disable-libatomic
Thread model: single
gcc version 5.0.0 20150219 (experimental) (GCC) 
# /upstream/release-xtensa/bin/xtensa-gchen-elf32-ld -v
GNU ld (GNU Binutils) 2.25.51.20150219


I shall try to fix it within this month, at present, the direct cause is: for
reg_class_subset_p(), the upper caller passes an incorrect parameter c1 which
value is -926186479, and this issue has only effect with -Os (no effect with
-O0, or -O2 ...).


[Bug testsuite/65116] New: additional_sources not defined anymore during dg-final

2015-02-19 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

Bug ID: 65116
   Summary: additional_sources not defined anymore during dg-final
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: trivial
  Priority: P3
 Component: testsuite
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vries at gcc dot gnu.org

When running vect-simd-clone-10.c, a file vect-simd-clone-10a.c.126t.vect is
left in the test directory.

The testcase lists vect-simd-clone-10a.c as addditional source:
...
/* { dg-additional-sources vect-simd-clone-10a.c } */
...

Then the test-case cleans up the respective tree-dump:
...
/* { dg-final { cleanup-tree-dump vect } } */
...

The cleanup-tree-dump calls cleanup-dump, which intends to take
additional_sources into account.

However, the global additional_sources declaration is missing, so the exists
additional_sources will always return false.

And if we add the global additional_sources declaration, it still fails,
because additional_sources is empty. It has been reset by
dg-additional-files-options, which is called by gcc_target_compile, which is
called by gcc-dg-test-1, which is called by gcc-dg-test, which is called by
dg-test as ${tool}-dg-test.

dg-test does the the dg-final-code processing after the ${tool}-dg-test so at
that point additional_sources is empty.


[Bug libstdc++/65113] string::copy violates traits requirements

2015-02-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65113

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-02-19
 Ever confirmed|0   |1


[Bug lto/65012] [5 Regression] systemd fails to build at least on ppc64el, powerpc, arm-inux-gnueabihf and aarch64 with -flto (ICE)

2015-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65012

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Thu Feb 19 11:56:00 2015
New Revision: 220810

URL: https://gcc.gnu.org/viewcvs?rev=220810root=gccview=rev
Log:
PR lto/65012
* varpool.c (varpool_node::get_constructor): Return early
if this-lto_file_data is NULL.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/varpool.c


[Bug sanitizer/65112] [5 Regression] -fsanitized=thread Fortran program crashes at startup

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65112

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug testsuite/65116] additional_sources not defined anymore during dg-final

2015-02-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Is this related to these errors I'm seeing in the libstdc++ testsuite?

ERROR: 18_support/type_info/fundamental.cc: can't read additional_sources: no
such variable for  dg-require-effective-target 2 dfp 

ERROR: 17_intro/shared_with_static_deps.cc: can't read additional_sources: no
such variable for  dg-require-effective-target 4 fpic 

ERROR: 21_strings/c_strings/char/3_neg.cc: can't read additional_sources: no
such variable for  dg-do 1 compile { target
correct_iso_cpp_string_wchar_protos } 

ERROR: 21_strings/c_strings/wchar_t/3_neg.cc: can't read
et_cache(correct_iso_cpp_string_wchar_protos,value): no such element in array
for  dg-do 1 compile { target correct_iso_cpp_string_wchar_protos } 

ERROR: 22_locale/collate/compare/wchar_t/wrapped_env.cc: can't read
additional_sources: no such variable for  dg-require-iconv 4 ISO8859-1 

...


[Bug testsuite/65116] [4.9/5 Regression] additional_sources not defined anymore during dg-final

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
   Target Milestone|--- |4.9.3
Summary|additional_sources not  |[4.9/5 Regression]
   |defined anymore during  |additional_sources not
   |dg-final|defined anymore during
   ||dg-final
   Severity|trivial |blocker

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Also broken on the 4.9 branch.  Was this ever tested?!


[Bug rtl-optimization/64317] [5 Regression] Ineffective allocation of PIC base register

2015-02-19 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64317

--- Comment #12 from Jeffrey A. Law law at redhat dot com ---
I'm very aware that the x86 backend doesn't support a fixed PIC register
anymore.  

RA was going to have to spill something.  THe PIC register is needed in three
different loops, L0, L1 and L2.  L0 needs 9 general purpose registers, L8 needs
8 general purpose registers and L2 needs 9 general purpose registers.  ie,
there's going to be spills, there's simply no way around it.

r107 (PIC pseudo) gets split into 3 allocnos.  A1, A11 and A237, covering Loops
0, 2, 1 respectively.  It's live throughout most of the resultant function by
way of explicit references and the need to have %ebx set up prior to external
calls.

For Loop 1  Loop 2, the respective allocnos (A237, A11) are not used/set
within the loop at all, ie, they are transparent within their respective loops.
 IRA does exactly what we want here by keeping the PIC register in memory which
frees up a register within those loops for other objects that are used within
the loop.  Of course, to do that we have to reload the value for the uses
outside the boundary of those loops.

Loop 0 (bbs 0, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19) is the most
interesting and is the one where we have those annoying reloads.

One of the things I notice is that LRA is generating sequences like:
(insn 581 89 90 6 (set (reg:SI 3 bx [107])
(mem/c:SI (plus:SI (reg/f:SI 7 sp)
(const_int 28 [0x1c])) [4 %sfp+-4 S4 A32])) j.c:19 90
{*movsi_internal}
 (nil))
(insn 90 581 91 6 (set (reg/f:SI 3 bx [orig:142 D.2145 ] [142])
(mem/f/c:SI (plus:SI (reg:SI 3 bx [107])
(const:SI (unspec:SI [
(symbol_ref:SI (out) [flags 0x2] var_decl
0x7670bc60 out)
] UNSPEC_GOTOFF))) [1 out+0 S4 A32])) j.c:19 90
{*movsi_internal}
 (nil))

Note how we load %ebx from memory, then use/clobber it in the next insn.  That
makes it impossible for the post-reload optimizers to help clean this up.  How
hard would it be to generate code in LRA where those two insns set different
registers in those local snippets of code?

In this particular case, %ebp is locally available and there's no strong reason
why we have to use %ebx.   By using different destinations for insns 581 and
90, the source MEM of insn 581 would be available after insn 90.  And by making
the value available postreload-gcse would be able to commonize those loads.


[Bug c/65120] [5 Regression] Wlogical-not-parentheses should not warn about double exclamation !!

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65120

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
And yes, the required

  if ((!!a) == b)

is totally fugly.


[Bug testsuite/65116] [4.9/5 Regression] additional_sources not defined anymore during dg-final

2015-02-19 Thread mkuvyrkov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

--- Comment #5 from Maxim Kuvyrkov mkuvyrkov at gcc dot gnu.org ---
It was tested, but, obviously, not as well as it should.  I'll revert the
change for now.


[Bug c/65120] New: [gcc5] Wlogical-not-parentheses should not wanr about double exclamation !!

2015-02-19 Thread jirislaby at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65120

Bug ID: 65120
   Summary: [gcc5] Wlogical-not-parentheses should not wanr about
double exclamation !!
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jirislaby at gmail dot com

While warning about
  if (!a == b)
is perfectly fine and I like it, I do not like warning about
  if (!!a = b)
at all. It generates plenty of false positives (in the Linux kernel at least)
and I doubt it can warn about an error at all.

Better than papering over this as
  if ((!aa) = b)
or by -Wno-logical-not-parentheses does not make much sense to me (opposing to
the single ! case).

Note: this is all about:
logical not is only applied to the left hand side of comparison


[Bug c/65120] [5 Regression] Wlogical-not-parentheses should not warn about double exclamation !!

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65120

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Oh, you can also workaround with

  if (b == !!a)


[Bug testsuite/65116] [4.9/5 Regression] additional_sources not defined anymore during dg-final

2015-02-19 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

--- Comment #6 from vries at gcc dot gnu.org ---
I reproduced the issue in the description field with and without Maxim's patch,
so AFAIU it's an orthogonal issue.


[Bug libstdc++/65118] New: Android target build is broken with guard.cc:36:22: fatal error: syscall.h: No such file or directory

2015-02-19 Thread aivchenk at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65118

Bug ID: 65118
   Summary: Android target build is broken with guard.cc:36:22:
fatal error: syscall.h: No such file or directory
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: aivchenk at gmail dot com

configured with: /users/aivchenk/toolchain_3/gcc/gcc-5.0/libstdc++-v3/configure
- --enable-multilib --with-cross-host=x86_64-linux-gnu --disable-bootstrap
--with-sysroot=/users/aivchenk/ndk/android-ndk-r10d/platforms/android-21/arch-x86_64/
--disable-shared --disable-libitm --disable-libsanitazer
--enable-languages=c,c++,lto
--program-transform-name=s^x86_64-linux-android- --disable-option-checking
--with-target-subdir=x86_64-linux-android --build=x86_64-linux-gnu
--host=x86_64-linux-android --target=x86_64-linux-android


/users/aivchenk/toolchain_3//gcc/gcc-4.10/libstdc++-v3/libsupc++/guard.cc:36:22:
fatal error: syscall.h: No such file or directory


Should we guard that with __ANDROID__?


[Bug lto/65012] [5 Regression] systemd fails to build at least on ppc64el, powerpc, arm-inux-gnueabihf and aarch64 with -flto (ICE)

2015-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65012

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
Fixed.


[Bug c++/65119] New: -fmessage-length= counts control characters when wrapping the caret line

2015-02-19 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65119

Bug ID: 65119
   Summary: -fmessage-length= counts control characters when
wrapping the caret line
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: manu at gcc dot gnu.org

struct {
  int y;
} x;
#define FOO
  x*x
void foo()
{
  FOO;
}


~/test1/220306M/build/gcc/cc1 test.c -fmessage-length=10
-fdiagnostics-color=always
foo
test.c: In
   function

   ‘foo’
:
test.c:4:144: error: invalid
   operands
   to 
   binary 
   * 
   (have 
   ‘struct

   anonymous’
and 
   ‘struct

   anonymous’
   )
   x*x



^
test.c:7:3: note: in
   expansion
   of 
   macro 
   ‘FOO’
   FOO;


  ^

The reason is that pp_string()
https://github.com/gcc-mirror/gcc/blob/master/gcc/diagnostic.c#L384 counts
control characters (such as the color codes) when deciding whether to wrap
around, however those characters are not normally visible thus they produce a
strange effect. In general, the whole pretty-printer wrapping is oblivious to
the color codes, which is likely to produce excessive wrapping when using
-fmessage-length=.

[Bug c/65120] [gcc5] Wlogical-not-parentheses should not warn about double exclamation !!

2015-02-19 Thread jirislaby at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65120

--- Comment #1 from Jiri Slaby jirislaby at gmail dot com ---
(In reply to Jiri Slaby from comment #0)
 Better than papering over this as
   if ((!aa) = b)

Pardon me, it should write:
  if ((!!aa) = b)


[Bug c/65120] [5 Regression] Wlogical-not-parentheses should not warn about double exclamation !!

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65120

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-02-19
  Known to work||4.9.2
   Target Milestone|--- |5.0
Summary|[gcc5]  |[5 Regression]
   |Wlogical-not-parentheses|Wlogical-not-parentheses
   |should not warn about   |should not warn about
   |double exclamation !!   |double exclamation !!
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
testcase you can compile and which warns with -Wall

int a, b;
int main()
{
  if (!!a == b)
return 1;
  return 0;
}


[Bug libstdc++/65118] Android target build is broken with guard.cc:36:22: fatal error: syscall.h: No such file or directory

2015-02-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65118

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
That's been there since 2008, why hasn't it caused a problem before now?


[Bug libstdc++/65122] New: std::vector doesn't honor element alignment

2015-02-19 Thread jacob.benoit.1 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

Bug ID: 65122
   Summary: std::vector doesn't honor element alignment
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jacob.benoit.1 at gmail dot com

Created attachment 34807
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34807action=edit
testcase

Even in C++11 mode, even with the C++11 alignas keyword, element alignment
isn't honored by std::vector.

$ g++ vectoralign.cpp -o a --std=c++11  ./a
ctor 0x2422010
ctor 0x2422050

Tested with a freshly built GCC 4.9.2 on Ubuntu x86-64.

Attaching testcase.

Note: this is morphing bug 53900.


[Bug c++/53900] [regression] Too optimistic on a alignment assert

2015-02-19 Thread jacob.benoit.1 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53900

Benoit Jacob jacob.benoit.1 at gmail dot com changed:

   What|Removed |Added

 CC||jacob.benoit.1 at gmail dot com

--- Comment #9 from Benoit Jacob jacob.benoit.1 at gmail dot com ---
(In reply to Andrew Pinski from comment #8)
 It is rather a bug in libstdc++ which should be reported separately though
 it needs an ABI change to work correctly.

Filed bug 65122 for that.


[Bug c/64748] OpenACC: is not a variable error with deviceptr()

2015-02-19 Thread tschwinge at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64748

Thomas Schwinge tschwinge at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #5 from Thomas Schwinge tschwinge at gcc dot gnu.org ---
Patch posted by Jim,
http://news.gmane.org/find-root.php?message_id=%3C54E23658.6060105%40codesourcery.com%3E.


[Bug middle-end/65074] [5 Regression] r220674 broke C++ PIEs

2015-02-19 Thread rth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65074

Richard Henderson rth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #8 from Richard Henderson rth at gcc dot gnu.org ---
Fixed.


[Bug middle-end/65074] [5 Regression] r220674 broke C++ PIEs

2015-02-19 Thread rth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65074

--- Comment #6 from Richard Henderson rth at gcc dot gnu.org ---
Author: rth
Date: Thu Feb 19 15:14:24 2015
New Revision: 220816

URL: https://gcc.gnu.org/viewcvs?rev=220816root=gccview=rev
Log:
PR middle-end/65074

 * varasm.c (default_binds_local_p_2): Don't test node-definition;
 test DECL_EXTERNAL independent of symtab_node.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/varasm.c


[Bug c/65106] C99 intialization of struct with const member through a non-const pointer

2015-02-19 Thread andrii.riabushenko at barclays dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65106

--- Comment #2 from Andrey Riabushenko andrii.riabushenko at barclays dot com 
---
Thanks Joseph for pointing out relevant standard sections, hence standard does
not allow for that.

Given that implicit copies of structs with constant members are happening today 
(pass as argument by value and return value) and some compilers do support it,
can we consider this as compiler extension?


[Bug tree-optimization/64365] [4.9 Regression] Predictive commoning after loop vectorization produces incorrect code.

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64365

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to work||4.9.3
 Resolution|--- |FIXED
   Target Milestone|5.0 |4.9.3

--- Comment #16 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug tree-optimization/64277] [4.9 Regression] Incorrect warning array subscript is above array bounds

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64277

--- Comment #20 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Thu Feb 19 14:13:16 2015
New Revision: 220815

URL: https://gcc.gnu.org/viewcvs?rev=220815root=gccview=rev
Log:
2015-02-19  Richard Biener  rguent...@suse.de

Backport from mainline
2014-12-09  Richard Biener  rguent...@suse.de

PR middle-end/64199
* fold-const.c (fold_binary_loc): Use TREE_OVERFLOW_P.

* gcc.dg/torture/pr64199.c: New testcase.

2015-01-14  Richard Biener  rguent...@suse.de

PR tree-optimization/64493
PR tree-optimization/64495
* tree-vect-loop.c (vect_finalize_reduction): For double-reductions
assign the proper vectorized PHI to the inner loop exit PHIs.

* gcc.dg/vect/pr64493.c: New testcase.
* gcc.dg/vect/pr64495.c: Likewise.

2015-01-27  Richard Biener  rguent...@suse.de

PR tree-optimization/56273
PR tree-optimization/59124
PR tree-optimization/64277
* tree-vrp.c (vrp_finalize): Emit array-bound warnings only
from the first VRP pass.

* g++.dg/warn/Warray-bounds-6.C: New testcase.
* gcc.dg/Warray-bounds-12.c: Likewise.
* gcc.dg/Warray-bounds-13.c: Likewise.

2015-02-19  Richard Biener  rguent...@suse.de

Backport from mainline
2015-01-15  Richard Biener  rguent...@suse.de

PR middle-end/64365
* tree-data-ref.c (dr_analyze_indices): Make sure that accesses
for MEM_REF access functions with the same base can never partially
overlap.

* gcc.dg/torture/pr64365.c: New testcase.

Added:
branches/gcc-4_9-branch/gcc/testsuite/g++.dg/warn/Warray-bounds-6.C
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/Warray-bounds-12.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/Warray-bounds-13.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr64199.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr64365.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr64493.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr64495.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/fold-const.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-data-ref.c
branches/gcc-4_9-branch/gcc/tree-vect-loop.c
branches/gcc-4_9-branch/gcc/tree-vrp.c


[Bug tree-optimization/64277] [4.9 Regression] Incorrect warning array subscript is above array bounds

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64277

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to work||4.8.4, 4.9.3
 Resolution|--- |FIXED
  Known to fail||4.9.2

--- Comment #21 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug target/62251] [5 Regression] FAIL: gfortran.dg/quad_2.f90 execution test

2015-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62251

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P4


[Bug debug/64935] [5 Regression] compare debug failure during building of Linux kernel

2015-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64935

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #18 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: mkuvyrkov
Date: Thu Feb 19 08:31:14 2015
New Revision: 220808

URL: https://gcc.gnu.org/viewcvs?rev=220808root=gccview=rev
Log:
Fix PR64935

* haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
(rank_for_schedule_debug): Update.
(ready_sort): Make static.  Move sorting logic to ...
(ready_sort_debug, ready_sort_real): New static functions.
(schedule_block): Sort both debug insns and real insns in preparation
for ready list trimming.  Improve debug output.
* sched-int.h (ready_sort): Remove global declaration.

* gcc.dg/pr64935-1.c, gcc.dg/pr64935-2.c: New tests.

Added:
trunk/gcc/testsuite/gcc.dg/pr64935-1.c
trunk/gcc/testsuite/gcc.dg/pr64935-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/haifa-sched.c
trunk/gcc/sched-int.h
trunk/gcc/testsuite/ChangeLog


[Bug c/65120] [5 Regression] Wlogical-not-parentheses should not warn about double exclamation !!

2015-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65120

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Looks reasonable, I'll take a look.


[Bug debug/46102] [4.8/4.9/5 Regression] ICE: SIGSEGV in dwarf2out_finish (dwarf2out.c:8490) with -feliminate-dwarf2-dups when using precompiled headers

2015-02-19 Thread aldyh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46102

--- Comment #10 from Aldy Hernandez aldyh at gcc dot gnu.org ---
Created attachment 34806
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34806action=edit
proposed patch

Proposed patch.  I will comment on the list shortly.


[Bug target/64876] Regressions in gcc-testresults for powerpc64 gccgo in 5.0 due to change for static chain for closures (219776)

2015-02-19 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64876

Peter Bergner bergner at gcc dot gnu.org changed:

   What|Removed |Added

 CC||bergner at gcc dot gnu.org

--- Comment #7 from Peter Bergner bergner at gcc dot gnu.org ---
Lynn and Alan, can we mark this as fixed now?


[Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test

2015-02-19 Thread msebor at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #4 from Martin Sebor msebor at gmail dot com ---
There's the following comment in the test:

/* Testcase could break on future gcc's, if parameter regs  
   are changed before this asm.  */

Moving the locals out of the function lets the test pass.  The attached patch
eliminates the local copy of the volatile reg_parms_t struct as well as the sp
pointer and moves the remaining locals out of all the test functions to
minimize the risk of the volatile registers getting clobbered before they are
saved.


[Bug ipa/65028] [5 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2015-02-19 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028

--- Comment #52 from Martin Jambor jamborm at gcc dot gnu.org ---
So, as you might have guessed from the previous comment, this is the
fix.  I should have left the office half an hour ago so I will
properly bootstrap and test and submit it tomorrow, but feel free to
do all of that yourself, if you do not want to wait.

diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index 440ced4..3bf068a 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -1451,7 +1451,7 @@ propagate_alignment_accross_jump_function (struct
cgraph_edge *cs,
   else
{
  src_idx = ipa_get_jf_ancestor_formal_id (jfunc);
- offset = ipa_get_jf_ancestor_offset (jfunc);
+ offset = ipa_get_jf_ancestor_offset (jfunc) / BITS_PER_UNIT;
}

   src_lats = ipa_get_parm_lattices (caller_info, src_idx);


[Bug libstdc++/65122] std::vector doesn't honor element alignment

2015-02-19 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

--- Comment #2 from Marc Glisse glisse at gcc dot gnu.org ---
IMHO the only sensible solution is in this direction:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3396.htm

I hope Clark is still working on this...


[Bug ipa/65028] [5 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2015-02-19 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028

--- Comment #51 from Martin Jambor jamborm at gcc dot gnu.org ---
So unless I made some mistake, we are looking a the following chain of
calls and aliases

main/48071 - _ZN18eonImageCalculatorC1Ev/50391 -alias-
_ZN18eonImageCalculatorC2Ev/50390 -
-_ZN12ggPhotometerC1ERK10ggSpectrumS2_S2_S2_S2_S2_S2_/49466
-alias-_ZN12ggPhotometerC2ERK10ggSpectrumS2_S2_S2_S2_S2_S2_/49465 -
- _ZmlRK10ggSpectrumS1_/46520

with the following jump functions:
callsite  main/48071 - __comp_ctor /50391 : 
   param 0: UNKNOWN
 Alignment: 16, misalignment: 0

callsite  __base_ctor /50390 - __comp_ctor /49466 : 
   param 0: UNKNOWN
 Alignment: 16, misalignment: 0
- param 1: ANCESTOR: 0, offset 192
 Unknown alignment
   param 2: ANCESTOR: 0, offset 704
 Unknown alignment
   param 3: ANCESTOR: 0, offset 448
 Unknown alignment
   param 4: UNKNOWN
 Alignment: 16, misalignment: 0
   param 5: UNKNOWN
 Alignment: 16, misalignment: 0
   param 6: UNKNOWN
 Alignment: 16, misalignment: 0
   param 7: UNKNOWN
 Alignment: 16, misalignment: 0

callsite  __base_ctor /49465 - operator*/46520 : 
   param 0: ANCESTOR: 0, offset 1088
 Unknown alignment
   param 1: PASS THROUGH: 1 op nop_expr
 Unknown alignment

from poking at things in the debugger, the offset that is marked down as
192 looks much more like 24 in reality and 24 times 8 is 192... oh
boy...


[Bug libstdc++/65124] wstring_convert not recognised as a template class.

2015-02-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65124

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
#include locale


[Bug c++/62204] internal compiler error with -Wall

2015-02-19 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62204

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-02-19
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |4.9.3
 Ever confirmed|0   |1

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed for 4.9, but can't reproduce with 4.8.  Trunks seems to be fine, let
me see what fixed it...


[Bug testsuite/65116] [4.9/5 Regression] additional_sources not defined anymore during dg-final

2015-02-19 Thread dje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65116

David Edelsohn dje at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-02-19
 CC||dje at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #7 from David Edelsohn dje at gcc dot gnu.org ---
Confirmed on AIX.


[Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test

2015-02-19 Thread msebor at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #5 from Martin Sebor msebor at gmail dot com ---
Created attachment 34809
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34809action=edit
Test patch to let it pass.


[Bug c++/62204] internal compiler error with -Wall

2015-02-19 Thread koes at cmu dot edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62204

--- Comment #1 from David Koes koes at cmu dot edu ---
Okay, I figured this out.  It is a use after free error. Line numbers are for
4.8.4. The root cause was that I had these two lines in different header files:

typedef long int128_t __attribute__((mode(TI))) __attribute__((aligned(8)));
typedef long int128_t __attribute__((mode(TI)));

The declaration with the alignment was processed by handle_aligned_attribute in
c-common.c:7446 where the type was copied and the declartion was set to the
type's name:
  tree tt = TREE_TYPE (decl);
  *type = build_variant_type_copy (*type);
  DECL_ORIGINAL_TYPE (decl) = tt;
  TYPE_NAME (*type) = decl;
  TREE_USED (*type) = TREE_USED (decl);
  TREE_TYPE (decl) = *type;

Later, in duplicate_decls (decl.c) the aligned declaration is newdecl and the
unaligned declaration is olddecl and newdecl is ultimately freed and clobbered,
but the pointer set in handle_aligned_attribute is still around.  The memory is
eventually reallocated and the data overwritten.  Later, when instantiating
templates, this tree pointer (now pointing to something that isn't a tree) is
accessed and the compiler crashes.

It's easy enough for me to fix my code to prevent the crash, but I generally
think that no code should make the compiler crash.

I'm not sure what the standard says (especially since this involves
__attribute__), but it seems like declaring the same type with different
alignments should probably be an error.

If this is not an error, then duplicate_decls either shouldn't merge these two
types, or should correct the tree to not refer to the stale pointer.


[Bug libstdc++/65122] std::vector doesn't honor element alignment

2015-02-19 Thread jacob.benoit.1 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

--- Comment #8 from Benoit Jacob jacob.benoit.1 at gmail dot com ---
If there is a defect in the standard, isn't it in the part that forces the
compiler to not use the useful type information that it has, that is, the
above-quoted the storage is obtained by calling ::operator new(std::size_t) ?


[Bug libstdc++/65122] std::vector doesn't honor element alignment

2015-02-19 Thread jacob.benoit.1 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

--- Comment #9 from Benoit Jacob jacob.benoit.1 at gmail dot com ---
s/compiler/standard library


[Bug libstdc++/65122] std::vector doesn't honor element alignment

2015-02-19 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

--- Comment #7 from Marc Glisse glisse at gcc dot gnu.org ---
(In reply to Benoit Jacob from comment #6)
 I would still be interested in how you understand 3.11/9

I consider it a defect in the standard, so it needs fixing, not
understanding...


[Bug c/65120] [5 Regression] Wlogical-not-parentheses should not warn about double exclamation !!

2015-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65120

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 34811
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34811action=edit
gcc5-pr65120.patch

Untested fix.


[Bug debug/58315] [4.8/4.9/5 Regression] Excessive memory use with -g

2015-02-19 Thread aldyh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58315

Aldy Hernandez aldyh at gcc dot gnu.org changed:

   What|Removed |Added

 CC||aldyh at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |aldyh at gcc dot gnu.org

--- Comment #7 from Aldy Hernandez aldyh at gcc dot gnu.org ---
I'm sure I'll regret it, but... I'll take a look.


[Bug libstdc++/65122] std::vector doesn't honor element alignment

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

--- Comment #10 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to Benoit Jacob from comment #6)
 (In reply to Marc Glisse from comment #4)
  the storage is obtained by
  calling ::operator new(std::size_t) so we can't use posix_memalign
 
 Ouch. That's very unfortunate. I see. I would still be interested in how you
 understand 3.11/9 and how to reconcile it with that without breaking a lot
 of software.

But ::operator new(std::size_t) could always return memory aligned for the
most over-aligned type?  Thus our default new implementation could use
posix_memalign (..., MIN (size, BIGGEST_ALIGNMENT), size)?

If the user provides its own ::new then he is on its own, of course (and
doing that and using posix_memalign in it would be a workaround for this
issue?!).


[Bug lto/65130] New: ICE with LTO on valid code on x86_64-linux-gnu

2015-02-19 Thread su at cs dot ucdavis.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65130

Bug ID: 65130
   Summary: ICE with LTO on valid code on x86_64-linux-gnu
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu

The following code causes an ICE when compiled with the current gcc trunk with
LTO on x86_64-linux-gnu in both 32-bit and 64-bit modes.

It is a regression from 4.9.x.

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 5.0.0 20150219 (experimental) [trunk revision 220822] (GCC) 
$ 
$ gcc-4.9 -flto -O1 -c foo.c
$ gcc-4.9 -flto -O2 -c main.c
$ gcc-4.9 -flto -O1 foo.o main.o
$ ./a.out
$ 
$ gcc-trunk -flto -O1 -c foo.c
$ gcc-trunk -flto -O2 -c main.c
$ gcc-trunk -flto -O1 foo.o main.o
gcc-trunk: internal compiler error: Segmentation fault (program lto1)
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
lto-wrapper: fatal error: gcc-trunk returned 4 exit status
compilation terminated.
/usr/bin/ld: lto-wrapper failed
collect2: error: ld returned 1 exit status
$ 
$ cat foo.c
extern void fn3 (void); 

void fn2(void) 
{ 
  fn3(); 
}

void fn1(void) 
{ 
  fn2(); 
}

void fn4(void) 
{ 
  fn2(); 
}
$ cat main.c
extern void fn1(void);
extern void fn4 (void); 

int a; 

void fn3(void) 
{
  for (; a;)
fn4();
}

int main() {
  fn1();
  return 0;
}
$


[Bug tree-optimization/64530] [4.9 Regression] Incorrect calculation when assigning to array with -O3

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64530

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to work||4.9.3
 Resolution|--- |FIXED

--- Comment #9 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug rtl-optimization/65123] [5 regression] lra remat places insn which breaks data flow

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65123

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ra, wrong-code
   Priority|P3  |P1
   Target Milestone|--- |5.0
Summary|[5.0 regression] lra remat  |[5 regression] lra remat
   |places insn which breaks|places insn which breaks
   |data flow   |data flow


[Bug testsuite/65126] [5 Regresion] additional_sources not defined anymore during dg-final

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65126

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-02-20
   Target Milestone|--- |5.0
Summary|additional_sources not  |[5 Regresion]
   |defined anymore during  |additional_sources not
   |dg-final|defined anymore during
   ||dg-final
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.  This is also a regression I think.


[Bug libstdc++/65131] New: Integer overflow in .size() for std::vector

2015-02-19 Thread fayard at insideloop dot io
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65131

Bug ID: 65131
   Summary: Integer overflow in .size() for std::vector
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: fayard at insideloop dot io

Hi,

The .size() method on the std::vectorT might overflow. In the case where:
- The system has a pointer size of 32 bits
- sizeof(T) == 1
- The vector has been created with a size n = 2^31
Then, as this-_M_impl._M_finish - this-_M_impl._M_start does not fit un a
std::ptrdiff_t, this difference has undefined behaviour.

  // [23.2.4.2] capacity
  /**  Returns the number of elements in the %vector.  */
  size_type
  size() const _GLIBCXX_NOEXCEPT
  { return size_type(this-_M_impl._M_finish - this-_M_impl._M_start); }

It turns out that max_size() does not prevent us from creating such an array.

  /**  Returns the size() of the largest possible %vector.  */
  size_type
  max_size() const _GLIBCXX_NOEXCEPT
  { return _Alloc_traits::max_size(_M_get_Tp_allocator()); }

As I am quite new to C++ so I prefer not to supply a patch. This bug is not
present in libc++ and they solved it this way.

  template class _Tp, class _Allocator
  typename vector_Tp, _Allocator::size_type
  vector_Tp, _Allocator::max_size() const _NOEXCEPT
  {
  return
_VSTD::minsize_type(__alloc_traits::max_size(this-__alloc()),
numeric_limitssize_type::max() / 2);  // end() = begin(), always
  }

Best regards,
Francois


[Bug testsuite/65126] [5 Regresion] additional_sources not defined anymore during dg-final

2015-02-19 Thread mkuvyrkov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65126

--- Comment #3 from Maxim Kuvyrkov mkuvyrkov at gcc dot gnu.org ---
Hi Tom,

I can't reproduce this.  I'm trying make check-gcc RUNTESTFLAGS=vect.exp on
a native x86_64 bootstrap.

What is required to trigger this?

[FWIW, I see that code handling additional_source has different paths for
remote vs local testing, so it might be triggered only with remote testing.]


[Bug debug/58123] [4.8/4.9/5 Regression] debug line not tracked for last autovariable dtor

2015-02-19 Thread asmwarrior at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58123

--- Comment #10 from asmwarrior asmwarrior at gmail dot com ---
(In reply to Jan Kratochvil from comment #8)
 (In reply to Aldy Hernandez from comment #7)
  Putting this aside for a second, my question is, do we really want a
  debugging experience where we jump from back from the end of scope, back to
  the declaration of the class?
 
 I do not think so.
 
I agree with Jan. 
Jump back to declaration of a variable may be OK for command line debugging,
but it is very annoying especially you use an IDE, which means the whole view
window get refreshed.


[Bug ipa/65028] [5 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2015-02-19 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028

--- Comment #57 from Jan Hubicka hubicka at ucw dot cz ---
 Another issue is propagate_constants_accross_call has
 
   for (; (i  args_count)  (i  parms_count); i++)
 {
   struct ipa_jump_func *jump_func = ipa_get_ith_jump_func (args, i);
   struct ipcp_param_lattices *dest_plats;
 
   dest_plats = ipa_get_parm_lattices (callee_info, i);
   if (availability == AVAIL_INTERPOSABLE)
 ret |= set_all_contains_variable (dest_plats);
   else
 {
   ret |= propagate_scalar_accross_jump_function (cs, jump_func,
  dest_plats-itself);
   ret |= propagate_context_accross_jump_function (cs, jump_func, i,
   
 dest_plats-ctxlat);
   ret |= propagate_alignment_accross_jump_function (cs, jump_func,
 dest_plats);
   ret |= propagate_aggs_accross_jump_function (cs, jump_func,
dest_plats);
 }
 }
 
 Even if availability == AVAIL_INTERPOSABLE, alignment from jump_func
 is used if the function isn't preempted at run-time.  Shouldn't it
 call propagate_alignment_accross_jump_function unconditionally?
Well, set_all_contains_variable will simply make every INTERPOSABLE function to
have
all parameters with unknown alignment.  This is probably OK because the
function is
externally visible anyway and thus called from there.

I commented on this privately to Martin some time ago.  While technically one
can find that the functions if not interposed are used one way or another, but
because we can't clone these functions (we would need to add runtime check
for interposition then), we don't have any use for that anyway.

Martin, I just tested firefox with -march=native -flto -O3 and it still
segfaults
for me at movaps, so it seems that there is still some issue with the code :(
(it happens with or withtout the propagation patch I posted)

Honza


[Bug lto/65130] [5 Regression] ICE with LTO on valid code on x86_64-linux-gnu

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65130

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-02-20
 CC||hubicka at gcc dot gnu.org
  Known to work||4.9.2
   Target Milestone|--- |5.0
Summary|ICE with LTO on valid code  |[5 Regression] ICE with LTO
   |on x86_64-linux-gnu |on valid code on
   ||x86_64-linux-gnu
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed - segfaults during WPA stage.

Program received signal SIGSEGV, Segmentation fault.
0x00a4e987 in inline_edge_summary (edge=0x768d5270)
at /space/rguenther/src/svn/trunk/gcc/ipa-inline.h:275
275   return inline_edge_summary_vec[edge-uid];
Missing separate debuginfos, use: zypper install
libgmp10-debuginfo-6.0.0-71.1.x86_64 libisl13-debuginfo-0.14-25.2.x86_64
libmpc3-debuginfo-1.0.2-38.2.x86_64
(gdb) bt
#0  0x00a4e987 in inline_edge_summary (edge=0x768d5270)
at /space/rguenther/src/svn/trunk/gcc/ipa-inline.h:275
#1  0x00a57c4d in estimate_calls_size_and_time (
node=cgraph_node* 0x768dbab8 fn4, size=0x76ac726c, 
min_size=0x76ac7250, time=0x76ac7268, hints=0x0, 
possible_truths=4294967294, known_vals=..., known_contexts=..., 
known_aggs=...)
at /space/rguenther/src/svn/trunk/gcc/ipa-inline-analysis.c:3115
...
#1234 0x00a57d62 in estimate_calls_size_and_time (
node=cgraph_node* 0x768dbab8 fn4, size=0x76ac726c, 
min_size=0x76ac7250, time=0x76ac7268, hints=0x0, 
possible_truths=4294967294, known_vals=..., known_contexts=..., 
known_aggs=...)
at /space/rguenther/src/svn/trunk/gcc/ipa-inline-analysis.c:3141
(and more)


[Bug target/65128] remove linux and unix from preprocessor macros from cpp-5

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65128

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||*-*-linux, *-*-unix,
   ||*-*-sun
  Component|preprocessor|target

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
They are indeed legacy defines.  More affected systems:

dragonfly.h:   builtin_define_std (unix); \
freebsd-spec.h: builtin_define_std (unix);  
\
gnu.h:  builtin_define_std (unix);\
kfreebsd-gnu.h: builtin_define_std (unix);\
knetbsd-gnu.h:  builtin_define_std (unix);\
kopensolaris-gnu.h: builtin_define_std (unix);\
linux.h:builtin_define_std (linux);   \
linux.h:builtin_define_std (unix);\
sol2.h: builtin_define_std (unix);\
sol2.h: builtin_define_std (sun); \


[Bug lto/64373] [4.9 regression] ICE with lto related to variably modified type

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64373

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to work||4.9.3
 Resolution|--- |FIXED
  Known to fail||4.9.2

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug tree-optimization/65063] [4.8 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65063

--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Fri Feb 20 07:32:08 2015
New Revision: 220835

URL: https://gcc.gnu.org/viewcvs?rev=220835root=gccview=rev
Log:
2015-02-20  Richard Biener  rguent...@suse.de

Backport from mainline
2015-01-12  Richard Biener  rguent...@suse.de

PR tree-optimization/64530
* tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
back dr1.

* gfortran.dg/pr64530.f90: New testcase.

2015-02-13  Richard Biener  rguent...@suse.de

PR lto/64373
* lto-streamer-out.c (tree_is_indexable): Guard for NULL
DECL_CONTEXT.

* gcc.dg/lto/pr64373_0.c: New testcase.

2015-02-16  Richard Biener  rguent...@suse.de

PR tree-optimization/63593
* tree-predcom.c (execute_pred_commoning_chain): Delay removing
stmts and releasing SSA names until...
(execute_pred_commoning): ... after processing all chains.

* gcc.dg/pr63593.c: New testcase.

2015-02-18  Richard Biener  rguent...@suse.de

PR tree-optimization/65063
* tree-predcom.c (determine_unroll_factor): Return 1 if we
have replaced looparound PHIs.

* gcc.dg/pr65063.c: New testcase.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/lto/pr64373_0.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63593.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr65063.c
branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/pr64530.f90
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/lto-streamer-out.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-loop-distribution.c
branches/gcc-4_9-branch/gcc/tree-predcom.c


[Bug tree-optimization/63593] ICE: verify_gimple failed: incompatible types in PHI argument 0 with -O3 -fno-tree-vectorize

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63593

--- Comment #9 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Fri Feb 20 07:32:08 2015
New Revision: 220835

URL: https://gcc.gnu.org/viewcvs?rev=220835root=gccview=rev
Log:
2015-02-20  Richard Biener  rguent...@suse.de

Backport from mainline
2015-01-12  Richard Biener  rguent...@suse.de

PR tree-optimization/64530
* tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
back dr1.

* gfortran.dg/pr64530.f90: New testcase.

2015-02-13  Richard Biener  rguent...@suse.de

PR lto/64373
* lto-streamer-out.c (tree_is_indexable): Guard for NULL
DECL_CONTEXT.

* gcc.dg/lto/pr64373_0.c: New testcase.

2015-02-16  Richard Biener  rguent...@suse.de

PR tree-optimization/63593
* tree-predcom.c (execute_pred_commoning_chain): Delay removing
stmts and releasing SSA names until...
(execute_pred_commoning): ... after processing all chains.

* gcc.dg/pr63593.c: New testcase.

2015-02-18  Richard Biener  rguent...@suse.de

PR tree-optimization/65063
* tree-predcom.c (determine_unroll_factor): Return 1 if we
have replaced looparound PHIs.

* gcc.dg/pr65063.c: New testcase.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/lto/pr64373_0.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63593.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr65063.c
branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/pr64530.f90
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/lto-streamer-out.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-loop-distribution.c
branches/gcc-4_9-branch/gcc/tree-predcom.c


[Bug lto/64373] [4.9 regression] ICE with lto related to variably modified type

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64373

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Fri Feb 20 07:32:08 2015
New Revision: 220835

URL: https://gcc.gnu.org/viewcvs?rev=220835root=gccview=rev
Log:
2015-02-20  Richard Biener  rguent...@suse.de

Backport from mainline
2015-01-12  Richard Biener  rguent...@suse.de

PR tree-optimization/64530
* tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
back dr1.

* gfortran.dg/pr64530.f90: New testcase.

2015-02-13  Richard Biener  rguent...@suse.de

PR lto/64373
* lto-streamer-out.c (tree_is_indexable): Guard for NULL
DECL_CONTEXT.

* gcc.dg/lto/pr64373_0.c: New testcase.

2015-02-16  Richard Biener  rguent...@suse.de

PR tree-optimization/63593
* tree-predcom.c (execute_pred_commoning_chain): Delay removing
stmts and releasing SSA names until...
(execute_pred_commoning): ... after processing all chains.

* gcc.dg/pr63593.c: New testcase.

2015-02-18  Richard Biener  rguent...@suse.de

PR tree-optimization/65063
* tree-predcom.c (determine_unroll_factor): Return 1 if we
have replaced looparound PHIs.

* gcc.dg/pr65063.c: New testcase.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/lto/pr64373_0.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63593.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr65063.c
branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/pr64530.f90
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/lto-streamer-out.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-loop-distribution.c
branches/gcc-4_9-branch/gcc/tree-predcom.c


[Bug tree-optimization/64530] [4.9 Regression] Incorrect calculation when assigning to array with -O3

2015-02-19 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64530

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Fri Feb 20 07:32:08 2015
New Revision: 220835

URL: https://gcc.gnu.org/viewcvs?rev=220835root=gccview=rev
Log:
2015-02-20  Richard Biener  rguent...@suse.de

Backport from mainline
2015-01-12  Richard Biener  rguent...@suse.de

PR tree-optimization/64530
* tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
back dr1.

* gfortran.dg/pr64530.f90: New testcase.

2015-02-13  Richard Biener  rguent...@suse.de

PR lto/64373
* lto-streamer-out.c (tree_is_indexable): Guard for NULL
DECL_CONTEXT.

* gcc.dg/lto/pr64373_0.c: New testcase.

2015-02-16  Richard Biener  rguent...@suse.de

PR tree-optimization/63593
* tree-predcom.c (execute_pred_commoning_chain): Delay removing
stmts and releasing SSA names until...
(execute_pred_commoning): ... after processing all chains.

* gcc.dg/pr63593.c: New testcase.

2015-02-18  Richard Biener  rguent...@suse.de

PR tree-optimization/65063
* tree-predcom.c (determine_unroll_factor): Return 1 if we
have replaced looparound PHIs.

* gcc.dg/pr65063.c: New testcase.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/lto/pr64373_0.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63593.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr65063.c
branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/pr64530.f90
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/lto-streamer-out.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-loop-distribution.c
branches/gcc-4_9-branch/gcc/tree-predcom.c


[Bug tree-optimization/62630] [5 regression] gcc.dg/graphite/vect-pr43423.c FAILs

2015-02-19 Thread mircea.namolaru at inria dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62630

--- Comment #16 from Mircea Namolaru mircea.namolaru at inria dot fr ---
Yes, but it seems to me that the cast (not in the original code) should not
be generated at all if it could not be guaranteed that the casted-to type is
larger 
enough to accommodate it. Otherwise you introduce a cast from a longer signed
type
to a shorter signed one whose behaviour is undefined by the C standard and was
not
in the original code.

So the cast in the following code is problematic (when
graphite_IV, a signed long is not in the range of a signed int).

   _56 = (intD.6) graphite_IV.5_53;
   _55 = aD.1830[_56];

The solution to fix this is to made Graphite not to generate
casts like this. An alternative is to infer the range of
graphite_IV like you do and remove the cast (but this seems more complicated
and risky as the analysis may not succeed and the problematic cast is not
removed).


[Bug c++/65127] New: internal compiler error: tree check: expected tree that contains 'decl minimal' structure, have 'addr_expr' in parsing_nsdmi, at cp/parser.c:18311

2015-02-19 Thread lukeallardyce at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65127

Bug ID: 65127
   Summary: internal compiler error: tree check: expected tree
that contains 'decl minimal' structure, have
'addr_expr' in parsing_nsdmi, at cp/parser.c:18311
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: lukeallardyce at gmail dot com

void make_item()
{
  static int i{100};

  struct
  {
int id{i++};
  } item;
}

int main()
{
  make_item0();
}

--

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

bug.cpp: In instantiation of 'void make_item() [with int sz = 0]':
bug.cpp:14:16:   required from here
bug.cpp:9:5: internal compiler error: tree check: expected tree that contains
'decl minimal' structure, have 'addr_expr' in parsing_nsdmi, at
cp/parser.c:18311
   } item;
 ^

bug.cpp:9:5: internal compiler error: Abort trap: 6
g++: internal compiler error: Abort trap: 6 (program cc1plus)


GCC built from trunk on 2/16


[Bug preprocessor/65128] New: remove linux and unix from preprocessor macros from cpp-5

2015-02-19 Thread shawn at churchofgit dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65128

Bug ID: 65128
   Summary: remove linux and unix from preprocessor macros
from cpp-5
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
  Assignee: unassigned at gcc dot gnu.org
  Reporter: shawn at churchofgit dot com

I just spent like a whole hour until I realized that cpp defines linux which
gives this confusing error:

src/systemctl/bootspec.h:40:15: error: expected identifier or ‘(’ before
numeric constant
 char *linux;
   ^
We should remove these defines from gcc 5, and force programs to check __unix__
and __linux__

[Bug c++/65127] internal compiler error: tree check: expected tree that contains 'decl minimal' structure, have 'addr_expr' in parsing_nsdmi, at cp/parser.c:18311

2015-02-19 Thread lukeallardyce at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65127

--- Comment #1 from Luke Allardyce lukeallardyce at gmail dot com ---
Sorry, make_item() should be templateint sz make_item()


[Bug target/65121] [5 regression] long_call attribute broken weak symbol arm*

2015-02-19 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65121

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 Target|arm-none-eabi   |arm*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-02-19
 CC||ramana at gcc dot gnu.org
  Component|regression  |target
Summary|long_call attribute broken  |[5 regression] long_call
   |weak symbol arm_none_eabi   |attribute broken weak
   ||symbol arm*
 Ever confirmed|0   |1

--- Comment #1 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
I'd expect this to fail on arm-none-linux-gnueabi(hf) too.

Confirmed.


[Bug fortran/64432] [5 Regression] SYSTEM_CLOCK(COUNT_RATE=rate) wrong result for integer(4)::rate

2015-02-19 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64432

--- Comment #25 from Jerry DeLisle jvdelisle at gcc dot gnu.org ---
(In reply to Jerry DeLisle from comment #24)
 (In reply to Harald Anlauf from comment #22)
   count_rate(8),count_max(1) =0  127
  
  OK, but the last line looks strange: lacking documentation,
  I'd expect the rate to be 1, not 0.  (Not that I'd use that
  in real code...).
 
 Yes, tha last one is wrong. I will look into it.
 

I found the problem and have it fixed.  I am traveling today so will not be
able to upload a patch until tomorrow or the next day.


[Bug ipa/65028] [5 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2015-02-19 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #50 from Martin Jambor jamborm at gcc dot gnu.org ---
Finally, I have managed to reproduce the problem locally and am looking into
it.


[Bug libstdc++/65122] std::vector doesn't honor element alignment

2015-02-19 Thread jacob.benoit.1 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65122

--- Comment #1 from Benoit Jacob jacob.benoit.1 at gmail dot com ---
Homologous libc++ bug report: http://llvm.org/bugs/show_bug.cgi?id=22634


[Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test

2015-02-19 Thread rth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

Richard Henderson rth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-02-19
   Assignee|unassigned at gcc dot gnu.org  |rth at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Richard Henderson rth at gcc dot gnu.org ---
Mine.


[Bug middle-end/65074] [5 Regression] r220674 broke C++ PIEs

2015-02-19 Thread rth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65074

--- Comment #7 from Richard Henderson rth at gcc dot gnu.org ---
Author: rth
Date: Thu Feb 19 15:48:50 2015
New Revision: 220817

URL: https://gcc.gnu.org/viewcvs?rev=220817root=gccview=rev
Log:
PR middle-end/65074

 * g++.dg/opt/pr65074.C: New file.

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


[Bug rtl-optimization/64317] [5 Regression] Ineffective allocation of PIC base register

2015-02-19 Thread vmakarov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64317

--- Comment #13 from Vladimir Makarov vmakarov at gcc dot gnu.org ---
(In reply to Jeffrey A. Law from comment #12)
 
 One of the things I notice is that LRA is generating sequences like:
 (insn 581 89 90 6 (set (reg:SI 3 bx [107])
 (mem/c:SI (plus:SI (reg/f:SI 7 sp)
 (const_int 28 [0x1c])) [4 %sfp+-4 S4 A32])) j.c:19 90
 {*movsi_internal}
  (nil))
 (insn 90 581 91 6 (set (reg/f:SI 3 bx [orig:142 D.2145 ] [142])
 (mem/f/c:SI (plus:SI (reg:SI 3 bx [107])
 (const:SI (unspec:SI [
 (symbol_ref:SI (out) [flags 0x2] var_decl
 0x7670bc60 out)
 ] UNSPEC_GOTOFF))) [1 out+0 S4 A32])) j.c:19 90
 {*movsi_internal}
  (nil))
 
 Note how we load %ebx from memory, then use/clobber it in the next insn. 
 That makes it impossible for the post-reload optimizers to help clean this
 up.  How hard would it be to generate code in LRA where those two insns set
 different registers in those local snippets of code?
 
 In this particular case, %ebp is locally available and there's no strong
 reason why we have to use %ebx.   By using different destinations for insns
 581 and 90, the source MEM of insn 581 would be available after insn 90. 
 And by making the value available postreload-gcse would be able to commonize
 those loads.

Jeff, thanks for the analysis.  PIC pseudo really can be in different regs. 
There are a lot of places in RA in what reg the pic pseudo will be placed for
particular live range.  Probably there is a place where the decision is done
for ebx without considering other alternatives.  I'll investigate this problem.


[Bug ipa/65028] [5 Regression] 450.soplex in SPEC CPU 2006 is miscompiled

2015-02-19 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028

--- Comment #49 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
The same issue also happen when I build Firefox on my amdfam10 testbox.
With -flto -march=native Firefox crashes:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff9a5fe700 (LWP 4779)]
0x7567b5cb in js::gc::ArenaCellIterImpl::reset(js::gc::ArenaHeader*) ()
from /var/tmp/moz-build-dir/dist/bin/libxul.so
(gdb) bt
#0  0x7567b5cb in
js::gc::ArenaCellIterImpl::reset(js::gc::ArenaHeader*) () from
/var/tmp/moz-build-dir/dist/bin/libxul.so
#1  0x75ae9eff in JS::Zone::discardJitCode(js::FreeOp*) [clone
.part.593] [clone .lto_priv.66751] () from
/var/tmp/moz-build-dir/dist/bin/libxul.so
#2  0x75c2bb1d in js::gc::GCRuntime::updatePointersToRelocatedCells()
() from /var/tmp/moz-build-dir/dist/bin/libxul.so
#3  0x75c36a3b in
js::gc::GCRuntime::incrementalCollectSlice(js::SliceBudget,
JS::gcreason::Reason) () from /var/tmp/moz-build-dir/dist/bin/libxul.so
#4  0x75c37bb6 in js::gc::GCRuntime::gcCycle(bool, js::SliceBudget,
JS::gcreason::Reason) () from /var/tmp/moz-build-dir/dist/bin/libxul.so
#5  0x75c381e6 in js::gc::GCRuntime::collect(bool, js::SliceBudget,
JS::gcreason::Reason) () from /var/tmp/moz-build-dir/dist/bin/libxul.so
#6  0x75258f60 in (anonymous
namespace)::GarbageCollectRunnable::WorkerRun(JSContext*,
mozilla::dom::workers::WorkerPrivate*) ()
   from /var/tmp/moz-build-dir/dist/bin/libxul.so
#7  0x752a4762 in mozilla::dom::workers::WorkerRunnable::Run() () from
/var/tmp/moz-build-dir/dist/bin/libxul.so
#8  0x75ead433 in
mozilla::dom::workers::WorkerPrivate::ProcessAllControlRunnablesLocked() [clone
.constprop.26404] () from /var/tmp/moz-build-dir/dist/bin/libxul.so
#9  0x75137dfc in (anonymous
namespace)::WorkerThreadPrimaryRunnable::Run() [clone .lto_priv.60874] () from
/var/tmp/moz-build-dir/dist/bin/libxul.so
#10 0x742f651a in nsThread::ProcessNextEvent(bool, bool*) () from
/var/tmp/moz-build-dir/dist/bin/libxul.so
#11 0x7642c0f9 in NS_ProcessNextEvent(nsIThread*, bool) [clone
.constprop.47437] () from /var/tmp/moz-build-dir/dist/bin/libxul.so
#12 0x743aeec5 in
mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*)
() from /var/tmp/moz-build-dir/dist/bin/libxul.so
#13 0x74346798 in nsThread::ThreadFunc(void*) () from
/var/tmp/moz-build-dir/dist/bin/libxul.so
#14 0x73128b5c in _pt_root () from /usr/lib/libnspr4.so
#15 0x77bc53e6 in start_thread () from /lib/libpthread.so.0
#16 0x774a06cd in clone () from /lib/libc.so.6

Using -flto -fno-ipa-cp-alignment -march=native fixes the problem.


[Bug libstdc++/65124] New: wstring_convert not recognised as a template class.

2015-02-19 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65124

Bug ID: 65124
   Summary: wstring_convert not recognised as a template class.
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: iains at gcc dot gnu.org

the following code snippet:

#include codecvt

namespace lldb_private {

class Editline
{
private:
 std::wstring_convertstd::codecvt_utf8wchar_t m_utf8conv;

 };
}

g++ -std=c++11 -S 

gives:
wstring-convert.cpp:8:11: error: ‘wstring_convert’ in namespace ‘std’ does not
name a template type
  std::wstring_convertstd::codecvt_utf8wchar_t m_utf8conv;

on both linux and darwin.

[Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test

2015-02-19 Thread rth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

Richard Henderson rth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P1  |P2
 Status|ASSIGNED|NEW

--- Comment #2 from Richard Henderson rth at gcc dot gnu.org ---
The testcase is simply buggy.

The beginning of fididisdsid contains a volatile asm (inside save_parms),
which is assumed to be scheduled immediately after the prologue.  Except
that didn't happen, and there's nothing in the testcase to make sure that
it must happen.

.L.fididisdsid:
mflr 0
std 31,-8(1)
std 30,-16(1)
std 0,16(1)
stdu 1,-144(1)
mr 31,1
std 9,112(31) -- s.dd spilled to stack
ld 6,264(31)  -- load t.a
ld 9,256(31)  -- load t.dd
ori 2,2,0
lfd 0,112(31)
#APP
 # 294 z.c 1-- Start of save_parms
ld 11,gparms@got(2)

I have no idea why the compiler should choose to spill s.dd in favor
of t.dd, but certainly it is within it's rights to do so.

In my opinion, this sort of testing can only be done via dedicated
assembly entry points, and not asm within the function body.

Not mine, and not P1 either.


  1   2   >