[Bug target/61411] [NEON] ICE in reload_cse_simplify_operands, at postreload.c:411

2014-06-06 Thread amker.cheng at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61411

--- Comment #3 from bin.cheng amker.cheng at gmail dot com ---
Then I think it's a latent bug in LRA.  It should consult back-end about
legitimized address expressions.


[Bug tree-optimization/43934] LIM should handle PHI nodes

2014-06-06 Thread chrbr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43934

--- Comment #4 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Fri Jun  6 07:21:02 2014
New Revision: 211302

URL: http://gcc.gnu.org/viewcvs?rev=211302root=gccview=rev
Log:
PR tree-optimization/43934
* tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant cost.


Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-loop-im.c


[Bug libstdc++/61425] std::regex ignores backslash when using basic or grep grammars

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

--- Comment #4 from Andreas Schwab sch...@linux-m68k.org ---
\| is just undefined in BRE, so an implementation can do whatever it wants.


[Bug middle-end/56574] False possibly uninitialized variable warning

2014-06-06 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56574

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords|wrong-code  |
 CC||ebotcazou at gcc dot gnu.org

--- Comment #8 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
 ISO C99 6.5.13 says that 'value' is not evaluated when !flag is false.  But
 clearly we are not considering the side-effect of using an uninitialized
 variable when deciding to output straight-line code sequences.

