[Bug target/53386] Bad assembly code produced for m68000

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

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |SUSPENDED
   Last reconfirmed||2015-01-19
 CC||law at redhat dot com
 Ever confirmed|0   |1

--- Comment #14 from Jeffrey A. Law law at redhat dot com ---
We really need a testcase for the issue raised in c#13.  Without a reasonable
testcase, there really isn't anything we can do.


[Bug libstdc++/64584] basic_regex::assign breaks *this if it throws regex_error

2015-01-19 Thread timshen at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64584

--- Comment #1 from Tim Shen timshen at gcc dot gnu.org ---
Author: timshen
Date: Mon Jan 19 22:56:04 2015
New Revision: 219865

URL: https://gcc.gnu.org/viewcvs?rev=219865root=gccview=rev
Log:
PR libstdc++/64584
PR libstdc++/64585
* include/bits/regex.h (basic_regex::basic_regex,
basic_regex::assign, basic_regex::imbue,
basic_regex::swap, basic_regex::mark_count): Drop NFA after
imbuing basic_regex; Make assign() transactional against exception.
* include/bits/regex_compiler.h (__compile_nfa): Add back
__compile_nfa SFINAE.
* include/std/regex: Adjust include order to avoid __compile_nfa
forward declaration.
* testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
* testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.

Added:
trunk/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/
trunk/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/regex.h
trunk/libstdc++-v3/include/bits/regex_compiler.h
trunk/libstdc++-v3/include/std/regex
trunk/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc


[Bug libstdc++/64585] The basic_regex object should not match any character sequence after a call to basic_regex::imbue

2015-01-19 Thread timshen at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64585

--- Comment #1 from Tim Shen timshen at gcc dot gnu.org ---
Author: timshen
Date: Mon Jan 19 22:56:04 2015
New Revision: 219865

URL: https://gcc.gnu.org/viewcvs?rev=219865root=gccview=rev
Log:
PR libstdc++/64584
PR libstdc++/64585
* include/bits/regex.h (basic_regex::basic_regex,
basic_regex::assign, basic_regex::imbue,
basic_regex::swap, basic_regex::mark_count): Drop NFA after
imbuing basic_regex; Make assign() transactional against exception.
* include/bits/regex_compiler.h (__compile_nfa): Add back
__compile_nfa SFINAE.
* include/std/regex: Adjust include order to avoid __compile_nfa
forward declaration.
* testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
* testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.

Added:
trunk/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/
trunk/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/regex.h
trunk/libstdc++-v3/include/bits/regex_compiler.h
trunk/libstdc++-v3/include/std/regex
trunk/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc


[Bug libstdc++/64585] The basic_regex object should not match any character sequence after a call to basic_regex::imbue

2015-01-19 Thread timshen at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64585

--- Comment #2 from Tim Shen timshen at gcc dot gnu.org ---
Author: timshen
Date: Mon Jan 19 23:09:07 2015
New Revision: 219868

URL: https://gcc.gnu.org/viewcvs?rev=219868root=gccview=rev
Log:
PR libstdc++/64584
PR libstdc++/64585
* include/bits/regex.h (basic_regex::basic_regex,
basic_regex::assign, basic_regex::imbue,
basic_regex::swap, basic_regex::mark_count): Drop NFA after
imbuing basic_regex; Make assign() transactional against exception.
* testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
* testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.

Added:
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/
   
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc
Modified:
branches/gcc-4_9-branch/libstdc++-v3/ChangeLog
branches/gcc-4_9-branch/libstdc++-v3/include/bits/regex.h
   
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc


[Bug libstdc++/64584] basic_regex::assign breaks *this if it throws regex_error

2015-01-19 Thread timshen at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64584

--- Comment #2 from Tim Shen timshen at gcc dot gnu.org ---
Author: timshen
Date: Mon Jan 19 23:09:07 2015
New Revision: 219868

URL: https://gcc.gnu.org/viewcvs?rev=219868root=gccview=rev
Log:
PR libstdc++/64584
PR libstdc++/64585
* include/bits/regex.h (basic_regex::basic_regex,
basic_regex::assign, basic_regex::imbue,
basic_regex::swap, basic_regex::mark_count): Drop NFA after
imbuing basic_regex; Make assign() transactional against exception.
* testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
* testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.

Added:
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/
   
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc
Modified:
branches/gcc-4_9-branch/libstdc++-v3/ChangeLog
branches/gcc-4_9-branch/libstdc++-v3/include/bits/regex.h
   
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc


[Bug c++/64679] New: Spurious redefinition error when parsing not-quite-most-vexing-parse declarations

2015-01-19 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64679

Bug ID: 64679
   Summary: Spurious redefinition error when parsing
not-quite-most-vexing-parse declarations
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rs2740 at gmail dot com

Repro:

class Bar{
public:
  Bar(int, int, int);
};

int main () {
  int x = 1;
  Bar bar(int(x), int(x), int{x});
}

gcc HEAD 5.0.0 20150119 (experimental) with g++ prog.cc -Wall -Wextra
-std=gnu++1y reports:

prog.cc: In function 'int main()':
prog.cc:8:24: error: redefinition of 'int x'
  Bar bar(int(x), int(x), int{x});
   ^
prog.cc:8:16: note: 'int x' previously declared here
  Bar bar(int(x), int(x), int{x});

With the last int{x} (note the braces) this cannot be a function declaration,
but g++ appears to emit the redefinition errors too early, before the full
declaration is parsed. Clang compiles this successfully.


[Bug libgomp/64672] ICEs in libgomp.oacc-fortran when using the '-g -flto' options in the test suite.

2015-01-19 Thread howarth at bromo dot med.uc.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64672

--- Comment #3 from howarth at bromo dot med.uc.edu ---
The attached reduced test case reproduces the ICE with...

$ ~/dist/bin/gfortran -fopenacc -DACC_DEVICE_TYPE_host_nonshm=1
-DACC_MEM_SHARED=0 -g -flto asyncwait-1.f90
lto1: internal compiler error: in streamer_get_builtin_tree, at
tree-streamer-in.c:1151
0xc266af streamer_get_builtin_tree(lto_input_block*, data_in*)
../../gcc-trunk/gcc/tree-streamer-in.c:1151
0x90aeb4 lto_input_tree_1(lto_input_block*, data_in*, LTO_tags, unsigned int)
../../gcc-trunk/gcc/lto-streamer-in.c:1320
0x90b099 lto_input_scc(lto_input_block*, data_in*, unsigned int*, unsigned
int*)
../../gcc-trunk/gcc/lto-streamer-in.c:1248
0x5f88be lto_read_decls
../../gcc-trunk/gcc/lto/lto.c:1900
0x5fa930 lto_file_finalize
../../gcc-trunk/gcc/lto/lto.c:2229
0x5fa930 lto_create_files_from_ids
../../gcc-trunk/gcc/lto/lto.c:2239
0x5fa930 lto_file_read
../../gcc-trunk/gcc/lto/lto.c:2280
0x5fa930 read_cgraph_and_symbols
../../gcc-trunk/gcc/lto/lto.c:2981
0x5fa930 lto_main()
../../gcc-trunk/gcc/lto/lto.c:3436
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.
lto-wrapper: fatal error: /home/howarth/dist/bin/gfortran returned 1 exit
status
compilation terminated.
/home/howarth/dist_binutils/bin/ld: lto-wrapper failed
collect2: error: ld returned 1 exit status

on x86_64 linux and...

% gfortran-fsf-5.0  -fopenacc -DACC_DEVICE_TYPE_host_nonshm=1
-DACC_MEM_SHARED=0 -g -flto asyncwait-1.f90
gfortran-fsf-5.0: error: asyncwait-1.f90: No such file or directory
[Jack-Howarths-Computer:~/testcase] howarth% gfortran-fsf-5.0 -fopenacc
-DACC_DEVICE_TYPE_host_nonshm=1 -DACC_MEM_SHARED=0 -g -flto PR64672.f90
lto1: internal compiler error: in streamer_get_builtin_tree, at
tree-streamer-in.c:1151

lto1: internal compiler error: Abort trap: 6
gfortran-fsf-5.0: internal compiler error: Abort trap: 6 (program lto1)
lto-wrapper: fatal error: gfortran-fsf-5.0 terminated with signal 6 [Abort
trap: 6]
compilation terminated.
collect2: fatal error: lto-wrapper returned 1 exit status
compilation terminated.

on x86_64-apple-darwin14.


[Bug go/64595] cgo installed into wrong directory

2015-01-19 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64595

--- Comment #8 from Andreas Schwab sch...@linux-m68k.org ---
Why does libbacktrace need debug info?  All required unwind information is
included in the binary.  Glibc's backtrace can do that too.


[Bug libgomp/64672] ICEs in libgomp.oacc-fortran when using the '-g -flto' options in the test suite.

2015-01-19 Thread howarth at bromo dot med.uc.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64672

--- Comment #2 from howarth at bromo dot med.uc.edu ---
Created attachment 34489
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34489action=edit
minimal testcase to produce ICE on linux and darwin


[Bug libstdc++/64680] New: basic_regex::operator= does not reset flags

2015-01-19 Thread kariya_mitsuru at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64680

Bug ID: 64680
   Summary: basic_regex::operator= does not reset flags
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: kariya_mitsuru at hotmail dot com

Created attachment 34491
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34491action=edit
g++ -v

The sample code below should not throw a regex_error.

= sample code =
#include regex

int main()
{
std::regex re([[:alnum:]], std::regex_constants::basic);
re = \\w+;
}
===
cf. http://melpon.org/wandbox/permlink/lrD2Ia4urIPVgakK


According to the C++11 standard 28.8.3[re.regex.assign], operator=(const charT*
ptr) is equivalent to assign(ptr), and assign(ptr) calls assign(const char*
ptr, flag_type f = regex_constants::ECMAScript).

Since \\w+ is a valid ECMAScript syntax, the sample code above should end
normally.


[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

2015-01-19 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #216 from Jan Hubicka hubicka at gcc dot gnu.org ---
Author: hubicka
Date: Tue Jan 20 04:39:45 2015
New Revision: 219878

URL: https://gcc.gnu.org/viewcvs?rev=219878root=gccview=rev
Log:

PR lto/45375
* i386.c (ix86_option_override_internal): Use ix86_tune_cost
to set branch cost.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c


[Bug target/36488] Generated 68K code bad for pipelining (case swap)

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

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||law at redhat dot com
 Resolution|--- |WONTFIX

--- Comment #1 from Jeffrey A. Law law at redhat dot com ---
No plans to further improve pipelining further for the m68k platform.


[Bug target/36487] Generated 68K code bad for pipelining

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

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||law at redhat dot com
 Resolution|--- |WONTFIX

--- Comment #1 from Jeffrey A. Law law at redhat dot com ---
No plans to enhance pipelining for m68k port.


[Bug libffi/64645] liibffi fails to build on cygwin-32

2015-01-19 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64645

--- Comment #5 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
(In reply to Richard Henderson from comment #4)
 (In reply to Bernd Edlinger from comment #3)
  AFAIK Cygwin-32 does not support the unwind info at all, right?.
 
 Wrong.  This should be enough to fix it.
 
 diff --git a/src/x86/sysv.S b/src/x86/sysv.S
 index 58432d9..78f245b 100644
 --- a/src/x86/sysv.S
 +++ b/src/x86/sysv.S
 @@ -822,6 +822,8 @@ ENDF(C(__x86.get_pc_thunk.dx))
  #ifdef __APPLE__
  .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
  EHFrame0:
 +#elif defined(X86_WIN32)
 +.section .eh_frame,r
  #elif defined(HAVE_AS_X86_64_UNWIND_SECTION_TYPE)
  .section .eh_frame,EH_FRAME_FLAGS,@unwind
  #else

OK. Patch works.
One question: would --enable-sjlj-exceptions make any difference here?


[Bug go/64595] cgo installed into wrong directory

2015-01-19 Thread ian at airs dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64595

--- Comment #10 from Ian Lance Taylor ian at airs dot com ---
The point of libbacktrace, at least if you call the backtrace_full function, is
to get file/line information.  If you don't need file/line information, you can
just use _Unwind_Backtrace.


[Bug fortran/64678] New: Expected association error on dependent associate statements

2015-01-19 Thread antony at cosmologist dot info
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64678

Bug ID: 64678
   Summary: Expected association error on dependent associate
statements
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: antony at cosmologist dot info

In trunk

module X
  Type T
   integer :: map
  end Type T
contains

subroutine DoBug
Type(T) TT

 associate(A=TT, B=A%map)
 end associate

end subroutine
end module X

gives:

testbug.f90:10:17:

  associate(A=TT, B=A%map)
 1
Error: Expected association at (1)
testbug.f90:11:4:

  end associate
1

It's not entirely clear to me from the standard if this is allowed, but I don't
see why not (useful when you are breaking up complicated array/class structures
into associate names, where the second name refers to the first). It compiles
in ifort. Obviously low priority as can be worked around easily enough


[Bug ipa/63576] [5 Regression] ICE : in ipa_merge_profiles, at ipa-utils.c:540 during Firefox LTO/PGO build

2015-01-19 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63576

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Jan Hubicka hubicka at gcc dot gnu.org ---
mine.


[Bug rtl-optimization/49847] [4.8 Regression] NULL deref in fold_rtx (prev_insn_cc0 == NULL)

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

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

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

--- Comment #39 from Jeffrey A. Law law at redhat dot com ---
Fixed in 4.9 and on trunk.  Not planning to backport fix to 4.8.


[Bug rtl-optimization/52714] [4.8 regression] ICE in fixup_reorder_chain, at cfglayout.c:880

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

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

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

--- Comment #18 from Jeffrey A. Law law at redhat dot com ---
Fixed in 4.9 and on trunk.  Not planning to backport to 4.8.


[Bug go/64595] cgo installed into wrong directory

2015-01-19 Thread ian at airs dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64595

--- Comment #7 from Ian Lance Taylor ian at airs dot com ---
That failure is not related to the new gotools.  I expect it would happen with
any Go program.  Go requires that there be enough debug info to do a stack
backtrace with file/line information.  It uses the libbacktrace library, but
that library doesn't understand separate debuginfo sections.

I can fix this specific problem so that the program is more likely to run, but
in general Go code expects to be able to get that backtrace and most real Go
programs will fail without it.

I guess I or somebody needs to fix libbacktrace to understand separate
debuginfo objects.


[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

2015-01-19 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #215 from Jan Hubicka hubicka at gcc dot gnu.org ---
Author: hubicka
Date: Mon Jan 19 23:58:19 2015
New Revision: 219871

URL: https://gcc.gnu.org/viewcvs?rev=219871root=gccview=rev
Log:

PR lto/45375
* i386.c (gate): Check flag_expensive_optimizations and
optimize_size.
(ix86_option_override_internal): Drop optimize_size condition
on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
MASK_PREFER_AVX128.
(ix86_avx256_split_vector_move_misalign,
ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
* sse.md (all uses of TARGET_PREFER_AVX128): Add
optimize_insn_for_speed_p check.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/sse.md


[Bug go/64595] cgo installed into wrong directory

2015-01-19 Thread ian at airs dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64595

--- Comment #12 from Ian Lance Taylor ian at airs dot com ---
It's not libbacktrace that is crashing the app, it's libgo.

And, yes, probably libgo should not crash the app either.  But it's also true
that many Go programs simply won't work correctly if file/line information is
not available.


[Bug target/50928] m32c ICE building RTEMS

2015-01-19 Thread dj at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50928

--- Comment #8 from DJ Delorie dj at redhat dot com ---
There are a few regressions in the testsuite (pr26255.c with -mcpu=m32c for
example) and libstdc++ still doesn't build, but ieee/920810-1 now passes and
newlib builds.  I suppose that's better.


[Bug libgomp/64672] ICEs in libgomp.oacc-fortran when using the '-g -flto' options in the test suite.

2015-01-19 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64672

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

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #4 from Dominique d'Humieres dominiq at lps dot ens.fr ---
The '-fopenacc -flto' options are enough to trigger the ICE.


[Bug go/64595] cgo installed into wrong directory

2015-01-19 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64595

--- Comment #9 from Andrew Pinski pinskia at gcc dot gnu.org ---
(In reply to Andreas Schwab from comment #8)
 Why does libbacktrace need debug info?  All required unwind information is
 included in the binary.  Glibc's backtrace can do that too.

Most likely the same reason why Java needs it.  So it can see if the file that
the backtrace is coming from is a system library or not.


[Bug fortran/64678] Expected association error on dependent associate statements

2015-01-19 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64678

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu.org

--- Comment #1 from kargl at gcc dot gnu.org ---
(In reply to Antony Lewis from comment #0)
 In trunk
 
 module X
   Type T
integer :: map
   end Type T
 contains
 
 subroutine DoBug
 Type(T) TT
   
  associate(A=TT, B=A%map)
  end associate
   
 end subroutine
 end module X
 
 gives:
 
 testbug.f90:10:17:
 
   associate(A=TT, B=A%map)
  1
 Error: Expected association at (1)
 testbug.f90:11:4:
 
   end associate
 1
 
 It's not entirely clear to me from the standard if this is allowed, but I
 don't see why not (useful when you are breaking up complicated array/class
 structures into associate names, where the second name refers to the first).
 It compiles in ifort. Obviously low priority as can be worked around easily
 enough

I believe gfortran is correct in issuing an error; although I admit
it seems to be a subtle distinction in language.  For F2003 standard

  8.1.4  ASSOCIATE construct

  The ASSOCIATE construct associates named entities with expressions
  or variables during the execution of its block. These named construct
  entities (16.3) are associating entities (16.4.1.5).  The names are
  associate names.

The BNF shows

  R818   association   is   associate-name = selector
  R819   selector  is   expr
   or   variable


In your code, 'A' and 'B' are associate-names.  The target
of an associate-name is a selector, which is an expr or variable.
The target for 'B' is 'A%map'.  So, the question becomes whether 'A%map'
is now a variable or expression even though 'A' is an associate-name.

The BNF for 'variable is

  R601 variable  is designator
  C601 (R601) designator shall not be a constant or a subobject of a constant.
  R602 variable-name is  name
  C602 (R602) A variable-name shall be the name of a variable.
  R603 designatoris object-name
 or array-element
 or array-section
 or structure-component
 or substring

  R505 object-name is   name
  C505 (R505) The object-name shall be the name of a data object.

  A data object (often abbreviated to object) is a constant (4.1.2),
  a variable (6), or a subobject of a constant. The type and type
  parameters of a named data object may be specified explicitly (5.1)
  or implicitly (5.3).

'A%map' as a data object is certainly not a constant or subobject of
a constant, so it must be a variable.  But, we've already established
that 'A' is an associate-name not a variable-name.  So, 'A%map' is
not an object-name.

array-element, array-section, and substring are of no consequence here.

So, now, structure-component

  R614 structure-component is data-ref

  R612 data-ref is part-ref [ % part-ref ] ...
  R613 part-ref is part-name [ ( section-subscript-list ) ]

  C612 (R612) The leftmost part-name shall be the name of a data object.

We've already established 'A' is not a data object.  So, now we
are left with 'expr'.  I have no interest in reproducing Section 7
of Fortran 2003 standard.  I suspect you'll find that 'A%map' is not
an 'expr'.

Note, I could be wrong.  You may want to post to comp.lang.fortran.
There are numerous people, who contribute to c.l.f, that are much
more in-tune with the nuances of the Fortran standard.


[Bug c++/64677] incorrect result with complex division?

2015-01-19 Thread maltsevm at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64677

Mikhail Maltsev maltsevm at gmail dot com changed:

   What|Removed |Added

 CC||maltsevm at gmail dot com

--- Comment #3 from Mikhail Maltsev maltsevm at gmail dot com ---
Probably calculating with higher precision will give correct result. Output of
Wolfram Alpha:

-O0:
convert -0.0083223357032193145 to binary
-1.000110110100110011010101100001010110111001110010010010111001000111111001011011000..._2×2^-7
| hexadecimal value
IEEE double-precision number | 578f5ffd4c0b81bf 
(assuming little-endian byte ordering)

-O1:
convert -0.0083223357032193128 to binary
-1.0001101101001100110101011000010101110100011001001110010111010110100111010111010010011..._2×2^-7
| hexadecimal value
IEEE double-precision number | 568f5ffd4c0b81bf 
(assuming little-endian byte ordering)

Wolfram Alpha's calculation:
binary(re(1/(-61.887073591767951 -60.052083270252012i)))
-1.00011011010011001101010110000101011011001010101000110101101101101101000101101010..._2×2^-7
| hexadecimal value
IEEE double-precision number | 568f5ffd4c0b81bf 
(assuming little-endian byte ordering)

So, compile-time result is more precise. BTW, what does the disassembly look
like?

[Bug libstdc++/64649] regex_traits::lookup_classname() only works with random access iterators

2015-01-19 Thread timshen at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64649

--- Comment #3 from Tim Shen timshen at gcc dot gnu.org ---
Author: timshen
Date: Mon Jan 19 23:12:37 2015
New Revision: 219869

URL: https://gcc.gnu.org/viewcvs?rev=219869root=gccview=rev
Log:
PR libstdc++/64649
Backported from mainline
2015-01-19  Tim Shen  tims...@google.com

* include/bits/regex.tcc (regex_traits::lookup_collatename,
regex_traits::lookup_classname): Support forward iterators.
* testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
* testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.

Modified:
branches/gcc-4_9-branch/libstdc++-v3/ChangeLog
branches/gcc-4_9-branch/libstdc++-v3/include/bits/regex.tcc
   
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc
   
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc


[Bug fortran/64678] Expected association error on dependent associate statements

2015-01-19 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64678

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

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-20
 Ever confirmed|0   |1

--- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr ---
I am not sure to understand the standard legaleses, but

 associate(A=TT)
 associate(B=A%map)
 end associate
 end associate

is accepted.


[Bug lto/48724] Lto build of mozilla dies at lto-wrapper: error trying to exec 'make -j1': execvp: No such file or directory

2015-01-19 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48724

--- Comment #8 from Jan Hubicka hubicka at gcc dot gnu.org ---
This no longer happens with recent Firefox builds, but I think it was rather
fixed at Firefox buildsystem...


[Bug rtl-optimization/58369] [4.8 regression] ICE in subreg_get_info when compiling boost for m68k-linux

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

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||law at redhat dot com
 Resolution|--- |FIXED

--- Comment #9 from Jeffrey A. Law law at redhat dot com ---
Resolved on 4.9/trunk, not planning to backport to 4.8.


[Bug middle-end/52306] [4.8 regression] ICE in cselib_record_set, at cselib.c:2158

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

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

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

--- Comment #35 from Jeffrey A. Law law at redhat dot com ---
Fixed in 4.9 and on trunk.  Not planning to backport to 4.8.


[Bug target/53988] [SH] tst Rm,Rn not used for QI/HImode

2015-01-19 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53988

--- Comment #6 from Oleg Endo olegendo at gcc dot gnu.org ---
Author: olegendo
Date: Mon Jan 19 22:35:53 2015
New Revision: 219864

URL: https://gcc.gnu.org/viewcvs?rev=219864root=gccview=rev
Log:
gcc/
PR target/53988
* config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
nullptr for insn when reaching the first insn.
* config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
(sh_insn_operands_modified_between_p): Add nullptr check.
(sh_find_extending_set_of_reg): Fix log message.  Don't accept
sign extending mem load if the insn contains any UNSPEC or
UNSPEC_VOLATILE.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/sh-protos.h
trunk/gcc/config/sh/sh.c


[Bug target/59946] -mpcrel -O2 produces illegal asm code

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

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

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


[Bug libstdc++/64649] regex_traits::lookup_classname() only works with random access iterators

2015-01-19 Thread timshen at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64649

--- Comment #2 from Tim Shen timshen at gcc dot gnu.org ---
Author: timshen
Date: Mon Jan 19 23:00:13 2015
New Revision: 219866

URL: https://gcc.gnu.org/viewcvs?rev=219866root=gccview=rev
Log:
PR libstdc++/64649
* include/bits/regex.tcc (regex_traits::lookup_collatename,
regex_traits::lookup_classname): Support forward iterators.
* testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
* testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/regex.tcc
trunk/libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc
trunk/libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc


[Bug go/64595] cgo installed into wrong directory

2015-01-19 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64595

--- Comment #11 from Andreas Schwab sch...@linux-m68k.org ---
But it shouldn't crash the app if you don't have the full information.


[Bug ipa/63576] [5 Regression] ICE : in ipa_merge_profiles, at ipa-utils.c:540 during Firefox LTO/PGO build

2015-01-19 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63576

--- Comment #7 from Jan Hubicka hubicka at gcc dot gnu.org ---
Created attachment 34490
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34490action=edit
Proposed fix

I am going to try build firefox with PDO myself with the attached patch. It is
bit tricky to merge the speculation right becuase both variant may disagree on
speculative target.


[Bug inline-asm/64681] New: gcc assign wrong register for arm inline assembly

2015-01-19 Thread zhongwei.yao at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64681

Bug ID: 64681
   Summary: gcc assign wrong register for arm inline assembly
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: inline-asm
  Assignee: unassigned at gcc dot gnu.org
  Reporter: zhongwei.yao at arm dot com

Created attachment 34492
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34492action=edit
all related file.

I compile following code on linux by arm-linux-androideabi-gcc (gcc version 4.9
20140827) with following command:

 arm-linux-androideabi-g++ -mfloat-abi=softfp -mfpu=neon -mthumb -Wall -Wextra
-march=armv7-a --sysroot=$ndk/platforms/android-21/arch-arm -O2 -Wall main.cpp

==c code start==
#include arm_neon.h

int main(void) {
  return 0;
}

char buffer[32];

void bar(int n) {
  int j = 0;
  int64x1_t s = vdup_n_s64(0);
  int64x1_t onev = vdup_n_s64(1);
  int64_t sum = 0;

  for (j = 0; j = n; j++) {
asm (vsub.s64 %0, %0, d1
  : +w (s): : memory);
  }
  sum = (int64_t)j;
  sum = vget_lane_s64(s, 0);
  if(sum 0)
s = vsub_s64(s, onev);
  vst1_s64((int64_t*)buffer, s);
}
==code end==

It returns:
/tmp/ccE0j9sL.s: Assembler messages:
/tmp/ccE0j9sL.s:55: Error: invalid instruction shape -- `vsub.s64 s14,s14,d1'

I think it is the bug in gcc that assign wrong register for variable s. It
should be d14 here, while it assignes s14.

The generated assembly file is:

==asm code start==
.syntax unified
.arch armv7-a
.eabi_attribute 27, 3
.fpu neon
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 2
.eabi_attribute 30, 2
.eabi_attribute 34, 1
.eabi_attribute 18, 4
.thumb
.filemain.cpp
.section.text.startup,ax,%progbits
.align2
.globalmain
.thumb
.thumb_func
.typemain, %function
main:
.fnstart
.LFB1870:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
movsr0, #0
bxlr
.cantunwind
.fnend
.sizemain, .-main
.text
.align2
.global_Z3bari
.thumb
.thumb_func
.type_Z3bari, %function
_Z3bari:
.fnstart
.LFB1871:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
cmpr0, #0
vmov.i32d7, #0  @ di
push{lr}
blt.L5
addsr0, r0, #1
movsr2, #0
.L4:
addsr2, r2, #1
cmpr2, r0
#APP
@ 17 src/main.cpp 1
vsub.s64 s14, s14, d1
@ 0  2
.thumb
bne.L4
fmrsr1, s14@ int
asrsr3, r2, #31
rsbr0, r1, #32
subslr, r1, #32
lslr0, r3, r0
lsrr2, r2, r1
itpl
asrpllr, r3, lr
orrr2, r2, r0
itpl
orrplr2, r2, lr
asrsr3, r3, r1
cmpr2, #1
sbcsr3, r3, #0
blt.L5
vmov.i32d16, #0x  @ di
vadd.i64d7, d7, d16
.L5:
ldrr3, .L10
.LPIC1:
addr3, pc
ldrr3, [r3]
vst1.64{d7}, [r3:64]
ldrpc, [sp], #4
.L11:
.align2
.L10:
.wordbuffer(GOT_PREL)+(.-(.LPIC1+4))
.cantunwind
.fnend
.size_Z3bari, .-_Z3bari
.globalbuffer
.bss
.align3
.typebuffer, %object
.sizebuffer, 32
buffer:
.space32
.identGCC: (GNU) 4.9 20140827 (prerelease)
.section.note.GNU-stack,,%progbits
==asm code end==


[Bug target/64669] [5 Regression] aarch64-linux profiledbootstrap failure

2015-01-19 Thread jiwang at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64669

--- Comment #4 from Jiong Wang jiwang at gcc dot gnu.org ---
haven't enable go front end,

../gcc/configure --enable-languages=c,c++,fortran --disable-libsanitizer
--enable-checking=release --disable-werror 


with make -j16 profiledbootstrap, I got several 

../../../gcc/libgcc/libgcc2.c:858:1: internal compiler error: Segmentation
fault

and then the following final errors during stage2, will do further
investigation tomorrow.

tall-after-patch/aarch64-unknown-linux-gnu/bin/
-B/home/jiowan01/COMMUNITY/install-after-patch/aarch64-unknown-linux-gnu/lib/
-isystem
/home/jiowan01/COMMUNITY/install-after-patch/aarch64-unknown-linux-gnu/include
-isystem
/home/jiowan01/COMMUNITY/install-after-patch/aarch64-unknown-linux-gnu/sys-include
 -g -O2 -O2  -g -O2 -DIN_GCC-W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-isystem ./include   -fPIC -g -DIN_LIBGCC2 -fbuilding-libgcc
-fno-stack-protector   -fPIC -I. -I. -I../.././gcc -I../../../gcc/libgcc
-I../../../gcc/libgcc/. -I../../../gcc/libgcc/../gcc
-I../../../gcc/libgcc/../include  -DHAVE_CC_TLS  -o _clrsbdi2.o -MT _clrsbdi2.o
-MD -MP -MF _clrsbdi2.dep -DL_clrsbdi2 -c ../../../gcc/libgcc/libgcc2.c
-fvisibility=hidden -DHIDE_EXPORTS
0x645377 crash_signal
../../gcc/gcc/toplev.c:372
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.
make[3]: *** [_popcountdi2.o] Error 1
make[3]: *** Waiting for unfinished jobs
0x645377 crash_signal
../../gcc/gcc/toplev.c:372
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.
make[3]: *** [_popcountsi2.o] Error 1
make[3]: Leaving directory
`/home/jiowan01/COMMUNITY/build-after-patch/aarch64-unknown-linux-gnu/libgcc'
make[2]: *** [all-stagefeedback-target-libgcc] Error 2
make[2]: Leaving directory `/home/jiowan01/COMMUNITY/build-after-patch'
make[1]: *** [stagefeedback-bubble] Error 2
make[1]: Leaving directory `/home/jiowan01/COMMUNITY/build-after-patch'
make: *** [profiledbootstrap] Error 2
~


[Bug target/64652] [SH] ICE when using -mdiv=call-fp

2015-01-19 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64652

--- Comment #3 from Oleg Endo olegendo at gcc dot gnu.org ---
Author: olegendo
Date: Mon Jan 19 23:25:03 2015
New Revision: 219870

URL: https://gcc.gnu.org/viewcvs?rev=219870root=gccview=rev
Log:
gcc/testsuite/
PR target/64652
* gcc.target/sh/torture/pr64652.c (test): Rename to test_0.
(test_1): New.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/sh/torture/pr64652.c


[Bug target/59946] -mpcrel -O2 produces illegal asm code

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

--- Comment #3 from Jeffrey A. Law law at redhat dot com ---
The m68000 does not support compare imm,pc-relative.  Sadly the various
comparison patterns play things fast and loose in terms of what order they emit
their operands.  That makes it nontrivial to write operand predicates and
constraints which would allow the PC-relative addresses.

I think the best solution is going to be to disallow pc-relative memory
addresses in the comparison patterns/expanders.


[Bug sanitizer/64435] [5 Regression] Bootstrap failure in libsanitizer on AArch64 with Linux kernel = 3.15

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

--- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon Jan 19 08:39:27 2015
New Revision: 219833

URL: https://gcc.gnu.org/viewcvs?rev=219833root=gccview=rev
Log:
PR sanitizer/64435
* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
upstream r223925.

Modified:
trunk/libsanitizer/ChangeLog
trunk/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc


[Bug c/64663] ICE at -O1 and above with -g enabled on x86_64-linux-gnu

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

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed.


[Bug testsuite/63971] Some of gcc.target/aarch64/test_frame_*.c tests fail now

2015-01-19 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63971

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |---
 Ever confirmed|1   |0

--- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org ---
And now they fail again.  We need to add back the patch since conditional
compares optimization is now in.

This was one of the reasons why I did not revert my patch in the first place
because I knew it would be back in for GCC 5.


[Bug fortran/59765] [4.9/5 Regression] [OOP] ICE on valid with finalizable array components

2015-01-19 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59765

--- Comment #13 from Andrew Pinski pinskia at gcc dot gnu.org ---
https://plus.google.com/115499135426714220931/posts/7HfURniQGH9


[Bug go/64595] cgo installed into wrong directory

2015-01-19 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64595

--- Comment #5 from rguenther at suse dot de rguenther at suse dot de ---
On Wed, 14 Jan 2015, ian at airs dot com wrote:

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64595
 
 --- Comment #4 from Ian Lance Taylor ian at airs dot com ---
 To invoke cgo, put this code in a file foo.go and type go run foo.go (or go
 build foo.go  ./foo).
 
 
 package main
 
 // #include stdio.h
 // void cprintln(const char *s) { puts(s); }
 import C
 
 func main() {
 C.cprintln(C.CString(Hello, world))
 }

Hmm, I get

 go-5 build foo.go 
no debug info in ELF executable errno -1
fatal error: no debug info in ELF executable

runtime stack:
no debug info in ELF executable errno -1
panic during panic

runtime stack:
no debug info in ELF executable errno -1
stack trace unavailable

(not really informative, seems to be from the go-5 binary).  On
openSUSE all binaries have debug information stripped and put
into separate objects not necessarily installed.  Installing it
doesn't solve the above issue.  The message seems to originate
from libbacktrace (unwind information is not stripped, obviously).

 readelf -S /usr/bin/go-5
There are 33 section headers, starting at offset 0x70ad10:

Section Headers:
  [Nr] Name  Type Address   Offset
   Size  EntSize  Flags  Link  Info  Align
  [ 0]   NULL   
        0 0 0
  [ 1] .interp   PROGBITS 00400270  0270
   001c     A   0 0 1
  [ 2] .note.ABI-tag NOTE 0040028c  028c
   0020     A   0 0 4
  [ 3] .note.gnu.build-i NOTE 004002ac  02ac
   0024     A   0 0 4
  [ 4] .hash HASH 004002d0  02d0
   0704  0004   A   6 0 8
  [ 5] .gnu.hash GNU_HASH 004009d8  09d8
   001c     A   6 0 8
  [ 6] .dynsym   DYNSYM   004009f8  09f8
   1770  0018   A   7 1 8
  [ 7] .dynstr   STRTAB   00402168  2168
   093f     A   0 0 1
  [ 8] .gnu.version  VERSYM   00402aa8  2aa8
   01f4  0002   A   6 0 2
  [ 9] .gnu.version_rVERNEED  00402ca0  2ca0
   0120     A   7 4 8
  [10] .rela.dyn RELA 00402dc0  2dc0
   0048  0018   A   6 0 8
  [11] .rela.plt RELA 00402e08  2e08
   16f8  0018   A   613 8
  [12] .init PROGBITS 00404500  4500
   001a    AX   0 0 4
  [13] .plt  PROGBITS 00404520  4520
   0f60  0010  AX   0 0 16
  [14] .text PROGBITS 00405480  5480
   0029fc34    AX   0 0 16
  [15] .fini PROGBITS 006a50b4  002a50b4
   0009    AX   0 0 4
  [16] .rodata   PROGBITS 006a50c0  002a50c0
   002b30b0     A   0 0 32
  [17] .eh_frame_hdr PROGBITS 00958170  00558170
   ea8c     A   0 0 4
  [18] .eh_frame PROGBITS 00966c00  00566c00
   00072dc4     A   0 0 8
  [19] .gcc_except_table PROGBITS 009d99c4  005d99c4
   4849     A   0 0 4
  [20] .tbss NOBITS   00bdec40  005dec40
   00d8   WAT   0 0 8
  [21] .init_array   INIT_ARRAY   00bdec40  005dec40
   0018    WA   0 0 8
  [22] .fini_array   FINI_ARRAY   00bdec58  005dec58
   0008    WA   0 0 8
  [23] .jcr  PROGBITS 00bdec60  005dec60
   0008    WA   0 0 8
  [24] .data.rel.ro  PROGBITS 00bdec80  005dec80
   0148    WA   0 0 32
  [25] .dynamic  DYNAMIC  00bdedc8  005dedc8
   0210  0010  WA   7 0 8
  [26] .got  PROGBITS 00bdefd8  005defd8
   0018  

[Bug lto/64025] [5 Regression] Several testsuite execution failures with -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects

2015-01-19 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64025

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

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

--- Comment #6 from Uroš Bizjak ubizjak at gmail dot com ---
Fixed, see [1].

[1] https://gcc.gnu.org/ml/gcc-testresults/2015-01/msg02055.html

[Bug lto/64684] New: wrong code by LTO on x86_64-linux-gnu

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

Bug ID: 64684
   Summary: wrong code by LTO 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 current gcc trunk miscompiles the following code when using LTO on
x86_64-linux-gnu in both 32-bit and 64-bit modes. 

This 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 20150119 (experimental) [trunk revision 219832] (GCC) 

$ 
$ gcc-trunk -O1 -c fn1.c
$ gcc-trunk -Os -c fn2.c
$ gcc-trunk -O0 -c main.c
$ gcc-trunk -O0 fn1.o fn2.o main.o
$ ./a.out
$ 
$ 
$ gcc-4.9 -flto -O1 -c fn1.c
$ gcc-4.9 -flto -Os -c fn2.c
$ gcc-4.9 -flto -O0 -c main.c
$ gcc-4.9 -flto fn1.o fn2.o main.o
$ ./a.out
$ 
$ gcc-trunk -flto -O1 -c fn1.c
$ gcc-trunk -flto -Os -c fn2.c
$ gcc-trunk -flto -O0 -c main.c
$ gcc-trunk -flto fn1.o fn2.o main.o
$ ./a.out
Aborted (core dumped)
$ 
$ cat fn1.c
extern void fn2 (void);
extern int a;

void
fn1 ()
{
  a = -1;
  fn2 ();
  a = 1;
}
$ cat fn2.c
extern int a;

void
fn2 (void)
{
  a = 0;
}
$ cat main.c
extern void fn1 (void);

int a;

int
main ()
{
  fn1 ();

  if (a != 0) 
__builtin_abort (); 

  return 0;
}
$


[Bug rtl-optimization/64671] [5 Regression] s390-linux profiledbootstrap failure

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

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 ---
Thanks, with this patch s390-linux as well as s390x-linux profiledbootstrap
succeeds again (well, s390x-linux worked before too).


[Bug go/64683] FAIL: runtime/pprof -- testing.go:278: The entry did not match

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

--- Comment #3 from vries at gcc dot gnu.org ---
configure line nobootstrap build:
...
$ ./nobootstrap/install/bin/gccgo -v
Using built-in specs.
COLLECT_GCC=./nobootstrap/install/bin/gccgo
COLLECT_LTO_WRAPPER=/data/vries/ref-master-15-01-19/nobootstrap/install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with:
/home/vries/gcc_versions/data/ref-master-15-01-19/src/configure
--prefix=/home/vries/gcc_versions/data/ref-master-15-01-19/nobootstrap/install
--with-cloog=/home/vries/gcc_versions/infra
--with-ppl=/home/vries/gcc_versions/infra
--with-gmp=/home/vries/gcc_versions/infra
--with-mpfr=/home/vries/gcc_versions/infra
--with-mpc=/home/vries/gcc_versions/infra
--with-isl=/home/vries/gcc_versions/infra --disable-bootstrap
--enable-checking=yes,rtl
--enable-languages=c,fortran,ada,java,objc,c++,go,obj-c++
Thread model: posix
gcc version 5.0.0 20150119 (experimental) (GCC) 
...

configure line bootstrap build (the same, but without --disable-bootstrap):
...
$ ./install/bin/gccgo -v
Using built-in specs.
COLLECT_GCC=./install/bin/gccgo
COLLECT_LTO_WRAPPER=/data/vries/ref-master-15-01-19/install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with:
/home/vries/gcc_versions/data/ref-master-15-01-19/src/configure
--prefix=/home/vries/gcc_versions/data/ref-master-15-01-19/install
--with-cloog=/home/vries/gcc_versions/infra
--with-ppl=/home/vries/gcc_versions/infra
--with-gmp=/home/vries/gcc_versions/infra
--with-mpfr=/home/vries/gcc_versions/infra
--with-mpc=/home/vries/gcc_versions/infra
--with-isl=/home/vries/gcc_versions/infra --enable-checking=yes,rtl
--enable-languages=c,fortran,ada,java,objc,c++,go,obj-c++
Thread model: posix
gcc version 5.0.0 20150119 (experimental) (GCC) 
...


[Bug go/64683] FAIL: runtime/pprof -- testing.go:278: The entry did not match

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

--- Comment #2 from vries at gcc dot gnu.org ---
Created attachment 34495
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34495action=edit
libgo.log (bootstrap build)


[Bug sanitizer/63850] Building TSAN for Aarch64 results in assembler Error

2015-01-19 Thread vekumar at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63850

--- Comment #7 from vekumar at gcc dot gnu.org ---
(In reply to clyon from comment #6)
 Venkat,
 Can you submit your GCC patch, in an accepable way? (no change to sanitizer
 libs code, and obviously do not activate tsan by default)

Okay I will send out a patch that modifies libsanitizer/configure.ac and
libsanitizer/tsan/Makefile.am that will separate out tsan_rtl_amd64.S from
getting build for other targets.


--- a/libsanitizer/tsan/tsan_rtl.h
+++ b/libsanitizer/tsan/tsan_rtl.h
@@ -679,7 +679,7 @@ void AcquireReleaseImpl(ThreadState *thr, uptr pc,
SyncClock *c);
 // The trick is that the call preserves all registers and the compiler
 // does not treat it as a call.
 // If it does not work for you, use normal call.
-#if TSAN_DEBUG == 0
+#if defined(__x86_64__)  TSAN_DEBUG == 0

This change is also acceptable?


[Bug c/64619] No -Wsign-conversion warning

2015-01-19 Thread maltsevm at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64619

Mikhail Maltsev maltsevm at gmail dot com changed:

   What|Removed |Added

 CC||maltsevm at gmail dot com

--- Comment #1 from Mikhail Maltsev maltsevm at gmail dot com ---
Indeed, confirmed on recent revision, r219801.
FWIW: it affects only bitwise operations with constants and only in case when
result is wider than non-constant operand. They are handled specially in
unsafe_conversion_p (I guess, that's because bitwise AND is used frequently, so
false positives involving it should be avoided).

$ cat ./test.c
int a;
unsigned long b;

void foo()
{
  a ^ b;
  a ^ 0x1U;
  a ^ 0x1UL;
  a + 0x1U;
  a + 0x1UL;
  a  0xULL;
  a  0x7FFFULL;
}

$ ../obj/gcc/xgcc -B../obj/gcc -c ./test.c -Wconversion
./test.c: In function 'foo':
./test.c:6:5: warning: conversion to 'long unsigned int' from 'int' may change
the sign of the result [-Wsign-conversion]
   a ^ b;
 ^
./test.c:7:5: warning: conversion to 'unsigned int' from 'int' may change the
sign of the result [-Wsign-conversion]
   a ^ 0x1U;
 ^
./test.c:9:5: warning: conversion to 'unsigned int' from 'int' may change the
sign of the result [-Wsign-conversion]
   a + 0x1U;
 ^
./test.c:10:5: warning: conversion to 'long unsigned int' from 'int' may change
the sign of the result [-Wsign-conversion]
   a + 0x1UL;
 ^
./test.c:11:5: warning: conversion to 'long long unsigned int' from 'int' may
change the sign of the result [-Wsign-conversion]
   a  0xULL;
 ^


[Bug go/64683] New: FAIL: runtime/pprof -- testing.go:278: The entry did not match

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

Bug ID: 64683
   Summary: FAIL: runtime/pprof -- testing.go:278: The entry did
not match
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: go
  Assignee: ian at airs dot com
  Reporter: vries at gcc dot gnu.org
CC: cmang at google dot com

--- FAIL: TestMemoryProfiler (0.67s)
testing.go:278: The entry did not match:
0: 0 \[1: 2097152\] @ 0x[0-9,a-f x]+
#   0x[0-9,a-f]+   
pprof_test\.allocateTransient2M\+0x[0-9,a-f]+   .*/mprof_test.go:30
#   0x[0-9,a-f]+   
runtime_pprof_test\.TestMemoryProfiler\+0x[0-9,a-f]+.*/mprof_test.go:65


[Bug go/64683] FAIL: runtime/pprof -- testing.go:278: The entry did not match

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

--- Comment #4 from vries at gcc dot gnu.org ---
Ran into this failure with r219832.


[Bug ipa/63576] [5 Regression] ICE : in ipa_merge_profiles, at ipa-utils.c:540 during Firefox LTO/PGO build

2015-01-19 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63576

--- Comment #8 from Jan Hubicka hubicka at gcc dot gnu.org ---
Markus,
I don't seem to be able to train firefox with current tree because of unrelated
issues.  If you would have chance to test the patch on your setup, it would be
cool.


[Bug ipa/64282] [5 Regression] ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635

2015-01-19 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64282

--- Comment #4 from Jan Hubicka hubicka at gcc dot gnu.org ---
The reduced testcase does not seem to reproduce for me.  The ICE is however
just overactive sanity check - the program is invalid and accesses random data
as vtable pointer. In this case we can just optimize to unreachable instead of
ICEing. I am testing the following:

Index: gimple-fold.c
===
--- gimple-fold.c   (revision 219876)
+++ gimple-fold.c   (working copy)
@@ -5649,7 +5649,6 @@ gimple_get_virt_method_for_vtable (HOST_
   if (TREE_CODE (v) != VAR_DECL
   || !DECL_VIRTUAL_P (v))
 {
-  gcc_assert (in_lto_p);
   /* Pass down that we lost track of the target.  */
   if (can_refer)
*can_refer = false;


[Bug sanitizer/63850] Building TSAN for Aarch64 results in assembler Error

2015-01-19 Thread dvyukov at google dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63850

--- Comment #8 from Dmitry Vyukov dvyukov at google dot com ---
On Tue, Jan 20, 2015 at 9:06 AM, vekumar at gcc dot gnu.org
gcc-bugzi...@gcc.gnu.org wrote:
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63850

 --- Comment #7 from vekumar at gcc dot gnu.org ---
 (In reply to clyon from comment #6)
 Venkat,
 Can you submit your GCC patch, in an accepable way? (no change to sanitizer
 libs code, and obviously do not activate tsan by default)

 Okay I will send out a patch that modifies libsanitizer/configure.ac and
 libsanitizer/tsan/Makefile.am that will separate out tsan_rtl_amd64.S from
 getting build for other targets.


 --- a/libsanitizer/tsan/tsan_rtl.h
 +++ b/libsanitizer/tsan/tsan_rtl.h
 @@ -679,7 +679,7 @@ void AcquireReleaseImpl(ThreadState *thr, uptr pc,
 SyncClock *c);
  // The trick is that the call preserves all registers and the compiler
  // does not treat it as a call.
  // If it does not work for you, use normal call.
 -#if TSAN_DEBUG == 0
 +#if defined(__x86_64__)  TSAN_DEBUG == 0

 This change is also acceptable?

This change will be overwritten on the next integrate from upstream.
Changes to runtimes need to go to llvm repo. However, in this case we
just need to wait for mips64 change to be landed and it will fix this
define as well.


[Bug fortran/57023] [4.8/4.9/5 Regression] Not packing arrays with changing variable used for size

2015-01-19 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57023

Thomas Koenig tkoenig at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Thomas Koenig tkoenig at gcc dot gnu.org ---
Created attachment 34493
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34493action=edit
Proposed patch

This patch creates a temporary if a bound of the
array contains a dummy variable which is not
INTENT(IN) (so it could potentially be changed
by the user).

Modern code should always have INTENT(IN) for
something passed as array bounds, anyway.  We
should be correct for all cases, but not try
to optimize the pathological ones.


[Bug ipa/63576] [5 Regression] ICE : in ipa_merge_profiles, at ipa-utils.c:540 during Firefox LTO/PGO build

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

--- Comment #9 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
I will give your patch a try.
In case it might help here's the script I use for LTO/PGO
(as you can see it starts the instrumented browser. I then
just visit a couple of webpages to train it):

markus@x4 mozilla-central % cat profile_build
#!/bin/zsh
mv .mozconfig .mozconfig_tmp  
cp .mozconfig_profile_gen .mozconfig  
nice -n 19 make -f client.mk  
killall firefox 
/var/tmp/moz-build-dir/dist/bin/firefox  
rm  /var/tmp/moz-build-dir/**/Makefile  
rm  /var/tmp/moz-build-dir/**/*.o  
rm  /var/tmp/moz-build-dir/**/config.status  
rm  /var/tmp/moz-build-dir/**/configure.pkl  
cp .mozconfig_profile_use .mozconfig  
nice -n 19 make -f client.mk  
make DESTDIR=/var/tmp/firefox-destdir -C /var/tmp/moz-build-dir install  
rm -fr /var/tmp/moz-build-dir 
mv .mozconfig_tmp .mozconfig

Where .mozconfig_profile_gen contains:
export CFLAGS=-march=native -fno-semantic-interposition -ffunction-sections
-fdata-sections 
export CXXFLAGS=-march=native -fno-semantic-interposition -fprofile-generate
-ffunction-sections -fdata-sections

and .mozconfig_profile_use contains:
export CFLAGS=-march=native -fno-semantic-interposition -ffunction-sections
-fdata-sections
export CXXFLAGS=-march=native -fno-semantic-interposition -flto=4
-fdevirtualize-at-ltrans -fprofile-use -fprofile-correction -ffunction-sections
-fdata-sections


[Bug tree-optimization/64682] New: wrong code at -O2 and -O3 on x86_64-linux-gnu

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

Bug ID: 64682
   Summary: wrong code at -O2 and -O3 on x86_64-linux-gnu
   Product: gcc
   Version: 5.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 code on x86_64-linux at -O2 and
-O3 in both 32-bit and 64-bit modes. 

This 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 20150119 (experimental) [trunk revision 219832] (GCC) 

$ 
$ gcc-trunk -Os small.c; a.out
5
$ gcc-4.9 -O2 small.c; a.out
5
$ 
$ gcc-trunk -O2 small.c; a.out
1
$ 


---


int printf (const char *, ...);

int a, b = 1;

int
main ()
{
  int i;
  for (i = 0; i  56; i++)
for (; a; a--)
  ;
  int *c = b;
  if (*c)
*c = 1 % (unsigned int) *c | 5;

  printf (%d\n, b);

  return 0;
}


[Bug go/64683] FAIL: runtime/pprof -- testing.go:278: The entry did not match

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

--- Comment #1 from vries at gcc dot gnu.org ---
Created attachment 34494
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34494action=edit
libgo.log (nobootstrap build)


[Bug bootstrap/64676] [5.0 Regression] SEGV in tree-ssa-structalias.c solve_constraint

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

--- Comment #5 from David Edelsohn dje at gcc dot gnu.org ---
This was caused by r219842

PR rtl-optimization/64081
* loop-iv.c (def_pred_latch_p): New function.
(latch_dominating_def): Allow specific cases with non-single
definitions.
(iv_get_reaching_def): Likewise.
(check_complex_exit_p): New function.
(check_simple_exit): Use check_complex_exit_p to allow certain cases
with exits not executing on any iteration.


[Bug sanitizer/64435] [5 Regression] Bootstrap failure in libsanitizer on AArch64 with Linux kernel = 3.15

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

--- Comment #21 from Jakub Jelinek jakub at gcc dot gnu.org ---
Ugh, there is also this junk:
// By default we allow to use SizeClassAllocator64 on 64-bit platform.
// But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
// does not work well and we need to fallback to SizeClassAllocator32.
// For such platforms build this code with -DSANITIZER_CAN_USE_ALLOCATOR64=0 or
// change the definition of SANITIZER_CAN_USE_ALLOCATOR64 here.
#ifndef SANITIZER_CAN_USE_ALLOCATOR64
# if defined(__aarch64__) || defined(__mips64)
#  define SANITIZER_CAN_USE_ALLOCATOR64 0
# else
#  define SANITIZER_CAN_USE_ALLOCATOR64 (SANITIZER_WORDSIZE == 64)
# endif
#endif

It would be nice to know why that has been added.
Was that just because
#if SANITIZER_CAN_USE_ALLOCATOR64
# if defined(__powerpc64__)
const uptr kAllocatorSpace =  0xa00ULL;
const uptr kAllocatorSize  =  0x200ULL;  // 2T.
# else
const uptr kAllocatorSpace = 0x6000ULL;
const uptr kAllocatorSize  =  0x400ULL;  // 4T.
# endif
has not been adjusted for the port?
What is the minimum kAllocatorSize that would work?  Given the very small
39-bit VA option on aarch64, I think if the allocator64 memory has to be normal
memory with shadow, we could only use say something like
kAllocatorSpace 0x8 and kAllocatorSize the same value, i.e. 32GB. 
Would that be enough?

There is also the:
// The range of addresses which can be returned my mmap.
// FIXME: this value should be different on different platforms,
// e.g. on AArch64 it is most likely (1ULL  39). Larger values will still
work
// but will consume more memory for TwoLevelByteMap.
#if defined(__aarch64__)
# define SANITIZER_MMAP_RANGE_SIZE FIRST_32_SECOND_64(1ULL  32, 1ULL  39)
#else
# define SANITIZER_MMAP_RANGE_SIZE FIRST_32_SECOND_64(1ULL  32, 1ULL  47)
#endif
which is again wrong for aarch64.  Does it really has to be compile time
constant?  The 1ULL  47 is also wrong ppc64, mips64, isn't it?


[Bug c++/64677] incorrect result with complex division?

2015-01-19 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64677

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org ---
One part is different.  Most likely not a bug.  Division really depends on
fused multiple add to get good results IIRC.


[Bug c++/64677] incorrect result with complex division?

2015-01-19 Thread spatel at rotateright dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64677

--- Comment #2 from Sanjay Patel spatel at rotateright dot com ---
This is on plain x86-64 with SSE (before the addition of any FMA instructions),
so lack of FMA must be accounted for?

The answers differ in the last digit / ULP. Is there some standard or golden
implementation that will answer which answer is correct?


[Bug ipa/64668] [5 Regression] internal compiler error: in compare_ssa_name, at ipa-icf-gimple.c:120

2015-01-19 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64668

--- Comment #7 from Martin Liška marxin at gcc dot gnu.org ---
Author: marxin
Date: Mon Jan 19 22:02:04 2015
New Revision: 219861

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

* objc/compile/pr64668.m: New test.
PR ipa/64668
* ipa-icf-gimple.c (func_checker::compare_operand): Call proper
function for second argument of OBJ_TYPE_REF.

Added:
trunk/gcc/testsuite/objc/compile/pr64668.m
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-icf-gimple.c
trunk/gcc/testsuite/ChangeLog

[Bug ipa/64668] [5 Regression] internal compiler error: in compare_ssa_name, at ipa-icf-gimple.c:120

2015-01-19 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64668

--- Comment #8 from Martin Liška marxin at gcc dot gnu.org ---
Fixed in 5.0.0.

[Bug fortran/64674] [OOP] ICE in ASSOCIATE with allocated class

2015-01-19 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64674

janus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-19
 CC||janus at gcc dot gnu.org
Version|fortran-dev |5.0
Summary|OOP Internal compiler error |[OOP] ICE in ASSOCIATE with
   |in associate with allocated |allocated class
   |class   |
 Ever confirmed|0   |1

--- Comment #1 from janus at gcc dot gnu.org ---
Confirmed. Slightly reduced test case:

  Type T
   integer :: map
  end Type T

  class(T), allocatable :: Cls(:)

  allocate(Cls(2))
  associate(CL = Cls(1))
  CL%map = 2
  end associate

end


[Bug target/64669] [5 Regression] aarch64-linux profiledbootstrap failure

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

--- Comment #2 from Richard Henderson rth at gcc dot gnu.org ---
Hmm.  I'm not even getting that far with r219852

gcc/expmed.h: In function ‘void init_expmed()’:
gcc/expmed.h:613:77: error: array subscript is above array bounds
[-Werror=array-bounds]
   return this_target_expmed-x_mul_highpart_cost[speed][mode - MIN_MODE_INT];
 ^
gcc/expmed.h:263:33: error: array subscript is below array bounds
[-Werror=array-bounds]
   return costs-cost[speed][idx];
 ^
gcc/expmed.h:263:33: error: array subscript is below array bounds
[-Werror=array-bounds]
   return costs-cost[speed][idx];
 ^
gcc/expmed.h:263:33: error: array subscript is above array bounds
[-Werror=array-bounds]
   return costs-cost[speed][idx];
 ^
gcc/expmed.h:263:33: error: array subscript is above array bounds
[-Werror=array-bounds]
   return costs-cost[speed][idx];

[Bug fortran/64674] [OOP] ICE in ASSOCIATE with allocated class

2015-01-19 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64674

--- Comment #2 from janus at gcc dot gnu.org ---
When commenting the line with 'CL%map', one gets a different ICE:

   associate(CL = Cls(1))
 1
internal compiler error: in gfc_conv_expr_descriptor, bei
fortran/trans-array.c:6499
0x692657 gfc_conv_expr_descriptor(gfc_se*, gfc_expr*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-array.c:6499
0x6de41c trans_associate_var
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-stmt.c:1313
0x6de41c gfc_trans_block_construct(gfc_code*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-stmt.c:1463
0x681d37 trans_code
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans.c:1755
0x6a2d63 gfc_generate_function_code(gfc_namespace*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-decl.c:5843
0x63e400 translate_all_program_units
/home/jweil/gcc/gcc50/trunk/gcc/fortran/parse.c:5341
0x63e400 gfc_parse_file()
/home/jweil/gcc/gcc50/trunk/gcc/fortran/parse.c:5538
0x67dda5 gfc_be_parse_file
/home/jweil/gcc/gcc50/trunk/gcc/fortran/f95-lang.c:228


[Bug ipa/64668] [5 Regression] internal compiler error: in compare_ssa_name, at ipa-icf-gimple.c:120

2015-01-19 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64668

Martin Liška marxin at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #9 from Martin Liška marxin at gcc dot gnu.org ---
Fixed.

[Bug debug/63741] lm32 ICE in dwarf2out_frame_debug_expr, at dwarf2cfi.c:1677

2015-01-19 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63741

--- Comment #4 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Joel Sherrill from comment #3)
 Added the dwarf maintainers hoping to get an answer. From an RTEMS
 perspective, the lm32 is not usable. Both 4.9 and the head are broken.
 Hoping you two have an idea. Happy to help since this is a cross target.

This is a target problem.

Please see stack_adjust function, where emit_move_insn is used to move an
immediate to r10. However, emit_move_insn with (const_int -32812) generates two
insn sequence:

(insn 952 123 953 2 (set (reg:SI 10 r10)
(const_int -65536 [0x]))
../../../../../../rtems/c/src/../../cpukit/libdl/fastlz.c:167 -1
 (nil))
(insn/f 953 952 954 2 (set (reg:SI 10 r10)
(ior:SI (reg:SI 10 r10)
(const_int 32724 [0x7fd4])))
../../../../../../rtems/c/src/../../cpukit/libdl/fastlz.c:167 -1
 (expr_list:REG_EQUAL (const_int -32812 [0x7fd4])
(nil)))

However:

  /* r10 is caller saved so it can be used as a temp reg.  */
  rtx r10;
  r10 = gen_rtx_REG (word_mode, 10);
  insn = emit_move_insn (r10, GEN_INT (amount));
  if (amount  0)
RTX_FRAME_RELATED_P (insn) = 1;

emit_move_insn returns only the *last* insn of the sequence (insn 953 in the
above dump). (insn 952) doesn't get RTX_FRAME_RELATED_P flag set - please note
lack of /f modifier - and consequently dwarf2out_frame_debug_expr trips in Rule
7 due to unknown cfa_temp.reg (which would be otherwise initialized in insn
952, following Rule 6).

So, considering that emit_move_insn can generate a sequence of insns, but only
the last insn is returned as a return value of a function,

  insn = emit_move_insn (r10, GEN_INT (amount));
  RTX_FRAME_RELATED_P (insn) = 1;

is not the correct way to set /f flags to all insn of the generated sequence.

[Bug target/64669] [5 Regression] aarch64-linux profiledbootstrap failure

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
That was the --disable-werror.


[Bug target/63347] m68k misoptimisation with -fschedule-insns

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

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 CC||law at redhat dot com

--- Comment #10 from Jeffrey A. Law law at redhat dot com ---
Bernd, need your input on the best direction here...

This BZ is caused by mis-handling of SCHED_GROUP_P in some scheduler work from
a few years ago (meaning it's probably a 4.8 and 4.9 regression as well).

The offending commit is :

Author: bernds bernds@138bc75d-0d04-0410-961f-82ee72b054a4
Date:   Fri Apr 1 17:48:35 2011 +

* haifa-sched.c (prune_ready_list): New function, broken out of
schedule_block.
(schedule_block): Use it.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171845
138bc75d-0d04-0410-961f-82ee72b054a4


As can be seen in this BZ, it can cause incorrect code anywhere we use
SCHED_GROUP_P to keep insns together for correctness.  It can cause
missed-optimizations for things like insn fusion.

The old code would just advance the cycle counter forward the appropriate
number of cycles when it saw a SCHED_GROUP_P insn.   I can hack something
together to have a similar effect here, but I'm unsure if it would break the
tic6x.


[Bug middle-end/64642] Malformed code as result of C-cast to (polymorphic) object-reference (depends on opt-level ...)

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Well, you invoke undefined behavior here which means GCC can do anything it
wants.
In this case it simply marks the virtual call unreachable and simplifies the
code according to that.


[Bug gcov-profile/64634] [4.8/4.9/5 Regression] gcov reports catch(...) as not executed

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-19
  Known to work||4.4.7
   Target Milestone|--- |4.8.5
Summary|gcov reports catch(...) as  |[4.8/4.9/5 Regression] gcov
   |not executed|reports catch(...) as not
   ||executed
 Ever confirmed|0   |1
  Known to fail||4.9.2

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


[Bug c++/64667] -Winit-self ignored for reference fields

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-19
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
The fix for PR 18016 can probably be extended to references pretty easily.

See also PR 19808 and PR 18605.


[Bug fortran/64230] [4.9/5 Regression] Segmentation fault - invalid memory reference in a compiler-generated finalizer for a complicated type hierarchy when a polymorphic variable is allocated in an e

2015-01-19 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64230

janus at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from janus at gcc dot gnu.org ---
Have a patch ...


[Bug target/64304] AArch64 miscompilation with -mgeneral-regs-only

2015-01-19 Thread jiwang at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64304

--- Comment #5 from Jiong Wang jiwang at gcc dot gnu.org ---
Author: jiwang
Date: Mon Jan 19 14:13:33 2015
New Revision: 219844

URL: https://gcc.gnu.org/viewcvs?rev=219844root=gccview=rev
Log:
[AArch64] Remove ashift pattern for QI/HI

2015-01-19  Jiong Wang  jiong.w...@arm.com
Andrew Pinski  apin...@cavium.com

  gcc/
PR target/64304
* config/aarch64/aarch64.md (define_insn *ashlmode3_insn): Deleted.
(ashlmode3): Don't expand if operands[2] is not constant.

  gcc/testsuite/
* gcc.target/aarch64/pr64304.c: New testcase.


Added:
trunk/gcc/testsuite/gcc.target/aarch64/pr64304.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64.md
trunk/gcc/testsuite/ChangeLog


[Bug c++/64647] [5 Regression] [C++14] std::__max_element contains code not allowed in constexpr function

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
   Target Milestone|--- |5.0


[Bug c++/64666] New: gcc wrongly accepts assignment in constant expression

2015-01-19 Thread dcb314 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64666

Bug ID: 64666
   Summary: gcc wrongly accepts assignment in constant expression
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dcb314 at hotmail dot com

Given source code 

void f()
{
int i = 5, j;

int a[ j = i];
}

Recent trunk code says

$ ~/gcc/results/bin/g++ -g -O2 -Wall -Wextra -c  jan19g.cc
jan19g.cc: In function ‘void f()’:
jan19g.cc:6:6: warning: unused variable ‘a’ [-Wunused-variable]
  int a[ j = i];
  ^
$ 

Here is clang doing something different


$ ~/llvm/results/bin/clang++ -g -O2 -Wall -c  jan19g.cc
jan19g.cc:6:11: error: expected ']'
int a[ j = i];
 ^
jan19g.cc:6:7: note: to match this '['
int a[ j = i];
 ^
1 error generated.
$

[Bug target/64669] [5 Regression] aarch64-linux profiledbootstrap failure

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Target||aarch64-linux
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-19
   Target Milestone|--- |5.0
 Ever confirmed|0   |1


[Bug testsuite/63971] Some of gcc.target/aarch64/test_frame_*.c tests fail now

2015-01-19 Thread belagod at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63971

--- Comment #9 from Tejas Belagod belagod at gcc dot gnu.org ---
Author: belagod
Date: Mon Jan 19 12:57:48 2015
New Revision: 219838

URL: https://gcc.gnu.org/viewcvs?rev=219838root=gccview=rev
Log:
2015-01-19  Tejas Belagod  tejas.bela...@arm.com

PR target/63971
* gcc.target/aarch64/test_frame_1.c: Expect only two loads of x30 (in
the epilogue).
* gcc.target/aarch64/test_frame_6.c: Likewise.
* gcc.target/aarch64/test_frame_2.c: Expect only one pair load of x30
and x19 (in the epilogue).
* gcc.target/aarch64/test_frame_4.c: Likewise.
* gcc.target/aarch64/test_frame_7.c: Likewise.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/aarch64/test_frame_1.c
trunk/gcc/testsuite/gcc.target/aarch64/test_frame_2.c
trunk/gcc/testsuite/gcc.target/aarch64/test_frame_4.c
trunk/gcc/testsuite/gcc.target/aarch64/test_frame_6.c
trunk/gcc/testsuite/gcc.target/aarch64/test_frame_7.c


[Bug fortran/61933] [5 Regression] Inquire on internal units

2015-01-19 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61933

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

   What|Removed |Added

Summary|Inquire on internal units   |[5 Regression] Inquire on
   ||internal units

--- Comment #14 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
I'm adding the regression marker for the problem related to finding existing
units in the current trunk (comment #7), as is appropriate for the current
stage.


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

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
 CC||grosser at gcc dot gnu.org

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
7: note: === vect_analyze_data_refs ===
Creating dr for a[_56]
analyze_innermost:
failed: evolution of offset is not affine.
base_address:
offset from base address:
constant offset from base address:
step:
aligned to:
base_object: a
Access function 0: (int) {(unsigned int) graphite_IV.5_50, +, 1}_3;

the graphive IVs are signed long
  bb 8:
  _46 = (signed long) mid_6(D);
...

  bb 9:
  graphite_IV.5_50 = MAX_EXPR _46, 0;
  _51 = (signed long) n_5(D);
  _52 = _51 + -1;

  bb 10:
  # graphite_IV.5_53 = PHI graphite_IV.5_50(9), graphite_IV.5_54(11)
  _56 = (int) graphite_IV.5_53;
  _55 = a[_56];
  _57 = c[_56];
  _58 = _55 + _57;
  _64 = (int) graphite_IV.5_53;
  a[_64] = _58;
  graphite_IV.5_54 = graphite_IV.5_53 + 1;
  if (graphite_IV.5_53  _52)
goto bb 11;
  else
goto bb 13;

  bb 11:
  goto bb 10;

(instantiate_scev
  (instantiate_below = 9)
  (evolution_loop = 3)
  (chrec = (ssizetype) (int) {(unsigned int) graphite_IV.5_50, +, 1}_3)
  (res = (ssizetype) (int) {(unsigned int) graphite_IV.5_50, +, 1}_3))

so it appears to SCEV that the evolution may wrap.

With GCC 4.9 we choose signed int as GRAPHITE IV.

Looks like the IV type is statically determined by
graphite_expression_type_precision as

/* We always try to use signed 128 bit types, but fall back to smaller types
   in case a platform does not provide types of these sizes. In the future we
   should use isl to derive the optimal type for each subexpression.  */

static int max_mode_int_precision =
  GET_MODE_PRECISION (mode_for_size (MAX_FIXED_MODE_SIZE, MODE_INT, 0));
static int graphite_expression_type_precision = 128 = max_mode_int_precision ?
128 : max_mode_int_precision;

Not sure how this doesn't end up with __int128_t on x86_64, but ...

It's obviously a bad choice to use __int128_t (or even signed long) everywhere.

Let's XFAIL this testcase if nobody fixes the underlying issue.  What does it
take to use ISL to derive the optimal type for each subexpression?  Is
that even possible?


[Bug target/64580] very high rs6000_stack_info() usage during LTO Firefox build on ppc64

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

--- Comment #2 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Hi Segher,

on gcc112 you can use the following command to reproduce the issue:

 % g++ -xlto -c -mcpu=power8 -O3 -fPIC -fno-exceptions -fltrans -o /dev/null
/var/tmp/libxul.so.ltrans8.o


[Bug target/64448] [5 Regression] New middle-end pattern breaks vector BIF folding on AArch64.

2015-01-19 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64448

--- Comment #3 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Mon Jan 19 14:03:23 2015
New Revision: 219843

URL: https://gcc.gnu.org/viewcvs?rev=219843root=gccview=rev
Log:
[AArch64] PR 64448: Combine ((x ^ y)  m) ^ x into bsl/bif instruction

PR target/64448
* config/aarch64/aarch64-simd.md (aarch64_simd_bslmode_internal):
Match xor-and-xor RTL pattern.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64-simd.md


[Bug target/64304] AArch64 miscompilation with -mgeneral-regs-only

2015-01-19 Thread jiwang at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64304

Jiong Wang jiwang at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Jiong Wang jiwang at gcc dot gnu.org ---
mark as fixed.


[Bug target/64669] New: [5 Regression] aarch64-linux profiledbootstrap failure

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

Bug ID: 64669
   Summary: [5 Regression] aarch64-linux profiledbootstrap failure
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jakub at gcc dot gnu.org

r219833 (but also older revisions, e.g. r219767)
../configure --enable-languages=c,c++,fortran,go --enable-checking=release
--disable-werror
make -j16 profiledbootstrap
fails on aarch64:
/tmp/jakub/gcc/obj/./prev-gcc/cc1plus -quiet -nostdinc++ -I
/tmp/jakub/gcc/obj/prev-aarch64-unknown-linux-gnu/libstdc++-v3/include/aarch64-unknown-linux-gnu
-I /tmp/jakub/gcc/obj/prev-aarch64-unknown-linux-gnu/libstdc++-v3/include -I
/tmp/jakub/gcc/libstdc++-v3/libsupc++ -I . -I go -I ../../gcc -I ../../gcc/go
-I ../../gcc/../include -I ../../gcc/../libcpp/include -I
../../gcc/../libdecnumber -I ../../gcc/../libdecnumber/dpd -I ../libdecnumber
-I ../../gcc/../libbacktrace -I ../../gcc/go -I ../../gcc/go/gofrontend
-iprefix
/tmp/jakub/gcc/obj/prev-gcc/../lib/gcc/aarch64-unknown-linux-gnu/5.0.0/
-isystem /tmp/jakub/gcc/obj/./prev-gcc/include -isystem
/tmp/jakub/gcc/obj/./prev-gcc/include-fixed -MMD go/lex.d -MF go/.deps/lex.TPo
-MP -MT go/lex.o -D_GNU_SOURCE -D IN_GCC_FRONTEND -D IN_GCC -D HAVE_CONFIG_H
../../gcc/go/gofrontend/lex.cc -quiet -dumpbase lex.cc -mlittle-endian
-mabi=lp64 -auxbase-strip go/lex.o -g -O2 -Wextra -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wsuggest-attribute=format -Woverloaded-virtual
-Wpedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-fprofile-use -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -o
/tmp/cclDZwuT.s
../../gcc/go/gofrontend/lex.cc: In member function ‘const char*
Lex::advance_one_char(const char*, bool, unsigned int*, bool*)’:
../../gcc/go/gofrontend/lex.cc:1158:1: internal compiler error: in
convert_move, at expr.c:688
 Lex::advance_one_char(const char* p, bool is_single_quote, unsigned int*
value,
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
Fails the same with stage1-gcc/cc1plus instead of prev-gcc/cc1plus, doesn't ICE
without -fprofile-use.

#0  fancy_abort (file=0x14b3cd8 ../../gcc/expr.c, line=688, 
function=0x14b4700 convert_move(rtx_def*, rtx_def*, int)::__FUNCTION__
convert_move) at ../../gcc/diagnostic.c:1288
#1  0x009f2d90 in convert_move (to=0x3ffacdec060, from=0x3ffacdebf58,
unsignedp=1) at ../../gcc/expr.c:688
#2  0x009f3264 in convert_modes (mode=SImode, oldmode=CC_DEQmode,
x=0x3ffacdebf58, unsignedp=1) at ../../gcc/expr.c:769
#3  0x00c97120 in prepare_operand (icode=CODE_FOR_cbranchsi4,
x=0x3ffacdebf58, opnum=1, mode=QImode, wider_mode=SImode, unsignedp=1)
at ../../gcc/optabs.c:4293
#4  0x00c96e04 in prepare_cmp_insn (x=0x3ffacdebf58, y=0x3ffaf3e0480,
comparison=LEU, size=0x0, unsignedp=1, methods=OPTAB_LIB_WIDEN, 
ptest=0x3ffe248, pmode=0x3ffe228) at ../../gcc/optabs.c:4203
#5  0x00c974a8 in emit_cmp_and_jump_insns (x=0x3ffacdebf58,
y=0x3ffaf3e0480, comparison=LEU, size=0x0, mode=QImode, unsignedp=1, 
label=0x3fface05e00, prob=0) at ../../gcc/optabs.c:4381
#6  0x0095ca80 in do_compare_rtx_and_jump (op0=0x3ffacdebf58,
op1=0x3ffaf3e0480, code=LEU, unsignedp=1, mode=QImode, size=0x0, 
if_false_label=0x0, if_true_label=0x3fface05e00, prob=0) at
../../gcc/dojump.c:1159
#7  0x0095cca4 in do_compare_and_jump (treeop0=0x3ffac41a200,
treeop1=0x3ffaf371038, signed_code=LE, unsigned_code=LEU, 
if_false_label=0x0, if_true_label=0x3fface05e00, prob=0) at
../../gcc/dojump.c:1241
#8  0x0095abb4 in do_jump_1 (code=LE_EXPR, op0=0x3ffac41a200,
op1=0x3ffaf371038, if_false_label=0x0, if_true_label=0x3fface05e00, prob=0)
at ../../gcc/dojump.c:296
#9  0x0095a448 in jumpif_1 (code=LE_EXPR, op0=0x3ffac41a200,
op1=0x3ffaf371038, label=0x3fface05e00, prob=0) at ../../gcc/dojump.c:176
#10 0x008df938 in expand_gimple_cond (bb=0x3ffac329240,
stmt=0x3ffac30a230) at ../../gcc/cfgexpand.c:2231
#11 0x008e7f1c in expand_gimple_basic_block (bb=0x3ffac329240,
disable_tail_calls=false) at ../../gcc/cfgexpand.c:5262
#12 0x008e9af4 in (anonymous namespace)::pass_expand::execute
(this=0x1a0fe20, fun=0x3ffb10feaf0) at ../../gcc/cfgexpand.c:6003
#13 0x00cc092c in execute_one_pass (pass=0x1a0fe20) at
../../gcc/passes.c:2326
#14 0x00cc0bd8 in execute_pass_list_1 (pass=0x1a0fe20) at
../../gcc/passes.c:2378
#15 0x00cc0c54 in execute_pass_list (fn=0x3ffb10feaf0, pass=0x1a0cca0)
at ../../gcc/passes.c:2389
#16 0x00928030 in cgraph_node::expand (this=0x3ffb108e118) at
../../gcc/cgraphunit.c:1804

in prepare_operand x is (reg:CC_DEQ 66 cc [ D.47994 ]) and trying to convert it
to SImode is of course deemed to fail.
In do_compare_and_jump treeop0 

[Bug c++/64665] Overload resolution not working with std::initializer_liststd::string and bool

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
Possibly a duplicate of another bug but I can't find one right now.


[Bug target/64669] [5 Regression] aarch64-linux profiledbootstrap failure

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jiwang at gcc dot gnu.org,
   ||zhenqiang.chen at arm dot com

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Seems this is because of the gen_ccmp_{first,next} stuff that is being
constantly added and reverted again.
How can it work reliably?  I mean, if expansion of something returns you
something in completely different mode, how do you ensure that the side that
consumes it will know it has to handle it specially?  Some new RTX code
signalizing that would at least make it more clear, but you'd need to ensure
that if you don't handle it specially, that it will be automatically turned
back to the expansion that didn't do anything special.


[Bug lto/61886] [4.8/4.9/5 Regression] LTO breaks fread with _FORTIFY_SOURCE=2

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

--- Comment #28 from Richard Biener rguenth at gcc dot gnu.org ---
Still broken :(


[Bug middle-end/64313] [5 Regression] gcc.dg/torture/builtin-explog-1.c fails on bare-metal targets

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

--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org ---
So sth like

Index: gcc/c-family/c-gimplify.c
===
--- gcc/c-family/c-gimplify.c   (revision 219839)
+++ gcc/c-family/c-gimplify.c   (working copy)
@@ -300,6 +300,20 @@ c_gimplify_expr (tree *expr_p, gimple_se
break;
   }

+case ADDR_EXPR:
+  {
+   /* If we see a call to a declared builtin or see its address
+  being taken (we can unify those cases) then we can mark
+  the builtin for implicit generation by GCC.  */
+   tree fndecl = TREE_OPERAND (*expr_p, 0);
+   if (TREE_CODE (fndecl) == FUNCTION_DECL
+DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL
+   /* C_DECL_DECLARED_BUILTIN */
+DECL_LANG_FLAG_3 (fndecl))
+ set_builtin_decl_implicit_p (DECL_FUNCTION_CODE (fndecl), true);
+   break;
+  }
+
 case CILK_SPAWN_STMT:
   gcc_assert
(fn_contains_cilk_spawn_p (cfun)

works for C (yeah, that flag check needs to become a new langhook due to the
way we share c_gimplify across frontends... :/).  For C++ there isn't anything
similar to C_DECL_DECLARED_BUILTIN, but of course the testcase is only
exercised for C.  Alternatively we can add a flag to the middle-end that FEs
can set to treat a builtin as candidate for implicit use if it is used
(but that way we can't distinguish uses of __builtin_log10 from declared
log10).
Thus, similar to [set_]builtin_decl_implicit_p have a
[set_]builtin_decl_declared_p - then we can handle the above in generic
gimplifier routines.


[Bug rtl-optimization/64081] [5 Regression] r217827 prevents RTL loop unroll

2015-01-19 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64081

--- Comment #3 from ienkovich at gcc dot gnu.org ---
Author: ienkovich
Date: Mon Jan 19 13:58:54 2015
New Revision: 219842

URL: https://gcc.gnu.org/viewcvs?rev=219842root=gccview=rev
Log:
gcc/

PR rtl-optimization/64081
* loop-iv.c (def_pred_latch_p): New function.
(latch_dominating_def): Allow specific cases with non-single
definitions.
(iv_get_reaching_def): Likewise.
(check_complex_exit_p): New function.
(check_simple_exit): Use check_complex_exit_p to allow certain cases
with exits not executing on any iteration.

gcc/testsuite/

PR rtl-optimization/64081
* gcc.dg/pr64081.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/pr64081.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/loop-iv.c
trunk/gcc/testsuite/ChangeLog


[Bug target/64532] [4.9/5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

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

--- Comment #8 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
Author: ramana
Date: Mon Jan 19 14:55:28 2015
New Revision: 219847

URL: https://gcc.gnu.org/viewcvs?rev=219847root=gccview=rev
Log:
Improve documentation of register constraints.

While looking at PR target/64532- I realized we haven't documented all
the register constraints. I'm not documenting the other immediate
constraints as it is not clear to me how much of that is actually
useful yet and I don't have the time this afternoon to clean this up.

Built documentation and looked at it.

Applied.

Ramana


Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/md.texi


[Bug rtl-optimization/64671] New: [5 Regression] s390-linux profiledbootstrap failure

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

Bug ID: 64671
   Summary: [5 Regression] s390-linux profiledbootstrap failure
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jakub at gcc dot gnu.org

On s390-linux, profiledbootstrap hangs while compiling various libgcc routines
with stageprofile cc1.
This looks like a register allocation issue to me.
.L2667:
.loc 3 1448 0
lr  %r1,%r8
ahi %r1,-1
lhi %r4,1
lr  %r10,%r1
jne .L2667
is an endless loop, because r8 doesn't change in the loop, so if it is not 1 at
the beginning of the loop, it will cycle forever.
During reload one can see first the:
(code_label 6256 8889 3592 323 2667  [1 uses])
(note 3592 6256 3599 323 [bb 323] NOTE_INSN_BASIC_BLOCK)
(insn 3599 3592 11197 323 (set (reg:SI 4 %r4)
(const_int 1 [0x1])) ../../gcc/vec.h:1448 68 {*movsi_esa}
 (nil))
(insn 11197 3599 11038 323 (parallel [
(set (pc)
(if_then_else (ne (reg:SI 8 %r8 [orig:1459 D.73971 ] [1459])
(const_int 1 [0x1]))
(label_ref 6256)
(pc)))
(set (reg:SI 10 %r10 [orig:1460 D.73963 ] [1460])
(plus:SI (reg:SI 8 %r8 [orig:1459 D.73971 ] [1459])
(const_int -1 [0x])))
(clobber (reg:SI 1 %r1 [5607]))
(clobber (reg:CC 33 %cc))
]) ../../gcc/vec.h:1448 619 {doloop_si64}
 (nil))
which already is the endless loop, but at *.ira there is no such code like
that, so it rematerialized from somewhere else.


[Bug sanitizer/64670] -fsanitize=vptr leads to undefined reference to `typeinfo for class'

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

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
I think that's because of the #pragma interface.


[Bug libgomp/64635] darwin produces libgomp-plugin-host_nonshm.1.dylib but tries to load libgomp-plugin-host_nonshm.so.1

2015-01-19 Thread howarth at bromo dot med.uc.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64635

--- Comment #15 from howarth at bromo dot med.uc.edu ---
(In reply to Dominique d'Humieres from comment #14)
  With the attached patch at 
  https://gcc.gnu.org/bugzilla/attachment.cgi?id=34469
  and the patch at https://gcc.gnu.org/ml/gcc-patches/2015-01/msg01479.html,
  I get ...
 
 I have found the origin of the problem: I am testing gfortran with the
 additional options '-g -flto', apparently this propagates to
 libgomp.oacc-fortran (I did not check why). Could someone test
 libgomp.oacc-fortran with these options on a linux platform?

I see the same ICEs on linux...

$ /home/howarth/build/gcc/xgcc -B/home/howarth/build/gcc/
/home/howarth/gcc-trunk/libgomp/testsuite/libgomp.oacc-fortran/asyncwait-1.f90 
-B/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/
-B/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/.libs
-I/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp
-I/home/howarth/gcc-trunk/libgomp/testsuite/../../include
-I/home/howarth/gcc-trunk/libgomp/testsuite/.. -march=i486 -fmessage-length=0
-fno-diagnostics-show-caret -fdiagnostics-color=never -fopenacc
-B/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/../libquadmath/.libs/
-DACC_DEVICE_TYPE_host_nonshm=1 -DACC_MEM_SHARED=0  -O0  
-B/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/../libgfortran/.libs
-fintrinsic-modules-path=/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp
  -L/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/.libs
-L/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/../libquadmath/.libs/
-L/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/../libgfortran/.libs
-lgfortran -lm   -m32 -o ./asyncwait-1.exe
[howarth@diego1 testsuite]$ /home/howarth/build/gcc/xgcc
-B/home/howarth/build/gcc/
/home/howarth/gcc-trunk/libgomp/testsuite/libgomp.oacc-fortran/asyncwait-1.f90
-B/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/
-B/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/.libs
-I/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp
-I/home/howarth/gcc-trunk/libgomp/testsuite/../../include
-I/home/howarth/gcc-trunk/libgomp/testsuite/.. -march=i486 -fmessage-length=0
-fno-diagnostics-show-caret -fdiagnostics-color=never -fopenacc
-B/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/../libquadmath/.libs/
-DACC_DEVICE_TYPE_host_nonshm=1 -DACC_MEM_SHARED=0 -O0
-B/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/../libgfortran/.libs
-fintrinsic-modules-path=/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp
-L/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/.libs
-L/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/../libquadmath/.libs/
-L/home/howarth/build/x86_64-unknown-linux-gnu/32/libgomp/../libgfortran/.libs
-lgfortran -lm -m32 -flto -o ./asyncwait-1.exe
lto1: internal compiler error: in streamer_get_builtin_tree, at
tree-streamer-in.c:1151
0xc25fcf streamer_get_builtin_tree(lto_input_block*, data_in*)
../../gcc-trunk/gcc/tree-streamer-in.c:1151
0x90a944 lto_input_tree_1(lto_input_block*, data_in*, LTO_tags, unsigned int)
../../gcc-trunk/gcc/lto-streamer-in.c:1320
0x90ab29 lto_input_scc(lto_input_block*, data_in*, unsigned int*, unsigned
int*)
../../gcc-trunk/gcc/lto-streamer-in.c:1248
0x5f862e lto_read_decls
../../gcc-trunk/gcc/lto/lto.c:1900
0x5fa6a0 lto_file_finalize
../../gcc-trunk/gcc/lto/lto.c:2229
0x5fa6a0 lto_create_files_from_ids
../../gcc-trunk/gcc/lto/lto.c:2239
0x5fa6a0 lto_file_read
../../gcc-trunk/gcc/lto/lto.c:2280
0x5fa6a0 read_cgraph_and_symbols
../../gcc-trunk/gcc/lto/lto.c:2981
0x5fa6a0 lto_main()
../../gcc-trunk/gcc/lto/lto.c:3436
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.
lto-wrapper: fatal error: /home/howarth/build/gcc/xgcc returned 1 exit status
compilation terminated.
/home/howarth/dist_binutils/bin/ld: lto-wrapper failed
collect2: error: ld returned 1 exit status


[Bug c++/64603] [5 Regression] bogus error no matching function for call to ... with templates

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
Started with r217664.


  1   2   >