But evaluating an uninitialized variable is not a side-effect, unless accessing
the variable itself has a side-effect, so there is no wrong code here.

 Affected are at least gimple SSA if-combine and eventually fold and
 gimplification (I didn't check them).
 
 Ok, for this testcase it is fold that ends up producing a TRUTH_AND_EXPR.

This analysis looks bogus to me.


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

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
 Target||i?86-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-06
  Component|c   |target
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.  Works with -mfpmath=sse.  Initial RTL looks ok to me:

(insn 21 20 22 (set (reg:SI 99 [ stmp_sum_5.8 ])
(vec_select:SI (reg:V4SI 98 [ vect_sum_5.9 ])
(parallel [
(const_int 0 [0])
]))) -1
 (nil))

(insn 22 21 23 (parallel [
(set (reg:DF 97 [ t ])
(unsigned_float:DF (reg:SI 99 [ stmp_sum_5.8 ])))
(clobber (mem/c:DI (plus:SI (reg/f:SI 78 virtual-stack-vars)
(const_int -8 [0xfff8])) [0  S8 A64]))
(clobber (scratch:SI))
]) t.c:18 -1
 (nil))

(insn 23 22 24 (set (reg:DF 94 [ retval ])
(reg:DF 97 [ t ])) t.c:19 -1
 (nil))

So it must be a bogus *floatunssidf2_1 pattern

(insn 22 21 28 4 (parallel [
(set (reg:DF 8 st [orig:97 t ] [97])
(unsigned_float:DF (reg:SI 21 xmm0 [orig:99 stmp_sum_5.8 ]
[99])))
(clobber (mem/c:DI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [0  S8 A64]))
(clobber (scratch:SI))
]) t.c:18 211 {*floatunssidf2_1}
 (nil))

split to

(insn 39 38 40 4 (set (mem/c:DI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [0  S8 A64])
(reg:DI 21 xmm0 [orig:99 stmp_sum_5.8 ] [99])) t.c:18 89
{*movdi_internal}   
 (nil))
(insn 40 39 28 4 (set (reg:DF 8 st [orig:97 t ] [97])
(float:DF (mem/c:DI (plus:SI (reg/f:SI 7 sp)
(const_int 8 [0x8])) [0  S8 A64]))) t.c:18 206
{*floatdidf2_i387}
 (nil))

note the use of a DImode memory but the missing zero-extend of xmm0:DI.


[Bug debug/53927] wrong value for DW_AT_static_link

2014-06-06 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53927

--- Comment #12 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Author: ebotcazou
Date: Fri Jun  6 08:13:24 2014
New Revision: 211308

URL: http://gcc.gnu.org/viewcvs?rev=211308root=gccview=rev
Log:
PR debug/53927
* function.c (instantiate_decls): Process the saved static chain.
(expand_function_start): If not optimizing, save the static chain
onto the stack.
* tree-nested.c (convert_all_function_calls): Always create the static
chain for nested functions if not optimizing.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/function.c
trunk/gcc/tree-nested.c


[Bug bootstrap/61320] [4.10 regression] ICE in jcf-parse.c:1622 (parse_class_file

2014-06-06 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61320

--- Comment #31 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #30 from Thomas Preud'homme thomas.preudhomme at arm dot com ---
 Can you run the test manually under gdb and tell me what is the value for the
 out variable in hex format?

Sure: the -O0 test aborts at line 78, where out is

(gdb) p/x out
$11 = 0x44434241
(gdb) p (char[4])out
$12 = DCBA

Rainer


[Bug bootstrap/61320] [4.10 regression] ICE in jcf-parse.c:1622 (parse_class_file

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

--- Comment #32 from Thomas Preud'homme thomas.preudhomme at arm dot com ---
(In reply to r...@cebitec.uni-bielefeld.de from comment #31)
  --- Comment #30 from Thomas Preud'homme thomas.preudhomme at arm dot com 
  ---
  Can you run the test manually under gdb and tell me what is the value for 
  the
  out variable in hex format?
 
 Sure: the -O0 test aborts at line 78, where out is
 
 (gdb) p/x out
 $11 = 0x44434241
 (gdb) p (char[4])out
 $12 = DCBA
 
   Rainer

Are you sure the patch was applied to this test? Line 78 I have bfin.inval =
(struct ok) { 0x83, 0x85, 0x87, 0x89 };

The next abort about this line is under a if (out == 0x89878583) so would not
abort either. By the way, no need to do a bootstrap again or run the whole
testsuite to try this patch, only this test was changed.

[Bug lto/61123] With LTO, -fno-short-enums is ignored, resulting in ABI mis-matching in linking.

2014-06-06 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61123

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-06
 CC||ramana at gcc dot gnu.org
   Target Milestone|--- |4.10.0
 Ever confirmed|0   |1


[Bug c++/60755] lambda capturing `this` doesn't honor const qualifier of the enclosing member function

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60755

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.10.0

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com ---
I think we can close this as fixed in 4.10.0.


[Bug c++/60878] Explicit Specialization of Inner Template Class In A Template Class, Using an Enum class in Parent Template Class as Template Argument

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60878

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Closing.


[Bug c++/60771] rejects-valid: static in-class constexpr const reference initialization

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60771

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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


[Bug c++/61305] internal compiler error: in cp_tree_equal, at cp/tree.c:2371

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61305

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.10.0, 4.8.0, 4.9.0
 Resolution|--- |WORKSFORME

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
This works for me in the active branches (4.6 is not maintained anymore).


[Bug c++/60199] 'error: field initializer is not constant' when initializing static member function pointer to a function

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60199

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Yes, this is fixed, I'm adding the testcase and closing the bug.


[Bug c++/60199] 'error: field initializer is not constant' when initializing static member function pointer to a function

2014-06-06 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60199

--- Comment #3 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Fri Jun  6 09:52:33 2014
New Revision: 211310

URL: http://gcc.gnu.org/viewcvs?rev=211310root=gccview=rev
Log:
2014-06-06  Paolo Carlini  paolo.carl...@oracle.com

PR c++/60199
* g++.dg/cpp0x/constexpr-60199.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-60199.C
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug c++/60199] 'error: field initializer is not constant' when initializing static member function pointer to a function

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60199

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.10.0, 4.9.0
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com ---
Done.


[Bug c++/60432] Member pointer resolution within class definition causes segmentation fault

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60432

--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com ---
Let's add the testcase and close the bug.


[Bug c++/60432] Member pointer resolution within class definition causes segmentation fault

2014-06-06 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60432

--- Comment #6 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Fri Jun  6 10:00:55 2014
New Revision: 211312

URL: http://gcc.gnu.org/viewcvs?rev=211312root=gccview=rev
Log:
2014-06-06  Paolo Carlini  paolo.carl...@oracle.com

PR c++/60432
* g++.dg/cpp0x/constexpr-60432.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-60432.C
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug c++/60432] Member pointer resolution within class definition causes segmentation fault

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60432

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.10.0
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #7 from Paolo Carlini paolo.carlini at oracle dot com ---
Done.


[Bug c++/60184] g++ does not allow static members of named unions

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60184

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-06-06
 Blocks||55004
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
   Target Milestone|--- |4.10.0
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
Seems easy to fix.


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

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

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |ubizjak at gmail dot com

--- Comment #3 from Uroš Bizjak ubizjak at gmail dot com ---
Looking into it.

[Bug bootstrap/61320] [4.10 regression] ICE in jcf-parse.c:1622 (parse_class_file

2014-06-06 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61320

--- Comment #33 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #32 from Thomas Preud'homme thomas.preudhomme at arm dot com ---
[...]
 Are you sure the patch was applied to this test? Line 78 I have bfin.inval =
 (struct ok) { 0x83, 0x85, 0x87, 0x89 };

 The next abort about this line is under a if (out == 0x89878583) so would 
 not
 abort either. By the way, no need to do a bootstrap again or run the whole
 testsuite to try this patch, only this test was changed.

Sorry, I've been dreaming: I'd only applied

https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00294.html
and
https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00295.html

With the correct patch for bswap-2.c, the test passes for
sparc-sun-solaris2.11 (both 32 and 64-bit).

Sorry for the noise.

Rainer


[Bug middle-end/56888] memcpy implementation optimized as a call to memcpy

2014-06-06 Thread terra at gnome dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888

M Welinder terra at gnome dot org changed:

   What|Removed |Added

 CC||terra at gnome dot org

--- Comment #31 from M Welinder terra at gnome dot org ---
Extra complication: the C library's memcpy may change errno to any non-zero
value if it so desires.  (C99 section 7.5 #5.)

That means that raw calls to memcpy (and friends) cannot be generated anywhere
where the compiler is unable to prove that the value of errno isn't used.
Extra code to store and restore errno must be emitted otherwise.


[Bug bootstrap/61320] [4.10 regression] ICE in jcf-parse.c:1622 (parse_class_file

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

--- Comment #34 from Thomas Preud'homme thomas.preudhomme at arm dot com ---
Ok, committed then.


[Bug c++/51373] [C++0x] ICE for static pointer to member initialized in-class

2014-06-06 Thread vl.still at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51373

Vladimír Štill vl.still at gmail dot com changed:

   What|Removed |Added

 CC||vl.still at gmail dot com

--- Comment #3 from Vladimír Štill vl.still at gmail dot com ---
Created attachment 32899
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=32899action=edit
gcc -v result

[Bug c++/51373] [C++0x] ICE for static pointer to member initialized in-class

2014-06-06 Thread vl.still at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51373

--- Comment #4 from Vladimír Štill vl.still at gmail dot com ---
Problem is still present in 4.8.2, reproduce with following code, which
compiles in clang 3.4 (both with -std=c++11):
struct Y {
int o;
static constexpr int Y::* x = Y::o;
};

gcc -v result included in previous comment. Tested on NixOS linux x86_64.

[Bug c++/51373] [C++0x] ICE for static pointer to member initialized in-class

2014-06-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51373

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to work||4.10.0, 4.9.0
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org ---
Fixed in 4.9.0 though


[Bug middle-end/56888] memcpy implementation optimized as a call to memcpy

2014-06-06 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888

--- Comment #32 from rguenther at suse dot de rguenther at suse dot de ---
On Fri, 6 Jun 2014, terra at gnome dot org wrote:

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888
 
 M Welinder terra at gnome dot org changed:
 
What|Removed |Added
 
  CC||terra at gnome dot org
 
 --- Comment #31 from M Welinder terra at gnome dot org ---
 Extra complication: the C library's memcpy may change errno to any non-zero
 value if it so desires.  (C99 section 7.5 #5.)

That's news to me.

 That means that raw calls to memcpy (and friends) cannot be generated anywhere
 where the compiler is unable to prove that the value of errno isn't used.

That's almost impossible.

 Extra code to store and restore errno must be emitted otherwise.

That is not possible.

Note that the compiler emits calls to memcpy for struct copies anyway,
so if there is a problem it is a long-standing one.


[Bug c++/51373] [C++0x] ICE for static pointer to member initialized in-class

2014-06-06 Thread vl.still at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51373

--- Comment #6 from Vladimír Štill vl.still at gmail dot com ---
(In reply to Jonathan Wakely from comment #5)
 Fixed in 4.9.0 though

I'm glad to hear that, I could not yet installed 4.9.0 in my OS.

[Bug middle-end/56888] memcpy implementation optimized as a call to memcpy

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

--- Comment #33 from Jakub Jelinek jakub at gcc dot gnu.org ---
Yeah, I'd say we could document that gcc doesn't support any implementations
where memcpy/memmove/memset clobber errno.


[Bug middle-end/56574] False possibly uninitialized variable warning

2014-06-06 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56574

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

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #9 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
(In reply to Eric Botcazou from comment #8)
  ISO C99 6.5.13 says that 'value' is not evaluated when !flag is false.  But
  clearly we are not considering the side-effect of using an uninitialized
  variable when deciding to output straight-line code sequences.
 
 But evaluating an uninitialized variable is not a side-effect, unless
 accessing the variable itself has a side-effect, so there is no wrong code
 here.

Perhaps the uninit pass can be taught that for a  b when a may be
uninitialized is actually guarded by if(b!=0). I think this will fix the bug
here, no?

[Bug c/61428] New: maybe-uninitialized is broken in all current versions (4.7-4.10)

2014-06-06 Thread aladjev.andrew at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61428

Bug ID: 61428
   Summary: maybe-uninitialized is broken in all current
versions (4.7-4.10)
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: aladjev.andrew at gmail dot com

Created attachment 32900
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=32900action=edit
test.c

Please checkout attached test.c. There are no variables in this file, that may
be uninitialized.

gcc-4.7.3 -Werror -pedantic -Wall -Wextra -std=gnu99 -pthread -pipe -O2 test.c
-o test

test.c: In function ‘func’:
test.c:54:14: error: ‘lock_1’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors

gcc-4.8.2 -Werror -pedantic -Wall -Wextra -std=gnu99 -pthread -pipe -O2 test.c
-o test

test.c: In function ‘func’:
test.c:54:14: error: ‘lock_1’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
 free ( lock_1 );
  ^
cc1: all warnings being treated as errors

gcc-4.9.0-pre -Werror -pedantic -Wall -Wextra -std=gnu99 -pthread -pipe -O2
test.c -o test

test.c: In function ‘func’:
test.c:44:17: error: ‘lock_1’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
 free ( lock_1 );
 ^
cc1: all warnings being treated as errors

gcc-4.10.0-pre -Werror -pedantic -Wall -Wextra -std=gnu99 -pthread -pipe
-O2 test.c -o test

test.c: In function ‘func’:
test.c:44:17: error: ‘lock_1’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
 free ( lock_1 );
 ^
cc1: all warnings being treated as errors

[Bug middle-end/56574] False possibly uninitialized variable warning

2014-06-06 Thread luto at mit dot edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56574

--- Comment #10 from Andy Lutomirski luto at mit dot edu ---
See PR59500 for another example without .  I think I can reduce another test
case with only if and else.


[Bug fortran/61429] New: SYSTEM_CLOCK used with non-default integer kind does not produce warning

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

Bug ID: 61429
   Summary: SYSTEM_CLOCK used with non-default integer kind does
not produce warning
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: thatcadguy at gmail dot com

Compiling:

program main
implicit none
integer(kind=8) :: i
call system_clock(i)
end program main

with gfortran -std=f95 -pedantic -Wall -Wextra produces no warning. According
to the F95 standard (13.14.106), COUNT (optional) shall be scalar and of type
default integer (it's the same for COUNT_RATE and COUNT_MAX). It's not until
F2003 (13.7.117) that the wording is changed to COUNT (optional) shall be
scalar and of type integer.

Summary: using any other kind but default integer with system_clock should not
be allowed or give a warning under -std=f95, but should be allowed for
-std=f2003 and later.


[Bug c++/61421] Invalid -O2 optimization breaks program

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

--- Comment #19 from mimamer at gmail dot com ---
One last comment on strict aliasing rules: It is ironic that these rules are
supposed to make programs faster, but those developers that really care about
speed are prevented from implementing even moderate optimizations (see
discussion) because of these rules! Again, the concept of strict aliasing rules
is broken.


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

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

--- Comment #4 from Uroš Bizjak ubizjak at gmail dot com ---
Created attachment 32901
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=32901action=edit
Proposed patch

This patch fies invalid code gen, but unfortunately uncovers a problem in REE
pass and fails bootstrap when configured --with-arch=core-avx-i
--with-cpu=core-avx-i.

[Bug tree-optimization/59299] We do not sink loads

2014-06-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59299

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Fri Jun  6 15:31:47 2014
New Revision: 211317

URL: http://gcc.gnu.org/viewcvs?rev=211317root=gccview=rev
Log:
2014-06-06  Richard Biener  rguent...@suse.de

PR tree-optimization/59299
* tree-ssa-sink.c (all_immediate_uses_same_place): Work on
a def operand.
(nearest_common_dominator_of_uses): Likewise.
(statement_sink_location): Adjust.  Support sinking loads.

* gcc.dg/tree-ssa/ssa-sink-10.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-10.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-sink.c


[Bug middle-end/61430] New: [4.10 regression] ICE in lra_create_copy

2014-06-06 Thread christophe.lyon at st dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61430

Bug ID: 61430
   Summary: [4.10 regression] ICE in lra_create_copy
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: christophe.lyon at st dot com

Commit 211304 (Move 2nd VRP pass before phi-only-cprop) make GCC ICE when build
glibc for target arm-none-linux-gnueabihf --with-cpu=cortex-a5 (works with
cortex-a9).

Compile with:
$ arm-none-linux-gnueabihf-gcc vfscanf.i -c -std=gnu99 -O2

vfscanf.c: In function '_IO_vfscanf_internal':
vfscanf.c:2937:1: internal compiler error: in lra_create_copy, at lra.c:1368
 }
 ^
0x86ad8b lra_create_copy(int, int, int)
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/lra.c:1368
0x8836a0 process_bb_lives
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/lra-lives.c:568
0x8836a0 lra_create_live_ranges(bool)
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/lra-lives.c:1019
0x86c3b4 lra(_IO_FILE*)
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/lra.c:2212
0x82c62e do_reload
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/ira.c:5414
0x82c62e execute
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf/trunk/gcc/ira.c:5575
Please submit a full bug report,

gcc configured with:
--target=arm-none-linux-gnueabihf --enable-languages=c --with-float=hard
--enable-build-with-cxx --with-mode=arm --with-cpu=cortex-a5
--with-fpu=vfpv3-d16-fp16


[Bug tree-optimization/59299] We do not sink loads

2014-06-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59299

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug middle-end/61430] [4.10 regression] ICE in lra_create_copy

2014-06-06 Thread christophe.lyon at st dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61430

--- Comment #1 from christophe.lyon at st dot com ---
Created attachment 32902
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=32902action=edit
vfscanf.i


[Bug target/61431] New: Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

Bug ID: 61431
   Summary: Powerpc tests pack01.c and p8vector-int128-2.c fail on
little endian power8 systems
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: meissner at gcc dot gnu.org
  Host: powerpc64le-linux
Target: powerpc64le-linux
 Build: powerpc64le-linux

The pack01.c test fails on GCC 4.8 on little endian power8 systems. In looking
at it, it is a latent bug where the V1TI memory operations do not have the word
swapping define_split support.  GCC 4.9 and trunk can optimize the union to
stay in a register, so the test case passes on those systems, but it is still a
bug that would be exposed if you ever need to store vector __int128 values. 
The test p8vector-int128-2.c is such a case, and it needs the fix.


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

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

--- Comment #5 from Uroš Bizjak ubizjak at gmail dot com ---
Created attachment 32903
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=32903action=edit
Testcase that fails in REE pass

This testcase fails with patched gcc in REE pass:

cc1 -O2 -m32 -march=corei7 libgcc2.i

/home/uros/gcc-svn/trunk/libgcc/libgcc2.c: In function ‘__fixunssfdi’:
/home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1492:1: error: insn does not satisfy
its constraints:
 }
 ^
(insn 54 11 47 2 (set (reg:DI 0 ax)
(reg:DI 21 xmm0)) /home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1444 89
{*movdi_internal}
 (expr_list:REG_UNUSED (reg:DI 0 ax)
(nil)))
/home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1492:1: internal compiler error: in
copyprop_hardreg_forward_1, at regcprop.c:776
...

_split2 pass produces correct sequence:

(insn 46 11 47 2 (set (reg:DI 21 xmm0 [118])
(zero_extend:DI (reg/v:SI 0 ax [orig:85 hi ] [85])))
/home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1452 133 {*zero_extendsidi2}
 (nil))
(insn 47 46 48 2 (set (mem/c:DI (reg/f:SI 7 sp) [0  S8 A64])
(reg:DI 21 xmm0 [118])) /home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1452
89 {*movdi_internal}
 (nil))
(insn 48 47 13 2 (set (reg:DF 9 st(1) [orig:101 D.6895 ] [101])
(float:DF (mem/c:DI (reg/f:SI 7 sp) [0  S8 A64])))
/home/uros/gcc-svn/trunk/libgcc/libgcc2.c:1452 206 {*floatdidf2_i387}
 (nil))

and _ree pass converts this to:

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


Please note ivalid (insn 54).

[Bug middle-end/61430] [4.10 regression] ICE in lra_create_copy

2014-06-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61430

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||arm-none-linux-gnueabihf
 CC||vmakarov at gcc dot gnu.org
   Target Milestone|--- |4.10.0

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Well, an LRA ICE is unlikely caused by this change.  It must be a latent issue
instead.


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

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

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||law at gcc dot gnu.org

--- Comment #6 from Uroš Bizjak ubizjak at gmail dot com ---
Jeff, can you please look at what goes wrong in REE pass?

[Bug middle-end/61428] maybe-uninitialized is broken in all current versions (4.7-4.10)

2014-06-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61428

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-06
  Component|c   |middle-end
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.


[Bug target/61431] Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

Michael Meissner meissner at gcc dot gnu.org changed:

   What|Removed |Added

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


[Bug c++/60184] g++ does not allow static members of named unions

2014-06-06 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60184

--- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Fri Jun  6 16:01:37 2014
New Revision: 211318

URL: http://gcc.gnu.org/viewcvs?rev=211318root=gccview=rev
Log:
/cp
2014-06-06  Paolo Carlini  paolo.carl...@oracle.com

PR c++/60184
* class.c (check_field_decls): In C++11 mode do not reject
static data members and reference-type members in unions.

/testsuite
2014-06-06  Paolo Carlini  paolo.carl...@oracle.com

PR c++/60184
* g++.dg/cpp0x/constexpr-union6.C: New.
* g++.dg/cpp0x/union6.C: Likewise.
* g++.dg/init/ref14.C: Adjust.
* g++.dg/init/union1.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-union6.C
trunk/gcc/testsuite/g++.dg/cpp0x/union6.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/init/ref14.C
trunk/gcc/testsuite/g++.dg/init/union1.C


[Bug c++/55004] [meta-bug] constexpr issues

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55004
Bug 55004 depends on bug 60184, which changed state.

Bug 60184 Summary: g++ does not allow static members of named unions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60184

   What|Removed |Added

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


[Bug c++/60184] g++ does not allow static members of named unions

2014-06-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60184

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com ---
Fixed for 4.10.0.


[Bug middle-end/61430] [4.10 regression] ICE in lra_create_copy

2014-06-06 Thread christophe.lyon at st dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61430

--- Comment #3 from christophe.lyon at st dot com ---
Probably, since the build succeeded at rev 211303.


[Bug fortran/61429] SYSTEM_CLOCK used with non-default integer kind does not produce warning

2014-06-06 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61429

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-06-06
 CC||kargl at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |kargl at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from kargl at gcc dot gnu.org ---
I have a patch.


[Bug rtl-optimization/61325] [4.10 regression] aarch64_be build fails

2014-06-06 Thread vmakarov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61325

--- Comment #7 from Vladimir Makarov vmakarov at gcc dot gnu.org ---
Author: vmakarov
Date: Fri Jun  6 17:21:18 2014
New Revision: 211319

URL: http://gcc.gnu.org/viewcvs?rev=211319root=gccview=rev
Log:
2014-06-06  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimization/61325
* lra-constraints.c (process_address_1): Check scale equal to one
to prevent transformation: base + scale * index = base + new_reg.


Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/lra-constraints.c


[Bug rtl-optimization/61325] [4.10 regression] aarch64_be build fails

2014-06-06 Thread vmakarov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61325

--- Comment #8 from Vladimir Makarov vmakarov at gcc dot gnu.org ---
Author: vmakarov
Date: Fri Jun  6 17:22:34 2014
New Revision: 211320

URL: http://gcc.gnu.org/viewcvs?rev=211320root=gccview=rev
Log:
2014-06-06  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimization/61325
* lra-constraints.c (process_address_1): Check scale equal to one
to prevent transformation: base + scale * index = base + new_reg.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/lra-constraints.c


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

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

--- Comment #7 from uros at gcc dot gnu.org ---
Author: uros
Date: Fri Jun  6 17:45:10 2014
New Revision: 211321

URL: http://gcc.gnu.org/viewcvs?rev=211321root=gccview=rev
Log:
PR target/61423
* config/i386/i386.md (*floatunssimode2_i387_with_xmm): New
define_insn_and_split pattern, merged from *floatunssimode2_1
and corresponding splitters.  Zero extend general register
or memory input operand to XMM temporary.  Enable for
TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
(floatunssimode2): Update expander predicate.

testsuite/ChangeLog:

PR target/61423
* gcc.target/i386/pr61423.c: New test.


Added:
trunk/gcc/testsuite/gcc.target/i386/pr61423.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.md
trunk/gcc/testsuite/ChangeLog


[Bug bootstrap/61432] New: Build error gcc 4.9 on OSX 10.10

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

Bug ID: 61432
   Summary: Build error gcc 4.9 on OSX 10.10
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: denji0k at gmail dot com

Have problem build with OSX 10.10

checking build system type... x86_64-apple-darwin14.0.0
xgcc: warning: couldn’t understand kern.osversion ‘14.0.0

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/Availability.h:174:44:
error: missing binary operator before token (
 #if defined(__has_feature) 
__has_feature(attribute_availability_with_message)
^

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/Availability.h:184:44:
error: missing binary operator before token (
 #if defined(__has_feature) 
__has_feature(attribute_availability_app_extension)
^

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/Availability.h:184:44:
error: missing binary operator before token (
 #if defined(__has_feature) 
__has_feature(attribute_availability_app_extension)
^

[Bug libgcc/61432] Build error gcc 4.9 on OSX 10.10

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org ---
Dup of bug 61407.

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


[Bug target/61431] Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

--- Comment #1 from Michael Meissner meissner at gcc dot gnu.org ---
Created attachment 32905
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=32905action=edit
Proposed patch to fix the problem


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

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 CC||denji0k at gmail dot com

--- Comment #6 from Andrew Pinski pinskia at gcc dot gnu.org ---
*** Bug 61432 has been marked as a duplicate of this bug. ***


[Bug preprocessor/36453] [DR 412] PR36320 breaks boost

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

--- Comment #14 from Andrew Pinski pinskia at gcc dot gnu.org ---
http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_412.htm


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

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

--- Comment #7 from Andrew Pinski pinskia at gcc dot gnu.org ---
So it turns out there is a defect report against the C, see PR 36453 but that
is only for #elif and not #if defined(a)  a()


[Bug preprocessor/36453] [DR 412] PR36320 breaks boost

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|SUSPENDED   |NEW

--- Comment #15 from Andrew Pinski pinskia at gcc dot gnu.org ---
Looks like there is TR about this now as far as I can tell from Feb 2012.


[Bug c++/61433] New: [4.9/4.10 Regression] ICE: SIGSEGV in friend_accessible_p (search.c:778) with -std=gnu++11 -O -fcompare-debug -fno-inline -fno-ipa-pure-const -fipa-sra

2014-06-06 Thread zsojka at seznam dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61433

Bug ID: 61433
   Summary: [4.9/4.10 Regression] ICE: SIGSEGV in
friend_accessible_p (search.c:778) with -std=gnu++11
-O -fcompare-debug -fno-inline -fno-ipa-pure-const
-fipa-sra
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: zsojka at seznam dot cz

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

Compiler output (under valgrind):
$ gcc -std=gnu++11 -O -fcompare-debug -fno-inline -fno-ipa-pure-const -fipa-sra
testcase.C
==2513== Invalid read of size 2
==2513==at 0x7C4941: friend_accessible_p(tree_node*, tree_node*,
tree_node*) (search.c:778)
==2513==by 0x7C4F58: accessible_p(tree_node*, tree_node*, bool)
(search.c:928)
==2513==by 0x7C5114: accessible_base_p(tree_node*, tree_node*, bool)
(search.c:171)
==2513==by 0x7C4564: lookup_base(tree_node*, tree_node*, int, base_kind*,
int) (search.c:273)
==2513==by 0x79AE19: finish_class_member_access_expr(tree_node*,
tree_node*, bool, int) (typeck.c:2755)
==2513==by 0x6A7BD0: tsubst_copy_and_build(tree_node*, tree_node*, int,
tree_node*, bool, bool) (pt.c:15187)
==2513==by 0x6AC207: tsubst(tree_node*, tree_node*, int, tree_node*)
(pt.c:12280)
==2513==by 0x738DB0: dump_substitution(cxx_pretty_printer*, tree_node*,
tree_node*, tree_node*, int) (error.c:330)
==2513==by 0x73B815: decl_as_string(tree_node*, int) (error.c:2738)
==2513==by 0xDAE0E5: dump_function_header(_IO_FILE*, tree_node*, int)
(tree-pretty-print.c:3454)
==2513==by 0xA3589E: (anonymous
namespace)::pass_clean_state::execute(function*) (final.c:4605)
==2513==by 0xC17387: execute_one_pass(opt_pass*) (passes.c:2180)
==2513==by 0xC177B5: execute_pass_list_1(opt_pass*) (passes.c:2233)
==2513==by 0xC17808: execute_pass_list(function*, opt_pass*)
(passes.c:2244)
==2513==by 0x94D6AF: expand_function(cgraph_node*) (cgraphunit.c:1787)
==2513==by 0x94F863: compile() (cgraphunit.c:1921)
==2513==by 0x94FF64: finalize_compilation_unit() (cgraphunit.c:2342)
==2513==by 0x72C2DE: cp_write_global_declarations() (decl2.c:4647)
==2513==by 0xD1245C: compile_file() (toplev.c:562)
==2513==by 0xD14494: toplev_main(int, char**) (toplev.c:1918)
==2513==by 0x5A46BF4: (below main) (in /lib64/libc-2.17.so)
==2513==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==2513== 
==2513== 
==2513== Process terminating with default action of signal 11 (SIGSEGV)
==2513==  Access not within mapped region at address 0x0
==2513==at 0x7C4941: friend_accessible_p(tree_node*, tree_node*,
tree_node*) (search.c:778)
==2513==by 0x7C4F58: accessible_p(tree_node*, tree_node*, bool)
(search.c:928)
==2513==by 0x7C5114: accessible_base_p(tree_node*, tree_node*, bool)
(search.c:171)
==2513==by 0x7C4564: lookup_base(tree_node*, tree_node*, int, base_kind*,
int) (search.c:273)
==2513==by 0x79AE19: finish_class_member_access_expr(tree_node*,
tree_node*, bool, int) (typeck.c:2755)
==2513==by 0x6A7BD0: tsubst_copy_and_build(tree_node*, tree_node*, int,
tree_node*, bool, bool) (pt.c:15187)
==2513==by 0x6AC207: tsubst(tree_node*, tree_node*, int, tree_node*)
(pt.c:12280)
==2513==by 0x738DB0: dump_substitution(cxx_pretty_printer*, tree_node*,
tree_node*, tree_node*, int) (error.c:330)
==2513==by 0x73B87E: decl_as_string_translate(tree_node*, int)
(error.c:2746)
==2513==by 0x73AEA2: cp_diagnostic_starter(diagnostic_context*,
diagnostic_info*) (error.c:3087)
==2513==by 0x15EA4B8: diagnostic_report_diagnostic(diagnostic_context*,
diagnostic_info*) (diagnostic.c:798)
==2513==by 0x15EB21F: internal_error(char const*, ...) (diagnostic.c:1136)
==2513==by 0xD123CF: crash_signal(int) (toplev.c:337)
==2513==by 0x5A5A5AF: ??? (in /lib64/libc-2.17.so)
==2513==by 0x7C4940: friend_accessible_p(tree_node*, tree_node*,
tree_node*) (search.c:778)
==2513==by 0x7C4F58: accessible_p(tree_node*, tree_node*, bool)
(search.c:928)
==2513==by 0x7C5114: accessible_base_p(tree_node*, tree_node*, bool)
(search.c:171)
==2513==by 0x7C4564: lookup_base(tree_node*, tree_node*, int, base_kind*,
int) (search.c:273)
==2513==by 0x79AE19: finish_class_member_access_expr(tree_node*,
tree_node*, bool, int) (typeck.c:2755)
==2513==by 0x6A7BD0: tsubst_copy_and_build(tree_node*, tree_node*, int,
tree_node*, bool, bool) (pt.c:15187)
==2513==by 0x6AC207: tsubst(tree_node*, tree_node*, int, tree_node*)
(pt.c:12280)
==2513==by 0x738DB0: dump_substitution(cxx_pretty_printer*, tree_node*,
tree_node*, tree_node*, int) (error.c:330)
==2513==by 0x73B815: decl_as_string(tree_node*, int) (error.c:2738)
==2513==by 0xDAE0E5: dump_function_header(_IO_FILE*, 

[Bug debug/38757] gcc does not emit DW_LANG_C99

2014-06-06 Thread mark at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38757

--- Comment #6 from Mark Wielaard mark at gcc dot gnu.org ---
Current 4.9 rebased version of the patch is here:
http://pkgs.fedoraproject.org/cgit/gcc.git/tree/gcc49-pr38757.patch


[Bug tree-optimization/61434] New: wrong code at -O3 on x86_64-linux

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

Bug ID: 61434
   Summary: wrong code at -O3 on x86_64-linux
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu

The current gcc trunk miscompiles the following code on x86_64-linux at -O3 in
both 32-bit and 64-bit modes.  

This is a regression from 4.9.x. The issue seems to be in the tree vectorizer
as the reported test does not fail with -fno-tree-vectorize. 

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 4.10.0 20140606 (experimental) [trunk revision 211299] (GCC) 
$ 
$ gcc-trunk -O2 small.c; a.out
$ gcc-trunk -fno-tree-vectorize -O3 small.c; a.out
$ gcc-4.9.0 -O3 small.c; a.out
$ 
$ gcc-trunk -O3 small.c  
$ a.out
Aborted (core dumped)
$ 


-


int a, b[2], c, d, e, f, g;

struct
{
  int f1:1;
  int f2:1;
} w;

void
fn1 (int p1, int p2)
{
  // does nothing 
}

int
main ()
{
  b[1] = 1;
  for (; f  1; f++)
{
  w.f2 = 0;
  if (w.f1)
fn1 (e++, a++  d++);
}
  for (; g  1; g++)
c = b[a];

  if (c != 0) 
__builtin_abort (); 

  return 0;
}


[Bug ipa/61283] [4.10 regression] SEGV in pass_ipa_comdats::execute

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

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

   What|Removed |Added

 CC||hp at gcc dot gnu.org

--- Comment #1 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
Also seen for mmix-knuth-mmixware at r211121, worked at r21, host
x86_64-linux.


[Bug target/61431] Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

--- Comment #2 from Michael Meissner meissner at gcc dot gnu.org ---
Author: meissner
Date: Fri Jun  6 23:15:36 2014
New Revision: 211329

URL: http://gcc.gnu.org/viewcvs?rev=211329root=gccview=rev
Log:
2014-06-06  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/61431
* config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
iterators, VSX_D that handles 64-bit types, and VSX_LE that
handles swapping the two 64-bit double words on little endian
systems.  Include V1TImode and optionally TImode in VSX_LE so that
these types are properly swapped.  Change all of the insns and
splits that do the 64-bit swaps to use VSX_LE.
(vsx_le_perm_load_mode): Likewise.
(vsx_le_perm_store_mode): Likewise.
(splitters for little endian memory operations): Likewise.
(vsx_xxpermdi2_le_mode): Likewise.
(vsx_lxvd2x2_le_mode): Likewise.
(vsx_stxvd2x2_le_mode): Likewise.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/vsx.md


[Bug c++/61435] New: -imacros switch breaks warning/error reporting

2014-06-06 Thread oliver at bway dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61435

Bug ID: 61435
   Summary: -imacros switch breaks warning/error reporting
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: oliver at bway dot net

SUMMARY: -imacros switch breaks warning/error reporting

When the -imacros switch is used, and the source file has errors or warnings,
the file name in the warning message gets lost and is replaced with
command-line.

GCC VERSION:

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


COMMAND LINE WHICH TRIGGERS BUG:

g++ -imacros validinclude.h causeerror.cpp

COMPILER OUTPUT (the output itself is the bug):

command-line:0:1: error: ‘blah’ does not name a type

The source file causeerror.cpp has the one line:
blah

The valid file validinclude.h has the one line:
#define one 1

HERE IS THE .ii file:

# 1 causeerror.cpp
# 1 command-line
# 1 ./validinclude.h 1
# 1 command-line 2
# 1 /usr/include/stdc-predef.h 1 3 4
# 1 causeerror.cpp
# 1 command-line 2
blah

[Bug c++/61435] -imacros switch breaks warning/error reporting

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

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org ---
I think this is a dup of bug 60723.


[Bug target/61431] Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

--- Comment #3 from Michael Meissner meissner at gcc dot gnu.org ---
Author: meissner
Date: Fri Jun  6 23:46:23 2014
New Revision: 211331

URL: http://gcc.gnu.org/viewcvs?rev=211331root=gccview=rev
Log:
2014-06-06  Michael Meissner  meiss...@linux.vnet.ibm.com

Back port from trunk
2014-06-06  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/61431
* config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
iterators, VSX_D that handles 64-bit types, and VSX_LE that
handles swapping the two 64-bit double words on little endian
systems.  Include V1TImode and optionally TImode in VSX_LE so that
these types are properly swapped.  Change all of the insns and
splits that do the 64-bit swaps to use VSX_LE.
(vsx_le_perm_load_mode): Likewise.
(vsx_le_perm_store_mode): Likewise.
(splitters for little endian memory operations): Likewise.
(vsx_xxpermdi2_le_mode): Likewise.
(vsx_lxvd2x2_le_mode): Likewise.
(vsx_stxvd2x2_le_mode): Likewise.


Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/config/rs6000/vsx.md


[Bug target/61431] Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems

2014-06-06 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431

--- Comment #4 from Michael Meissner meissner at gcc dot gnu.org ---
Author: meissner
Date: Fri Jun  6 23:52:36 2014
New Revision: 211332

URL: http://gcc.gnu.org/viewcvs?rev=211332root=gccview=rev
Log:
2014-06-06  Michael Meissner  meiss...@linux.vnet.ibm.com

Back port from trunk
2014-06-06  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/61431
* config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
iterators, VSX_D that handles 64-bit types, and VSX_LE that
handles swapping the two 64-bit double words on little endian
systems.  Include V1TImode and optionally TImode in VSX_LE so that
these types are properly swapped.  Change all of the insns and
splits that do the 64-bit swaps to use VSX_LE.
(vsx_le_perm_load_mode): Likewise.
(vsx_le_perm_store_mode): Likewise.
(splitters for little endian memory operations): Likewise.
(vsx_xxpermdi2_le_mode): Likewise.
(vsx_lxvd2x2_le_mode): Likewise.
(vsx_stxvd2x2_le_mode): Likewise.


Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/config/rs6000/vsx.md


[Bug target/18343] mmix-knuth-mmixware testsuite failure: gcc.dg/builtin-return-1.c

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

--- Comment #3 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
Author: hp
Date: Fri Jun  6 23:58:33 2014
New Revision: 211333

URL: http://gcc.gnu.org/viewcvs?rev=211333root=gccview=rev
Log:
PR target/18343
* gcc.dg/torture/stackalign/builtin-return-1.c (STACK_ARGUMENTS_SIZE):
New macro, 0 for __MMIX__, default 64.
(bar): Pass it to __builtin_apply instead of literal 64.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c


[Bug target/18343] mmix-knuth-mmixware testsuite failure: gcc.dg/builtin-return-1.c

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

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

   What|Removed |Added

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

--- Comment #4 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
No ten-year anniversary, sorry. :]


[Bug target/18343] mmix-knuth-mmixware testsuite failure: gcc.dg/builtin-return-1.c

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

--- Comment #5 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
Woops, this PR was actually for an *identical* file in gcc.dg.  Anyway, that
test passes without the patch these days so let's keep this PR closed.


[Bug regression/61436] New: [4.10 Regression]: g++.dg/tls/diag-1.C ICE (emutls)

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

Bug ID: 61436
   Summary: [4.10 Regression]: g++.dg/tls/diag-1.C ICE (emutls)
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: regression
  Assignee: unassigned at gcc dot gnu.org
  Reporter: hp at gcc dot gnu.org
CC: hubicka at gcc dot gnu.org
  Host: x86_64-unknown-linux-gnu
Target: mmix-knuth-mmixware

This test previously passed, now it fails.
A patch in the revision range (last_known_working:first_known_failing)
r21:r211121
exposed or caused these regressions.  Since then (up to and including at least
r211290) it fails as follows:

Running /home/hp/gcctop/tmp/mbgnu0/gcc/gcc/testsuite/g++.dg/tls/tls.exp ...
FAIL: g++.dg/tls/diag-1.C -std=c++98 (internal compiler error)
FAIL: g++.dg/tls/diag-1.C -std=c++98 (test for excess errors)
FAIL: g++.dg/tls/diag-1.C -std=c++11 (internal compiler error)
FAIL: g++.dg/tls/diag-1.C -std=c++11 (test for excess errors)
FAIL: g++.dg/tls/diag-1.C -std=c++1y (internal compiler error)
FAIL: g++.dg/tls/diag-1.C -std=c++1y (test for excess errors)

I'm guessing all emutls targets are affected.

The messages in g++.log are similar:

spawn -ignore SIGHUP
/home/hp/gcctop/tmp/mbase0/gccobj/gcc/testsuite/g++/../../xg++
-B/home/hp/gcctop/tmp/mbase0/gccobj/gcc/testsuite/g++/../../
/home/hp/gcctop/tmp/mbase0/gcc/gcc/testsuite/g++.dg/tls/diag-1.C
-fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++
-I/home/hp/gcctop/tmp/mbase0/gccobj/mmix/libstdc++-v3/include/mmix
-I/home/hp/gcctop/tmp/mbase0/gccobj/mmix/libstdc++-v3/include
-I/home/hp/gcctop/tmp/mbase0/gcc/libstdc++-v3/libsupc++
-I/home/hp/gcctop/tmp/mbase0/gcc/libstdc++-v3/include/backward
-I/home/hp/gcctop/tmp/mbase0/gcc/libstdc++-v3/testsuite/util -fmessage-length=0
-std=c++98 -pedantic-errors -Wno-long-long -S -isystem
/home/hp/gcctop/tmp/mbase0/gccobj/mmix/./newlib/targ-include -isystem
/home/hp/gcctop/tmp/mbase0/gcc/newlib/libc/include -o diag-1.s

/home/hp/gcctop/tmp/mbase0/gcc/gcc/testsuite/g++.dg/tls/diag-1.C:31:1: internal
compiler error: in symtab_get_node, at cgraph.h:1035

0xd610c3 symtab_get_node

/home/hp/gcctop/tmp/mbase0/gcc/gcc/cgraph.h:1032

0xd610c3 varpool_get_node

/home/hp/gcctop/tmp/mbase0/gcc/gcc/cgraph.h:1074

0xd610c3 varpool_node_for_decl(tree_node*)

/home/hp/gcctop/tmp/mbase0/gcc/gcc/varpool.c:147

0xd54cb4 make_decl_one_only(tree_node*, tree_node*)

/home/hp/gcctop/tmp/mbase0/gcc/gcc/varasm.c:5932

0xb2a14e get_emutls_init_templ_addr

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:254

0xb2a14e get_emutls_init_templ_addr

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:222

0xb2aade new_emutls_decl

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:339

0xb2aade create_emultls_var

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:717

0xd625ef varpool_for_node_and_aliases(varpool_node*, bool (*)(varpool_node*,
void*), void*, bool)

/home/hp/gcctop/tmp/mbase0/gcc/gcc/varpool.c:682

0xb2ba87 ipa_lower_emutls

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:788

0xb2ba87 execute

/home/hp/gcctop/tmp/mbase0/gcc/gcc/tree-emutls.c:849

Please submit a full bug report,

with preprocessed source if appropriate.


Looking at the code, it seems the assert in symtab_get_node at cgraph.h:1035
trigs. This code was changed in r210901, though the assert was only copied.
Still, many changes around that time by the same author, so there's a good
chance the attribution is correct. :)

A gdb session shows, at the gcc_assert:

(gdb) p decl
$15 = (const_tree) 0x77ea68e8
(gdb) pt
 var_decl 0x77ea68e8 __emutls_t__ZN1BIiE1tE
type integer_type 0x77dbd690 int sizes-gimplified public type_6 SI
size integer_cst 0x77dbce28 constant 32
unit size integer_cst 0x77dbce40 constant 4
align 32 symtab 0 alias set -1 canonical type 0x77dbd690 precision
32 min integer_cst 0x77dbcde0 -2147483648 max integer_cst 0x77dbcdf8
2147483647
pointer_to_this pointer_type 0x77dd1738
readonly used public ignored weak SI file
/home/hp/gcctop/tmp/mbase0/gcc/gcc/testsuite/g++.dg/tls/diag-1.C line 25 col 12
size integer_cst 0x77dbce28 32 unit size integer_cst 0x77dbce40 4
align 32 context record_type 0x77ea2540 B
(gdb) bt
#0  fancy_abort (file=0xfa7550 /home/hp/gcctop/tmp/mbase0/gcc/gcc/cgraph.h, 
line=1035, function=0xfa77e0 symtab_get_node)
at /home/hp/gcctop/tmp/mbase0/gcc/gcc/diagnostic.c:1190
#1  0x00d64ed4 in symtab_get_node (decl=0x77ea68e8)
at /home/hp/gcctop/tmp/mbase0/gcc/gcc/cgraph.h:1032
#2  0x00d64f8b in varpool_get_node (decl=0x77ea68e8)
at /home/hp/gcctop/tmp/mbase0/gcc/gcc/cgraph.h:1074
#3  0x00d655fc in varpool_node_for_decl (decl=
var_decl 0x77ea68e8 

[Bug target/61387] [4.10 Regression] ~900 test failures on on x86_64-apple-darwin13 for g++ with -m64 after r211088

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

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

   What|Removed |Added

 CC||hp at gcc dot gnu.org

--- Comment #6 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #5)
 The following patch fixes the failures (not counting new ones:
 g++.dg/debug/dwarf2/imported-decl-2.C and g++.dg/tls/diag-1.C).

Is the g++.dg/tls/diag-1.C the same as in PR61436?
Seems likely as darwin is IIUC an emutls target.


[Bug regression/61436] [4.10 Regression]: g++.dg/tls/diag-1.C ICE (emutls)

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

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

   What|Removed |Added

 Target|mmix-knuth-mmixware |mmix-knuth-mmixware,
   ||cris-elf

--- Comment #1 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
Bah, I should've checked my cris-elf autotester, since I suspected an
emutls-related bug.  It confirms the issue, and says the regression was
introduced in (210899:210906], consistent with the previous observations.


[Bug regression/61436] [4.10 Regression]: g++.dg/tls/diag-1.C ICE (emutls)

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

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

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1


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

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

Bug ID: 61437
   Summary: wrong code on x86_64-linux-gnu when compile separately
   Product: gcc
   Version: 4.10.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu

The current gcc trunk miscompiles the following files (foo.c and main.c) on
x86_64-linux in both 32-bit and 64-bit modes. 

This is a regression from 4.9.x. 

The merged file (merged.c) does not trigger the bug.


$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 4.10.0 20140606 (experimental) [trunk revision 211322] (GCC) 
$ 
$ gcc-trunk -O2 -c foo.c
$ gcc-trunk -O2 -c main.c
$ gcc-trunk -O2 foo.o main.o
$ a.out
a.out: foo.c:9: foo: Assertion `b == 0' failed.
Aborted (core dumped)
$ 
$ gcc-4.9.0 -O2 -c foo.c
$ gcc-4.9.0 -O2 -c main.c
$ gcc-4.9.0 -O2 foo.o main.o
$ a.out
$ 
$ gcc-trunk -O2 merged.c
$ a.out
$ 
$ cat foo.c
#include assert.h

extern int *b, **c; 

int foo (void)
{
  int *t = 0; 
  *c = t;
  assert (b == 0);
}
$ cat main.c
extern int foo (void); 

int a, *b = a, **c = b;

int main (void)
{
  foo ();
  return 0;
}
$ 
$ cat merged.c
#include assert.h

int a;
int *b = a;
int **c = b;

int
foo ()
{
  int *t = 0;
  *c = t;
  assert (b == 0);
}

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