[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure

2014-12-03 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org ---
This reduced testcase is undefined C++ because of One definition rule
violation.


[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
And the linker shouldn't crash on any input...


[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure

2014-12-03 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163

--- Comment #3 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Created attachment 34177
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34177action=edit
unreduced testcase (without ODR violation)


[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure

2014-12-03 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163

--- Comment #4 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
With the unreduced testcase this issue also happens on x86_64 with gold:

markus@x4 /tmp % g++ -w -shared -fPIC -O2 -fvisibility=hidden -std=c++0x
qmimeglobpattern.ii qmimeprovider.ii
markus@x4 /tmp % g++ -w -shared -fPIC -O3 -fvisibility=hidden -std=c++0x
qmimeglobpattern.ii qmimeprovider.ii
/usr/bin/ld: error: /tmp/ccpdsACp.o: requires dynamic R_X86_64_PC32 reloc
against '_ZN5QListI7QStringED1Ev' which may overflow at runtime; recompile with
-fPIC
/tmp/ccpdsACp.o:qmimeprovider.cpp:function QMimeXMLProvider::ensureLoaded():
warning: relocation refers to discarded section
/tmp/ccpdsACp.o:qmimeprovider.cpp:function
QMimeXMLProvider::listAliases(QString const): warning: relocation refers to
discarded section
/tmp/ccpdsACp.o:qmimeprovider.cpp:function
QMimeXMLProvider::listAliases(QString const): warning: relocation refers to
discarded section
/tmp/ccpdsACp.o:qmimeprovider.cpp:function QMimeBinaryProvider::checkCache():
warning: relocation refers to discarded section
/tmp/ccpdsACp.o:qmimeprovider.cpp:function
QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate): warning:
relocation refers to discarded section
/tmp/ccpdsACp.o:qmimeprovider.cpp:function
QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate): warning:
relocation refers to discarded section
/tmp/ccpdsACp.o:qmimeprovider.cpp:function
QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate): warning:
relocation refers to discarded section
collect2: error: ld returned 1 exit status

(ld.bfd is fine:)

markus@x4 /tmp % g++ -w -shared -fPIC -O3 -fvisibility=hidden -std=c++0x
qmimeglobpattern.ii qmimeprovider.ii
markus@x4 /tmp %


[Bug ipa/64164] New: [4.9/5 Regression] one more stack slot used due to one less inlining level

2014-12-03 Thread patrick.marlier at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164

Bug ID: 64164
   Summary: [4.9/5 Regression] one more stack slot used due to one
less inlining level
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ipa
  Assignee: unassigned at gcc dot gnu.org
  Reporter: patrick.marlier at gmail dot com
  Host: x86_64-linux-gnu
Target: x86_64-linux-gnu
 Build: x86_64-linux-gnu

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

$ cc -O2 -S -o stm.s stm.c
$ cc -O2 -DOPT -S -o stm-opt.s stm.c

if you compare the 2 outputs, stm_load function is using one more slot on the
stack.
The difference is only this:

static inline size_t
AO_myload2(const volatile size_t *addr)
{
  return *(size_t *)addr;
}
static inline size_t
AO_myload(const volatile size_t *addr)
{
#ifdef OPT
  size_t result = AO_myload2(addr);
#else
  size_t result = *(size_t *)addr;
#endif
  return result;
}

Having one more inlined function should have the same optimization not a better
one.
4.8 does not have the problem and the code generated is the same.


[Bug rtl-optimization/64110] [5 Regression] ICE: Max. number of generated reload insns per insn is achieved (90)

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64110

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org
  Component|c++ |rtl-optimization

--- Comment #8 from Marek Polacek mpolacek at gcc dot gnu.org ---
Recateogrizing.


[Bug c++/64105] [4.9/5 Regression] ICE: in strip_typedefs, at cp/tree.c:1326

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64105

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-03
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |4.9.3
Summary|ICE: in strip_typedefs, at  |[4.9/5 Regression] ICE: in
   |cp/tree.c:1326  |strip_typedefs, at
   ||cp/tree.c:1326
 Ever confirmed|0   |1

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


[Bug c++/56493] Performance regression in google dense hashmap

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

--- Comment #14 from Uroš Bizjak ubizjak at gmail dot com ---
According to Comment #0 and Comment #9, this PR should be confirmed as a 
regression from 4.6.

[Bug c++/63889] [5 Regression] Ice with redundant static in class scope constexpr variable template.

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63889

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-03
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |5.0
Summary|Ice with redundant static   |[5 Regression] Ice with
   |in class scope constexpr|redundant static in class
   |variable template.  |scope constexpr variable
   ||template.
 Ever confirmed|0   |1

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


[Bug middle-end/64164] [4.9/5 Regression] one more stack slot used due to one less inlining level

2014-12-03 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

  Component|ipa |middle-end

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org ---
Looks like out of SSA is producing the difference.
Change the function to just:
  return *(size_t *)addr;

Changes it to what the inline function does.


[Bug middle-end/64164] [4.9/5 Regression] one more stack slot used due to one less inlining level

2014-12-03 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-03
 Ever confirmed|0   |1

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org ---
Confirmed.


[Bug c++/64100] A static assert using the the current class in a noexcept test leads to a segfault

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64100

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-03
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |4.8.4
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
I see ICE even with 4.6.


[Bug c++/64127] [5 regression] ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64127

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-03
 CC||mpolacek at gcc dot gnu.org
Summary|[5.0 regression] ICE on |[5 regression] ICE on
   |invalid: tree check:|invalid: tree check:
   |expected identifier_node,   |expected identifier_node,
   |have template_id_expr in|have template_id_expr in
   |cp_parser_diagnose_invalid_ |cp_parser_diagnose_invalid_
   |type_name, at   |type_name, at
   |cp/parser.c:2980|cp/parser.c:2980
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed.  Does not ice with -std=c++11.


[Bug c++/64035] [4.8/4.9/5 Regression] [C++11] ICE in reshape_init_r when using initializer list aggregate initialization for default function parameters

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64035

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-03
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |4.8.4
Summary|[C++11] ICE in  |[4.8/4.9/5 Regression]
   |reshape_init_r when using   |[C++11] ICE in
   |initializer list aggregate  |reshape_init_r when using
   |initialization for default  |initializer list aggregate
   |function parameters |initialization for default
   ||function parameters
 Ever confirmed|0   |1

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


[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed|2013-03-01 00:00:00 |2014-12-03
Summary|Performance regression in   |[4.8/4.9/5 Regression]
   |google dense hashmap|Performance regression in
   ||google dense hashmap
 Ever confirmed|0   |1

--- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org ---
We are using that #c13 patch successfully for almost 18 months now in Fedora.
As type promotion/demotion patch is not (sadly) going to happen for GCC 5, I
still think it would be worthwhile to apply it temporarily, until type
promotion/demotion is written.


[Bug rtl-optimization/64164] [4.9/5 Regression] one more stack slot used due to one less inlining level

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
   Last reconfirmed|2014-12-03 00:00:00 |
  Component|middle-end  |rtl-optimization
   Target Milestone|--- |4.9.3

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
The difference is in whether there are extra user-named variables in the end
and thus SSA coalescing decision differences:

 stm_load (volatile stm_word_t * addr)
 {
-  stm_word_t l;
-  stm_word_t value;
   stm_word_t version;
   stm_word_t l;
   struct r_entry_t * r;
-  stm_word_t now;
...
+  size_t _32;
+  size_t _33;
+  size_t _34;

...

 Conflict graph:
+1: 3
+3: 1

 After sorting:
 Sorted Coalesce list:
+(16610) _30 - _33
 (651) _10 - _30

...

-Coalesce list: (10)_10  (30)_30 [map: 1, 2] : Success - 1
+Coalesce list: (30)_30  (33)_33 [map: 2, 3] : Success - 2
+Coalesce list: (10)_10  (30)_30 [map: 1, 2] : Fail due to conflict


So it turns out the different coalescing ends up generating worse code.
It would be interesting to see why we decide that coalescing _30 and _33
is so much more beneficial than coalescing _10 and _30.

Ah, it simply uses EDGE_FREQUENCY...  and for some reason we predicted
that _33  1 != 0 is 10% taken only.

So ... the theory is that the version is faster on the important path?


[Bug middle-end/63289] ICE from --param max-vartrack-expr-depth

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63289

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

  Component|c   |middle-end

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
This seems to be fixed on trunk.


[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug rtl-optimization/64164] [4.9/5 Regression] one more stack slot used due to one less inlining level

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
That is, it is good

  # _30 = PHI 0(2), _10(8), value_33(7), value_33(3), value_33(6)
  return _30;

vs bad

  # _30 = PHI 0(2), _10(8), _33(7), _33(3), _33(6)
  return _30;

where it thinks that coalescing _30 and _33 is more important than
coalescing _30 and _10 (which looks reasonable).

The question is why RTL opts make such large difference out of this.


[Bug libstdc++/64161] [5 Regression] bootstrap error: condition_variable.cc:134:7: error: 'atexit' is not a member of 'std'

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64161

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |5.0

--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org ---
Assuming fixed.


[Bug target/64159] [5 Regression] FAIL: gcc.dg/tree-ssa/ssa-dom-cse-2.c scan-tree-dump optimized return 28;

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64159

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
  Component|tree-optimization   |target
Summary|FAIL:   |[5 Regression] FAIL:
   |gcc.dg/tree-ssa/ssa-dom-cse |gcc.dg/tree-ssa/ssa-dom-cse
   |-2.c scan-tree-dump |-2.c scan-tree-dump
   |optimized return 28;  |optimized return 28;

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
It's already xfailed for hppa, so yes, likely (if you can verify the theory).
Note that there may be other reasons, like vectorizing using stmts that
we don't constant-fold or the inability to unroll the loop due to target
specific limits.

Needs investigation.

It's still a testsuite regression.


[Bug rtl-optimization/64157] [5.0 regression] FAIL: gcc.dg/torture/pr52429.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error)

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64157

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ra
   Priority|P3  |P1
 CC||vmakarov at gcc dot gnu.org


[Bug c++/64106] [5 Regression][C++14] internal compiler error: in cxx_eval_store_expression

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64106

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-03
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |5.0
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed.  Works with -std=c++11.  They might be dupes, but this one looks
valid.


[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493

--- Comment #16 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #15)
 We are using that #c13 patch successfully for almost 18 months now in Fedora.
 As type promotion/demotion patch is not (sadly) going to happen for GCC 5, I
 still think it would be worthwhile to apply it temporarily, until type
 promotion/demotion is written.

Works for me.


[Bug c/59708] clang-compatible checked arithmetic builtins

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59708

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

Untested fix for the ppc32 builtin-arith-overflow-14.c failure. 
expand_widening_mult something, const0_rtx was happily trying to expand double
word shifts by -1.


[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.8.4


[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493

--- Comment #17 from Richard Biener rguenth at gcc dot gnu.org ---
Btw, I think that

(int) ((long unsigned int) q + D.2078)

to

(int) ((unsigned int) q + (unsigned int) D.2078)

doesn't look like an always profitable pattern on GIMPLE (more stmts).  Also
take into consideration what targets PROMOTE_MODE (mode-of-q/D.2078) do
and prefer types according to that.

The vectorizer prefers single type sizes throughout computations to avoid
re-packing.


[Bug rtl-optimization/63957] [5 Regression] rename -fuse-caller-save to -fipa-ra

2014-12-03 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63957

--- Comment #6 from vries at gcc dot gnu.org ---
Author: vries
Date: Wed Dec  3 10:28:25 2014
New Revision: 218305

URL: https://gcc.gnu.org/viewcvs?rev=218305root=gccview=rev
Log:
Rename fuse-caller-save

2014-12-03  Tom de Vries  t...@codesourcery.com

PR rtl-optimization/63957
* doc/invoke.texi: Replace -fuse-caller-save with -fipa-ra.
* final.c (rest_of_handle_final): Replace flag_use_caller_save with
flag_ipa_ra.
(get_call_reg_set_usage): Same.
* lra-assigns.c (lra_assign): Same.
* lra-constraints.c (need_for_call_save_p): Same.
* lra-lives.c (process_bb_lives): Same.
* lra.c (lra): Same.
* calls.c (expand_call): Same.
(emit_library_call_value_1): Same.
* config/arm/arm.c (arm_option_override): Same.
* opts.c (default_options_table): Replace OPT_fuse_caller_save with
OPT_fipa_ra.
* target.def (call_fusage_contains_non_callee_clobbers): Replace
fuse-caller-save with fipa-ra.
* doc/tm.texi (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Same.
* common.opt: Same.

* gcc.dg/ira-shrinkwrap-prep-1.c: Replace -fno-use-caller-save with
-fno-ipa-ra.
* gcc.dg/ira-shrinkwrap-prep-2.c: Same.
* gcc.target/aarch64/aapcs64/aapcs64.exp: Same.
* gcc.dg/fuse-caller-save.c: Replace -fuse-caller-save with -fipa-ra.
* gcc.target/aarch64/fuse-caller-save.c: Same.
* gcc.target/arm/fuse-caller-save.c: Same.
* gcc.target/i386/fuse-caller-save-rec.c: Same.
* gcc.target/i386/fuse-caller-save-xmm-run.c: Same.
* gcc.target/i386/fuse-caller-save-xmm.c: Same.
* gcc.target/i386/fuse-caller-save.c: Same.
* gcc.target/mips/fuse-caller-save-micromips.c: Same.
* gcc.target/mips/fuse-caller-save-mips16.c: Same.
* gcc.target/mips/fuse-caller-save.c: Same.
* gcc.target/mips/mips.exp: Replace use-caller-save with ipa-ra in
-ffoo/-fno-foo options.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/calls.c
trunk/gcc/common.opt
trunk/gcc/config/arm/arm.c
trunk/gcc/doc/invoke.texi
trunk/gcc/doc/tm.texi
trunk/gcc/final.c
trunk/gcc/lra-assigns.c
trunk/gcc/lra-constraints.c
trunk/gcc/lra-lives.c
trunk/gcc/lra.c
trunk/gcc/opts.c
trunk/gcc/target.def
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/fuse-caller-save.c
trunk/gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-1.c
trunk/gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c
trunk/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
trunk/gcc/testsuite/gcc.target/aarch64/fuse-caller-save.c
trunk/gcc/testsuite/gcc.target/arm/fuse-caller-save.c
trunk/gcc/testsuite/gcc.target/i386/fuse-caller-save-rec.c
trunk/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm-run.c
trunk/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c
trunk/gcc/testsuite/gcc.target/i386/fuse-caller-save.c
trunk/gcc/testsuite/gcc.target/mips/fuse-caller-save-micromips.c
trunk/gcc/testsuite/gcc.target/mips/fuse-caller-save-mips16.c
trunk/gcc/testsuite/gcc.target/mips/fuse-caller-save.c
trunk/gcc/testsuite/gcc.target/mips/mips.exp


[Bug rtl-optimization/63957] [5 Regression] rename -fuse-caller-save to -fipa-ra

2014-12-03 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63957

vries at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #7 from vries at gcc dot gnu.org ---
Renaming patch committed, marking resolved fixed


[Bug ipa/64153] [5.0 regression] r218205 miscompiles libgomp

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

--- Comment #4 from Andreas Schwab sch...@linux-m68k.org ---
This fixes all yesterday's testsuite regression.


[Bug target/64154] enable fipa-ra for Thumb1

2014-12-03 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64154

vries at gcc dot gnu.org changed:

   What|Removed |Added

Summary|enable fuse-caller-save for |enable fipa-ra for Thumb1
   |Thumb1  |

--- Comment #1 from vries at gcc dot gnu.org ---
-fuse-caller-save has been renamed to -fipa-ra


[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493

--- Comment #18 from Jakub Jelinek jakub at gcc dot gnu.org ---
(In reply to Richard Biener from comment #17)
 Btw, I think that
 
 (int) ((long unsigned int) q + D.2078)
 
 to
 
 (int) ((unsigned int) q + (unsigned int) D.2078)
 
 doesn't look like an always profitable pattern on GIMPLE (more stmts).  Also
 take into consideration what targets PROMOTE_MODE (mode-of-q/D.2078) do
 and prefer types according to that.
 
 The vectorizer prefers single type sizes throughout computations to avoid
 re-packing.

Which is why the proposal was to do demotion early and promote back depending
on machine description (and, perhaps on separate IL copy, in between ifcvt and
vectorizer also promote to decrease re-packing).  The demotion would help with
avoiding unnecessary computations (e.g. those affecting just the high bits),
canonicalizing the IL and in some cases allowing bigger parts of computations
with the same type bitsizes, and promotion would be an attempt to help with
sub-word arithmetics on word only arithmetics targets, etc.
Dunno why Kai has stopped working on that :(.


[Bug c++/64100] A static assert using the the current class in a noexcept test leads to a segfault

2014-12-03 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64100

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ktietz at gcc dot gnu.org

--- Comment #2 from Kai Tietz ktietz at gcc dot gnu.org ---
Issue is that lookup_destructor calls adjust_result_of_qualified_name_lookup
with an NULL_TREE decl (returned by lookup_member).  Here the error-check seems
to be missing.

Following patch fixes this issue for me:
Index: typeck.c
===
--- typeck.c(Revision 218142)
+++ typeck.c(Arbeitskopie)
@@ -2536,6 +2536,11 @@ lookup_destructor (tree object, tree scope, tree d
   expr = lookup_member (dtor_type, complete_dtor_identifier,
/*protect=*/1, /*want_type=*/false,
tf_warning_or_error);
+  if (!expr)
+{
+  cxx_incomplete_type_error (dtor_name, dtor_type);
+  return error_mark_node;
+}
   expr = (adjust_result_of_qualified_name_lookup
  (expr, dtor_type, object_type));
   if (scope == NULL_TREE)
Index: search.c
===
--- search.c(Revision 218142)
+++ search.c(Arbeitskopie)
@@ -1530,6 +1530,9 @@ adjust_result_of_qualified_name_lookup (tree decl,
tree qualifying_scope,
tree context_class)
 {
+  if (!decl)
+return NULL_TREE;
+
   if (context_class  context_class != error_mark_node
CLASS_TYPE_P (context_class)
CLASS_TYPE_P (qualifying_scope)

The change to search.c isn't really required, but avoids to show the ice in
adjust_result_of_qualifying.


[Bug c++/64106] [5 Regression][C++14] internal compiler error: in cxx_eval_store_expression

2014-12-03 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64106

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ktietz at gcc dot gnu.org

--- Comment #2 from Kai Tietz ktietz at gcc dot gnu.org ---
Yes, issue is caused by prefix of INDIRECT_REF.

The following patch solves this issue for me:

Index: constexpr.c
===
--- constexpr.c (Revision 218142)
+++ constexpr.c (Arbeitskopie)
@@ -2486,7 +2550,9 @@ cxx_eval_store_expression (const constexpr_ctx *ct
  vec_safe_push (refs, TREE_TYPE (probe));
  probe = TREE_OPERAND (probe, 0);
  break;
-
+   case INDIRECT_REF:
+ probe = TREE_OPERAND (probe, 0);
+ break;
default:
  object = probe;
  gcc_assert (DECL_P (object));


[Bug c++/64106] [5 Regression][C++14] internal compiler error: in cxx_eval_store_expression

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64106

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
I have a similar patch:

--- a/gcc/cp/constexpr.c
+++ b/gcc/cp/constexpr.c
@@ -2581,6 +2581,12 @@ cxx_eval_store_expression (const constexpr_ctx *ctx,
tree t,
  probe = TREE_OPERAND (probe, 0);
  break;

+   case INDIRECT_REF:
+ vec_safe_push (refs, TREE_OPERAND (probe, 0));
+ vec_safe_push (refs, TREE_TYPE (probe));
+ probe = TREE_OPERAND (probe, 0);
+ break;
+
default:
  object = probe;
  gcc_assert (DECL_P (object));


[Bug c++/64106] [5 Regression][C++14] internal compiler error: in cxx_eval_store_expression

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64106

--- Comment #4 from Marek Polacek mpolacek at gcc dot gnu.org ---
Slightly reduced testcase:

void
f (int c, int lc)
{
  c  (lc -= 8);
}


[Bug target/63661] [4.9 Regression] -O2 miscompiles with -mtune=nehalem or corei7

2014-12-03 Thread renlin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63661

--- Comment #29 from renlin at gcc dot gnu.org ---
Author: renlin
Date: Wed Dec  3 11:13:50 2014
New Revision: 218306

URL: https://gcc.gnu.org/viewcvs?rev=218306root=gccview=rev
Log:
Backported from mainline

gcc/

2014-12-03  Renlin Li  renlin...@arm.com

PR middle-end/63762
PR target/63661
* ira.c (i386ra): Update preferred class.

gcc/testsuite/

2014-12-03  Renlin Li  renlin...@arm.com
H.J. Lu hongjiu...@intel.com

PR middle-end/63762
PR target/63661
* gcc.dg/pr63762.c: New test.
* gcc.target/i386/pr63661.c: New test.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63762.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/i386/pr63661.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/ira.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog


[Bug target/64165] New: __builtin_frame_address causes segmentation fault in __static_initialization_and_destruction_0

2014-12-03 Thread angeldevil_007 at mail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64165

Bug ID: 64165
   Summary: __builtin_frame_address causes segmentation fault in
__static_initialization_and_destruction_0
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: angeldevil_007 at mail dot ru

Simple example working for me:

#include memory
#include cstdio


struct test_t {
test_t() {
std::printf(%p,
__builtin_frame_address(0) ?
(__builtin_frame_address(1) ?
(__builtin_frame_address(2) ?
(__builtin_frame_address(3) ?
__builtin_frame_address(4)
: nullptr)
: nullptr)
: nullptr)
: nullptr);
}
};


test_t obj;

int main(int, char **) {
return 0;
}

Compile:
g++ -std=c++0x main.C -o test -fno-omit-frame-pointer
g++-4.9 -std=c++11 main.C -o test -fno-omit-frame-pointer


Backtrace: 
#0  0x00400586 in test_t::test_t() ()
#1  0x0040052d in __static_initialization_and_destruction_0(int, int)
()
#2  0x00400542 in _GLOBAL__sub_I_obj ()
#3  0x0040061d in __libc_csu_init ()
#4  0x77a3c700 in __libc_start_main (main=0x4004f4 main, argc=1,
ubp_av=0x7fffeb68, init=0x4005c0 __libc_csu_init, fini=optimized out,
rtld_fini=optimized out, stack_end=0x7fffeb58) at libc-start.c:185
#5  0x00400439 in _start ()


g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --e
nable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enab
le-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes
--enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror
--with-arch-32=i686 --with-tune=generic --enable-checking=release
--build=x86_64-l
inux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)


Reproduced on:

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


[Bug middle-end/63762] [ARM]GCC generates UNPREDICTABLE STR with Rn = Rt when hard-float abi is used

2014-12-03 Thread renlin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63762

--- Comment #8 from renlin at gcc dot gnu.org ---
Author: renlin
Date: Wed Dec  3 11:13:50 2014
New Revision: 218306

URL: https://gcc.gnu.org/viewcvs?rev=218306root=gccview=rev
Log:
Backported from mainline

gcc/

2014-12-03  Renlin Li  renlin...@arm.com

PR middle-end/63762
PR target/63661
* ira.c (i386ra): Update preferred class.

gcc/testsuite/

2014-12-03  Renlin Li  renlin...@arm.com
H.J. Lu hongjiu...@intel.com

PR middle-end/63762
PR target/63661
* gcc.dg/pr63762.c: New test.
* gcc.target/i386/pr63661.c: New test.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63762.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/i386/pr63661.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/ira.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog


[Bug c++/64106] [5 Regression][C++14] internal compiler error: in cxx_eval_store_expression

2014-12-03 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64106

--- Comment #5 from Kai Tietz ktietz at gcc dot gnu.org ---
+ vec_safe_push (refs, TREE_OPERAND (probe, 0));
+ vec_safe_push (refs, TREE_TYPE (probe));
^
This looks to me wrong. INDIRECT_REF has just one argument, and is directly
associated to underlying decl, so I don't see a reason to put it into the
refs-vector.  To initialize it no additional constructor is required AFAICS. 
But I might be wrong


[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493

--- Comment #19 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #18)
 (In reply to Richard Biener from comment #17)
  Btw, I think that
  
  (int) ((long unsigned int) q + D.2078)
  
  to
  
  (int) ((unsigned int) q + (unsigned int) D.2078)
  
  doesn't look like an always profitable pattern on GIMPLE (more stmts).  Also
  take into consideration what targets PROMOTE_MODE (mode-of-q/D.2078) do
  and prefer types according to that.
  
  The vectorizer prefers single type sizes throughout computations to avoid
  re-packing.
 
 Which is why the proposal was to do demotion early and promote back
 depending on machine description (and, perhaps on separate IL copy, in
 between ifcvt and vectorizer also promote to decrease re-packing).  The
 demotion would help with avoiding unnecessary computations (e.g. those
 affecting just the high bits), canonicalizing the IL and in some cases
 allowing bigger parts of computations with the same type bitsizes, and
 promotion would be an attempt to help with sub-word arithmetics on word only
 arithmetics targets, etc.
 Dunno why Kai has stopped working on that :(.

Because I pushed back hard.  He ended up with multiple passes here and there,
and mostly motivated things by better folding with less conversions in the IL.

I also think you can't really separate demotion and promotion (demotion
is just making range information a little bit more explicit in the IL,
and thus IMHO tied to VRP if it runs).  Promotion (which can of course also
be effective demotion if legal) is to make things aligned with the target.


[Bug tree-optimization/14541] [tree-ssa] built-in math functions are not fully optimized at tree level

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14541

--- Comment #18 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Dec  3 11:55:14 2014
New Revision: 218308

URL: https://gcc.gnu.org/viewcvs?rev=218308root=gccview=rev
Log:
2014-12-03  Richard Biener  rguent...@suse.de

PR middle-end/14541
* builtins.c (fold_builtin_logarithm): Implement simplifications ...
* match.pd: ... here as patterns.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/match.pd


[Bug c++/64127] [5 regression] ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980

2014-12-03 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64127

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ktietz at gcc dot gnu.org

--- Comment #2 from Kai Tietz ktietz at gcc dot gnu.org ---
Nor does it with c++14.

Issue is that for -std=c++98 the tree isn't a template_decl.  Instead it is a
template_id_expr.

See parser.c:cp_parser_diagnose_invalid_type_name

...
else if (cxx_dialect  cxx11
  !strcmp (IDENTIFIER_POINTER (id), thread_local))
...

By adding to this check ' DECL_P (id)' fixes the ICE.

Index: parser.c
===
--- parser.c(Revision 218142)
+++ parser.c(Arbeitskopie)
@@ -2977,6 +2977,7 @@ cp_parser_diagnose_invalid_type_name (cp_parser *p
inform (location, C++11 %noexcept% only available with 
-std=c++11 or -std=gnu++11);
   else if (cxx_dialect  cxx11
+   DECL_P (id)
!strcmp (IDENTIFIER_POINTER (id), thread_local))
inform (location, C++11 %thread_local% only available with 
-std=c++11 or -std=gnu++11);


[Bug c++/63558] cannot silence jump to case label with fpermissive

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-12-03
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
Mine.


[Bug rtl-optimization/64151] [5 Regression] r218266 caused many regressions

2014-12-03 Thread izamyatin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64151

Igor Zamyatin izamyatin at gmail dot com changed:

   What|Removed |Added

 CC||izamyatin at gmail dot com

--- Comment #4 from Igor Zamyatin izamyatin at gmail dot com ---
I also see ~5% regression on eg spec2006/456.hmmer for i686 with -O3


[Bug rtl-optimization/64010] [msp430-elf] struct function dereference clobbers parameter passed to function

2014-12-03 Thread nickc at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64010

--- Comment #9 from Nick Clifton nickc at redhat dot com ---
Hi Ulrich,

  Thanks - ypur patch does work, and it is certainly better than mine.  Will
you be applying it to the gcc mainline sources ?  (And maybe the 4.9 branch as
well ?)

Cheers
  Nick


[Bug middle-end/56917] -ftrapv detects a overflow wrongly.

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56917

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Looking into this again.


[Bug middle-end/56917] -ftrapv detects a overflow wrongly.

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56917

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|5.0 |4.8.4

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
Adjusting target.  Happens with 4.8 as well.


[Bug middle-end/56917] -ftrapv detects a overflow wrongly.

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56917

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
fold looks too much through sign-changing NOP conversions, this makes it
tricky to spot errors in patterns.


[Bug go/63731] Fallback to netgo does not work

2014-12-03 Thread yohei at jp dot ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63731

--- Comment #20 from Yohei Ueda yohei at jp dot ibm.com ---
I noticed a Docker issue saying GC 1.4 does not rebuild the standard library
with -a.

https://github.com/docker/docker/issues/9449 

I think the problem is now not limited to GCCGO.


[Bug rtl-optimization/64151] [5 Regression] r218266 caused many regressions

2014-12-03 Thread hjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64151

--- Comment #5 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org ---
Author: hjl
Date: Wed Dec  3 13:16:25 2014
New Revision: 218312

URL: https://gcc.gnu.org/viewcvs?rev=218312root=gccview=rev
Log:
Revert r218266

gcc/

PR rtl-optimization/64151
PR rtl-optimization/64156
* ira-costs.c (scan_one_insn): Revert r218266.

gcc/testsuite/

PR rtl-optimization/64151
PR rtl-optimization/64156
* gcc.target/aarch64/remat1.c: Removed.  Revert r218267.

Removed:
trunk/gcc/testsuite/gcc.target/aarch64/remat1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-costs.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/64156] Subversion id 218266 breaks the big-endian 64-bit PowerPC build (wilco.dijks...@arm.com's mod to ira-costs.c)

2014-12-03 Thread hjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64156

--- Comment #5 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org ---
Author: hjl
Date: Wed Dec  3 13:16:25 2014
New Revision: 218312

URL: https://gcc.gnu.org/viewcvs?rev=218312root=gccview=rev
Log:
Revert r218266

gcc/

PR rtl-optimization/64151
PR rtl-optimization/64156
* ira-costs.c (scan_one_insn): Revert r218266.

gcc/testsuite/

PR rtl-optimization/64151
PR rtl-optimization/64156
* gcc.target/aarch64/remat1.c: Removed.  Revert r218267.

Removed:
trunk/gcc/testsuite/gcc.target/aarch64/remat1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-costs.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/64156] Subversion id 218266 breaks the big-endian 64-bit PowerPC build (wilco.dijks...@arm.com's mod to ira-costs.c)

2014-12-03 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64156

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

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

--- Comment #6 from H.J. Lu hjl.tools at gmail dot com ---
Fixed.


[Bug rtl-optimization/64151] [5 Regression] r218266 caused many regressions

2014-12-03 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64151

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

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

--- Comment #6 from H.J. Lu hjl.tools at gmail dot com ---
Fixed.


[Bug target/59593] [arm big-endian] using ldrh access a immediate which stored in a memory by word

2014-12-03 Thread fyang at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59593

--- Comment #6 from fyang at gcc dot gnu.org ---
Author: fyang
Date: Wed Dec  3 13:39:56 2014
New Revision: 218314

URL: https://gcc.gnu.org/viewcvs?rev=218314root=gccview=rev
Log:
   Backport from mainline
   2014-11-20  Ramana Radhakrishnan  ramana.radhakrish...@arm.com

   PR target/59593
   * config/arm/arm.md (*movhi_insn): Use right formatting
   for immediate.

   2014-11-19  Felix Yang  felix.y...@huawei.com
   Shanyao Chen  chenshan...@huawei.com

   PR target/59593
   * config/arm/arm.md (define_attr arch): Add v6t2.
   (define_attr arch_enabled): Add test for the above.
   (*movhi_insn_arch4): Add new alternative.

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


[Bug ipa/64153] [5.0 regression] r218205 miscompiles libgomp

2014-12-03 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64153

--- Comment #5 from Martin Jambor jamborm at gcc dot gnu.org ---
Author: jamborm
Date: Wed Dec  3 14:05:51 2014
New Revision: 218316

URL: https://gcc.gnu.org/viewcvs?rev=218316root=gccview=rev
Log:
2014-12-03  Martin Jambor  mjam...@suse.cz

PR ipa/64153
* ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check
type sizes before view_converting.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-inline-analysis.c


[Bug sanitizer/61591] Undefined behavior sanitizer does not catch builtin_unreachable's from impossible devirtualization

2014-12-03 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61591

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #2 from Martin Jambor jamborm at gcc dot gnu.org ---
I'd like to bring this to attention of UBSAN people one more time.  I
think that since 5.0 is much more aggressive turning virtual calls
which cannot happen because of type hierarchy into
__builtin_unreachable, being able to have the calls reported at
run time with UBSAN would be highly desirable.


[Bug tree-optimization/63660] -Wmaybe-uninitialized false positive (uninit pass limits)

2014-12-03 Thread ed0.88.prez at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63660

--- Comment #2 from Edward-san ed0.88.prez at gmail dot com ---
Isn't it possible to bailout if the limit is reached?


[Bug sanitizer/61591] Undefined behavior sanitizer does not catch builtin_unreachable's from impossible devirtualization

2014-12-03 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61591

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
Recently I rewrote the implementation of -fsanitize=unreachable and now I get
an Illegal instruction on the testcase attached.  So is there anything else to
do?


[Bug tree-optimization/63660] -Wmaybe-uninitialized false positive (uninit pass limits)

2014-12-03 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63660

--- Comment #3 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
(In reply to Edward-san from comment #2)
 Isn't it possible to bailout if the limit is reached?

I guess the analysis is trying to prove that the variable is indeed initialized
(or that it is never used uninitialized). It bails out trying to prove that,
thus the warning. The warning code could be conservative and never warn if the
limit is reached, but then we will have the other problem: false-negatives.

A way to advance with this (if you want to help) is to check which limit is
actually hit by your code. Then see by how much you would need to change the
limit to warn (by for example adding a --param to control it). Then, with this
information at hand, the GCC maintainers can decide whether to increase the
limit a bit or perhaps to never warn if the limit is hit (people that want all
potential warnings not matter the compile-time cost can use the --param for a
deeper analysis).

[Bug jit/64166] New: JIT does not provide a way for verifying dumpfiles from testcases

2014-12-03 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64166

Bug ID: 64166
   Summary: JIT does not provide a way for verifying dumpfiles
from testcases
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: jit
  Assignee: dmalcolm at gcc dot gnu.org
  Reporter: dmalcolm at gcc dot gnu.org
Blocks: 64020

In PR jit/64020 I found that there isn't currently a good way for a jit
testcase to get at a specific dumpfile and to assert properties about it (e.g.
that a particular string or regex is found).

I'm opening this bug to track this.

I'm not yet sure to what extent to expose this in the API to end-users.


[Bug jit/64020] jit misses sin/cos optimizations

2014-12-03 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64020

--- Comment #8 from dmalcolm at gcc dot gnu.org ---
(In reply to dmalcolm from comment #7)
 (In reply to dmalcolm from comment #5)
  (In reply to dmalcolm from comment #4)
   Am testing a candidate patch for this
  
  Patch posted as:
  https://gcc.gnu.org/ml/gcc-patches/2014-11/msg03229.html
 
 Committed as r218240.
 
 Should be fixed as of that commit, but the testcase does not yet
 automatically verify the fix.  I'll keep this open until it does (which will
 require implementing a good way to do that).

I've opened PR jit/64166 to track providing a way to write such a verification.


[Bug jit/64166] JIT does not provide a way for verifying dumpfiles from testcases

2014-12-03 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64166

dmalcolm at gcc dot gnu.org changed:

   What|Removed |Added

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


[Bug jit/64166] JIT does not provide a way for verifying dumpfiles from testcases

2014-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64166

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Huh, I think you rather want a stable introspection (plugin) API.  Like the
treeish one that was proposed at some point but never was finished up.  The
JIT should provide the modification API only.


[Bug ipa/64153] [5.0 regression] r218205 miscompiles libgomp

2014-12-03 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64153

--- Comment #6 from Martin Jambor jamborm at gcc dot gnu.org ---
Author: jamborm
Date: Wed Dec  3 15:17:37 2014
New Revision: 218320

URL: https://gcc.gnu.org/viewcvs?rev=218320root=gccview=rev
Log:
2014-12-03  Martin Jambor  mjam...@suse.cz

PR ipa/64153
* ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check
type sizes before view_converting.


Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/ipa-inline-analysis.c


[Bug tree-optimization/63551] [4.9/5 Regression] wrong code (segfaults) at -Os on x86_64-linux-gnu

2014-12-03 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63551
Bug 63551 depends on bug 64153, which changed state.

Bug 64153 Summary: [5.0 regression] r218205 miscompiles libgomp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64153

   What|Removed |Added

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


[Bug ipa/64153] [5.0 regression] r218205 miscompiles libgomp

2014-12-03 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64153

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #7 from Martin Jambor jamborm at gcc dot gnu.org ---
(In reply to Andreas Schwab from comment #4)
 This fixes all yesterday's testsuite regression.

Thanks a lot.  I have committed the fix so this is now resolved.


[Bug c/64167] New: [4.9

2014-12-03 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64167

Bug ID: 64167
   Summary: [4.9
   Product: gcc
   Version: 4.9.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: danglin at gcc dot gnu.org
  Host: hppa2.0w-hp-hpux11.11
Target: hppa2.0w-hp-hpux11.11
 Build: hppa2.0w-hp-hpux11.11

In stage2,

checking whether ln -s works... yes
checking for hppa2.0w-hp-hpux11.11-gcc... /mnt/gnu/gcc/objdir/./gcc/xgcc
-B/mnt/gnu/gcc/objdir/./gcc/ -B/nowhere/hppa2.0w-hp-hpux11.11/bin/
-B/nowhere/hppa2.0w-hp-hpux11.11/lib/ -isystem
/nowhere/hppa2.0w-hp-hpux11.11/include -isystem
/nowhere/hppa2.0w-hp-hpux11.11/sys-include
checking for suffix of object files... configure: error: in
`/mnt/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage2-target-libgcc] Error 1
make[2]: Leaving directory `/mnt/gnu/gcc/objdir-test'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/mnt/gnu/gcc/objdir-test'
make: *** [bootstrap] Error 2
Wed Dec  3 00:57:04 EST 2014

This is with r218299.

With following source,
int main () { return 0; }

there is a segv in
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE:

(gdb) r
Starting program: /mnt/gnu/gcc/objdir-test/gcc/cc1 -fpreprocessed xxx.i -quiet
-dumpbase xxx.c -auxbase xxx -O -version -o xxx.s
warning: Private mapping of shared library text was not specified
by the executable; setting a breakpoint in a shared library which
is not privately mapped will not work.  See the HP-UX 11i v3 chatr
manpage for methods to privately map shared library text.
GNU C (GCC) version 4.9.3 20141203 (prerelease) [gcc-4_9-branch revision
218299] (hppa2.0w-hp-hpux11.11)
compiled by GNU C version 4.9.3 20141203 (prerelease) [gcc-4_9-branch
revision 218299], GMP version 5.0.5, MPFR version 3.1.2, MPC version 1.0
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (GCC) version 4.9.3 20141203 (prerelease) [gcc-4_9-branch revision
218299] (hppa2.0w-hp-hpux11.11)
compiled by GNU C version 4.9.3 20141203 (prerelease) [gcc-4_9-branch
revision 218299], GMP version 5.0.5, MPFR version 3.1.2, MPC version 1.0
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 6b27250b3430efeeb5e5441a626bfbd3

Program received signal SIGSEGV, Segmentation fault.
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE
(parser=0x7ae86708, fndef_ok=true, static_assert_ok=false,
empty_ok=true, nested=0, start_attr_ok=1,
objc_foreach_object_declaration=0x0, omp_declare_simd_clauses=...)
at ../../gcc/gcc/c/c-parser.c:1796
1796  ce = ce-declarator;

(gdb) disass $pc-16,$pc+16
Dump of assembler code from 0xa8f7c to 0xa8f9c:
   0x000a8f7c
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1636:
   bb,*=,n ret0,1f,0xa8f8c
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1652
   0x000a8f80
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1640:
   ldh 20(r18),ret0
   0x000a8f84
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1644:
   depwi 1,22,1,ret0
   0x000a8f88
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1648:
   sth ret0,20(r18)
= 0x000a8f8c
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1652:
   ldw 8(r6),r6
   0x000a8f90
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1656:
   cmpib,= 0,r6,0xa8ee4
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1484
   0x000a8f94
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1660:
   copy r18,r26
   0x000a8f98
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1664:
   ldw 0(r6),ret0
End of assembler dump.
(gdb) p/x $r6
$1 = 0x53
(gdb) bt
#0 
_ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE
(parser=0x7ae86708, fndef_ok=true, static_assert_ok=false,
empty_ok=true, nested=0, start_attr_ok=1,
objc_foreach_object_declaration=0x0, omp_declare_simd_clauses=...)
at ../../gcc/gcc/c/c-parser.c:1796
#1  0x000acc00 in _ZL29c_parser_external_declarationP8c_parser (
parser=0x7ae86708) at ../../gcc/gcc/c/c-parser.c:1399
#2  0x000ad8ac in _Z12c_parse_filev () at ../../gcc/gcc/c/c-parser.c:1286
#3  0x000f2b74 in _Z19c_common_parse_filev ()
at ../../gcc/gcc/c-family/c

[Bug c/64167] [4.9 Regression] bootstrap error: segv in c parser

2014-12-03 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64167

--- Comment #1 from John David Anglin danglin at gcc dot gnu.org ---
r218104 was ok.


[Bug c/64167] [4.9 Regression] bootstrap error: segv in c parser

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64167

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Guess you need to bisect it first.


[Bug c++/64100] A static assert using the the current class in a noexcept test leads to a segfault

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64100

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 ---
Yeah, r160250 still errored out on it, r160311 already ICEs.


[Bug libstdc++/64168] New: [5.0 regression] FAIL: 30_threads/async/sync.cc execution test

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

Bug ID: 64168
   Summary: [5.0 regression] FAIL: 30_threads/async/sync.cc
execution test
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sch...@linux-m68k.org
CC: redi at gcc dot gnu.org
Target: m68k-*-*, ia64-*-*

Broken by r218255.

sync.exe:
/usr/local/gcc/gcc-20141203/libstdc++-v3/testsuite/30_threads/async/sync.cc:54:
void test01(): Assertion `f1.wait_until(then) == std::future_status::deferred'
failed.


[Bug libstdc++/64168] [5.0 regression] FAIL: 30_threads/async/sync.cc execution test

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

Andreas Schwab sch...@linux-m68k.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug target/63661] [4.9 Regression] -O2 miscompiles with -mtune=nehalem or corei7

2014-12-03 Thread renlin.li at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63661

Renlin Li renlin.li at arm dot com changed:

   What|Removed |Added

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

--- Comment #30 from Renlin Li renlin.li at arm dot com ---
4.9 branch is fixed by r218306
trunk is fixed by r217783


[Bug libstdc++/64168] [5.0 regression] FAIL: 30_threads/async/sync.cc execution test

2014-12-03 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64168

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-12-03
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
 Ever confirmed|0   |1


[Bug libstdc++/64168] [5.0 regression] FAIL: 30_threads/async/sync.cc execution test

2014-12-03 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64168

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
Author: redi
Date: Wed Dec  3 16:09:21 2014
New Revision: 218321

URL: https://gcc.gnu.org/viewcvs?rev=218321root=gccview=rev
Log:
PR libstdc++/64168
* include/std/future (_Deferred_state::_M_has_deferred): Fix return.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/std/future


[Bug middle-end/64017] Support ISL 0.14.0 (to fix ICE with gfortran.dg/graphite/pr42393.f90)

2014-12-03 Thread howarth at bromo dot med.uc.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64017

--- Comment #6 from howarth at bromo dot med.uc.edu ---
AFAIKS, the define of CLOOG_INT_GMP is only used in the cloog headers...

https://groups.google.com/forum/#!msg/cloog-development/IFqcHdgGpM4/UOAXxd00MXIJ

so it 

islinc=-DCLOOG_INT_GMP ${islinc}

should be removed now from config/isl.m4 and the top-level configure
regenerated.


[Bug jit/64166] JIT does not provide a way for verifying dumpfiles from testcases

2014-12-03 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64166

--- Comment #2 from dmalcolm at gcc dot gnu.org ---
(In reply to Richard Biener from comment #1)
 Huh, I think you rather want a stable introspection (plugin) API.  Like the
 treeish one that was proposed at some point but never was finished up.  The
 JIT should provide the modification API only.

Perhaps eventually, but that would involve a *lot* of changes:
  (A) writing this new API
  (B) having it be usable from the JIT API
  (C) probably other things I haven't thought of yet.

I hope to tackle (A) and (B) in the gcc 6 timeframe.

In the meantime, I have a mostly-working way of getting at the dumps via a new
gcc_jit_context_enable_dump entrypoint, which looks like this:

static char *trig_sincos_dump;
static char *trig_statistics_dump;

static void
create_test_of_builtin_trig (gcc_jit_context *ctxt)
{
  /* snip */
  gcc_jit_context_enable_dump (ctxt,
   tree-sincos,
   trig_sincos_dump);
  gcc_jit_context_enable_dump (ctxt,
   statistics,
   trig_statistics_dump);
  /* snip */
}

static void
verify_test_of_builtin_trig (gcc_jit_context *ctxt, gcc_jit_result *result)
{
  /* snip */
  /* PR jit/64020:
 The sincos pass merges sin/cos calls into the cexpi builtin.
 Verify that a dump of the sincos pass was provided, and that it
 shows a call to the cexpi builtin on a SSA name of theta.  */
  CHECK_NON_NULL (trig_sincos_dump);
  CHECK_STRING_CONTAINS (trig_sincos_dump,  = __builtin_cexpi (theta_);
  free (trig_sincos_dump);

  /* Similarly, verify that the statistics dump was provided, and that
 it shows the sincos optimization.  */
  CHECK_NON_NULL (trig_statistics_dump);
  CHECK_STRING_CONTAINS (
trig_statistics_dump,
sincos \sincos statements inserted\ \test_of_builtin_trig\ 1);
  free (trig_statistics_dump);
}

I'm also experimenting with an API of capturing/verifying statistics:
  gcc_jit_context_set_bool_option (ctxt,
   GCC_JIT_BOOL_OPTION_GATHER_STATISTICS,
   1);
where the verify hook has:
  /* We expect exactly one sincos statement to be inserted.  */
  int sincos_count =
gcc_jit_result_get_int_statistic (result,
  sincos statements inserted);
  if (sincos_count == 1)
pass (%s: %i sincos statements inserted, test, sincos_count);
  else
fail (%s: %i sincos statements inserted, test, sincos_count);

(again, I have this mostly working already, but it might be nice to provide a
richer querying API e.g. for narrowing things down e.g. to a particular
function).


[Bug go/63731] Fallback to netgo does not work

2014-12-03 Thread boger at us dot ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63731

--- Comment #21 from boger at us dot ibm.com ---
I'm confused by the description of -a in the go1.4 documentation.

I asked about this before and the answer was that each invocation of 'go build'
would create a copy of the built package which was then used for the current 
build but then thrown away.  But that must not be the way it works?


[Bug libstdc++/64168] [5.0 regression] FAIL: 30_threads/async/sync.cc execution test

2014-12-03 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64168

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug c++/64127] [5 regression] ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64127

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 r214396.


[Bug preprocessor/63831] [5 Regression] r217292 causes segfaults with -MM

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63831

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #16 from Jakub Jelinek jakub at gcc dot gnu.org ---
That looks wrong.  You really can't keep the __has_attribute__(...) in the
preprocessed stream, it should either be not recognized at all (for languages
other than C/C++ - like for CLK_ASM or when the callback is NULL (think about
Fortran preprocessing; that is done as if it was C89, but of course the
callback is not defined and expanding __has_attribute__ doesn't make much sense
in that case).
And, for C/C++ preprocessing without compilation, i.e. c-ppoutput.c, you should
IMHO just do very similar if not the same thing as in c-lex.c.  If something
needs initializing and has not been initialized for the attribute lookup, just
initialize it lazily.


[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure

2014-12-03 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163

--- Comment #5 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Honza, this might well be another gold bug (on x86_64).

With Alan's gold fix the unreduced testcase now compiles fine on ppc64
(with a few relocation refers to discarded section warnings).


[Bug c++/64169] New: Partial template specialization of reference-qualified operator templates

2014-12-03 Thread knoepfel at fnal dot gov
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64169

Bug ID: 64169
   Summary: Partial template specialization of reference-qualified
operator templates
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: knoepfel at fnal dot gov

System : x86_64-apple-darwin13.4.0
options: -Wall -Wextra
std: c++1y

The preprocessed version of the below code looks identical except for the
#include iostream contents.

Consider the following code where I attempt to specialize the -qualified
version of operator .

BEGIN_CODE

namespace {

  template typename T
  class A {
  public:

template  typename U A operator  ( U const  )  {
  std::cerr  ...  version\n;
  return std::move(*this);
}

template typename U A operator  ( U const )  {
  std::cerr  ...   version\n;
  return *this;
}

  };


  template
  templatetypename U
  Aint Aint::operator ( U const  )  {
std::cerr  ...   version (int)\n;
return *this;
  }

}


int main() {

  Adouble()  ;
  Adouble adouble;
  adouble  ;

  Aint()  ;
  Aint aint;
  aint  ;

}

END_CODE

The gcc compile errors are:

ref-qualified-operators.cpp:25:11: error: ambiguous template specialization
‘operator ’ for ‘{anonymous}::Aint {anonymous}::Aint::operator(const
U) ’
   Aint Aint::operator ( U const  )  {
   ^
ref-qualified-operators.cpp:10:32: note: candidates are: templateclass U
{anonymous}::AT {anonymous}::AT::operator(const U)  [with U = U; T =
int]
 template  typename U A operator  ( U const  )  { 
^
ref-qualified-operators.cpp:15:30: note: templateclass U
{anonymous}::AT {anonymous}::AT::operator(const U)  [with U = U; T =
int]
 template typename U A  operator  ( U const )   { 
  ^

The above code is accepted by clang 3.5 and outputs:

...  version
...   version
...  version
...   version (int)

[Bug fortran/44054] Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color

2014-12-03 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44054

--- Comment #20 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
Author: manu
Date: Wed Dec  3 17:50:06 2014
New Revision: 218326

URL: https://gcc.gnu.org/viewcvs?rev=218326root=gccview=rev
Log:
gcc/testsuite/ChangeLog:

2014-12-03  Manuel López-Ibáñez  m...@gcc.gnu.org

PR fortran/44054
* gfortran.dg/warnings_are_errors_1.f90: Update warnings to errors.
* gfortran.dg/warnings_are_errors_1.f: Likewise.

gcc/fortran/ChangeLog:

2014-12-03  Manuel López-Ibáñez  m...@gcc.gnu.org

PR fortran/44054
* gfortran.h (gfc_warning): Now returns bool. Add overload that
accepts opt.
(gfc_warning_1): Declare.
* error.c
(pp_warning_buffer,warningcount_buffered,werrorcount_buffered):New.
(gfc_buffer_error): Set pp_warning_buffer.flush_p.
(gfc_clear_pp_buffer): New.
(gfc_warning_1): Renamed from gfc_warning.
(gfc_warning): Add three new overloads. One that takes just a
format string and ellipsis, another that takes also a warning
option, and another that takes also va_list instead of ellipsis.
(gfc_clear_warning): Clear pp_warning_buffer.
(gfc_warning_check): Flush pp_warning_buffer and update warning
and werror counters.
(gfc_diagnostics_init): Init pp_warning_buffer.

* Update all gfc_warning calls that do not multiple
locations to use %qs and OPT_W*, otherwise use gfc_warning_1.

gcc/ChangeLog:

2014-12-03  Manuel López-Ibáñez  m...@gcc.gnu.org

PR fortran/44054
* pretty-print.c (output_buffer::output_buffer): Init flush_p to true.
(pp_flush): Flush only if flush_p.
(pp_really_flush): New.
* pretty-print.h (struct output_buffer): Add flush_p.
(pp_really_flush): Declare.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/arith.c
trunk/gcc/fortran/check.c
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/dependency.c
trunk/gcc/fortran/error.c
trunk/gcc/fortran/expr.c
trunk/gcc/fortran/frontend-passes.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/intrinsic.c
trunk/gcc/fortran/io.c
trunk/gcc/fortran/primary.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/scanner.c
trunk/gcc/fortran/simplify.c
trunk/gcc/fortran/symbol.c
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-common.c
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-intrinsic.c
trunk/gcc/fortran/trans-stmt.c
trunk/gcc/pretty-print.c
trunk/gcc/pretty-print.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f
trunk/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90

[Bug target/64056] [5 Regression] gcc.target/i386/chkp-strlen-4.c etc. FAIL

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64056

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 ---
So fixed?


[Bug sanitizer/64170] New: [5 Regression] ICE compiling Linux Kernel drivers/media/rc/imon.c in imon_incoming_packet

2014-12-03 Thread sasha.levin at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64170

Bug ID: 64170
   Summary: [5 Regression] ICE compiling Linux Kernel
drivers/media/rc/imon.c in imon_incoming_packet
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: sanitizer
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sasha.levin at oracle dot com
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org,
y.gribov at samsung dot com, ygribov at gcc dot gnu.org

Created attachment 34180
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34180action=edit
Preprocessed source

I'm seeing the following failure:

$ gcc -v -Wp,-MD,drivers/media/rc/.imon.o.d  -nostdinc -isystem
/home/sasha/gcc-inst/lib/gcc/x86_64-unknown-linux-gnu/5.0.0/include
-I./arch/x86/include -Iarch/x86/include/generated  -Iinclude
-I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi
-Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall
-Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m64
-mno-80387 -mno-fp-ret-in-387 -march=native -mno-red-zone -mcmodel=kernel
-funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI
-DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1
-DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1
-pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx
-mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2
--param=allow-store-data-races=0 -fno-reorder-blocks -fno-ipa-cp-clone
-fno-partial-inlining -Wframe-larger-than=2048 -fstack-protector
-Wno-unused-but-set-variable -fno-omit-frame-pointer
-fno-optimize-sibling-calls -fno-var-tracking-assignments -g -gdwarf-4 -pg
-mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign
-fno-strict-overflow -fconserve-stack -Werror=implicit-int
-Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO   
-fsanitize=kernel-address -fasan-shadow-offset=0xdfffe900 --param
asan-instrumentation-with-call-threshold=1   -fsanitize=undefined 
-fno-sanitize=unreachable  -fno-sanitize=float-cast-overflow   
-DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(imon) 
-DKBUILD_MODNAME=KBUILD_STR(imon) -c -o drivers/media/rc/.tmp_imon.o
drivers/media/rc/imon.c

Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/home/sasha/gcc-inst/ --with-arch=native
--with-tune=native --enable-languages=c --enable-lto --enable-gold
--enable-stage1-languages=c
Thread model: posix
gcc version 5.0.0 20141203 (experimental) (GCC) 

COLLECT_GCC_OPTIONS='-v' '-nostdinc' '-isystem'
'/home/sasha/gcc-inst/lib/gcc/x86_64-unknown-linux-gnu/5.0.0/include' '-I'
'./arch/x86/include' '-I' 'arch/x86/include/generated' '-I' 'include' '-I'
'./arch/x86/include/uapi' '-I' 'arch/x86/include/generated/uapi' '-I'
'./include/uapi' '-I' 'include/generated/uapi' '-include'
'./include/linux/kconfig.h' '-D' '__KERNEL__' '-Wall' '-Wundef'
'-Wstrict-prototypes' '-Wno-trigraphs' '-fno-strict-aliasing' '-fno-common'
'-Werror=implicit-function-declaration' '-Wno-format-security' '-std=gnu90'
'-m64' '-mno-80387' '-mno-fp-ret-in-387' '-march=native' '-mno-red-zone'
'-mcmodel=kernel' '-funit-at-a-time' '-maccumulate-outgoing-args' '-D'
'CONFIG_X86_X32_ABI' '-D' 'CONFIG_AS_CFI=1' '-D' 'CONFIG_AS_CFI_SIGNAL_FRAME=1'
'-D' 'CONFIG_AS_CFI_SECTIONS=1' '-D' 'CONFIG_AS_FXSAVEQ=1' '-D'
'CONFIG_AS_CRC32=1' '-D' 'CONFIG_AS_AVX=1' '-D' 'CONFIG_AS_AVX2=1' '-pipe'
'-Wno-sign-compare' '-fno-asynchronous-unwind-tables' '-mno-sse' '-mno-mmx'
'-mno-sse2' '-mno-3dnow' '-mno-avx' '-fno-delete-null-pointer-checks' '-O2'
'--param' 'allow-store-data-races=0' '-fno-reorder-blocks' '-fno-ipa-cp-clone'
'-fno-partial-inlining' '-Wframe-larger-than=2048' '-fstack-protector'
'-Wno-unused-but-set-variable' '-fno-omit-frame-pointer'
'-fno-optimize-sibling-calls' '-fno-var-tracking-assignments' '-g' '-gdwarf-4'
'-pg' '-mfentry' '-D' 'CC_USING_FENTRY' '-Wdeclaration-after-statement'
'-Wno-pointer-sign' '-fno-strict-overflow' '-fconserve-stack'
'-Werror=implicit-int' '-Werror=strict-prototypes' '-Werror=date-time' '-D'
'CC_HAVE_ASM_GOTO' '-fsanitize=kernel-address'
'-fasan-shadow-offset=0xdfffe900' '--param'
'asan-instrumentation-with-call-threshold=1' '-fsanitize=undefined'
'-fno-sanitize=unreachable' '-fno-sanitize=float-cast-overflow' '-D'
'KBUILD_STR(s)=#s' '-D' 'KBUILD_BASENAME=KBUILD_STR(imon)' '-D'
'KBUILD_MODNAME=KBUILD_STR(imon)' '-c' '-o' 'drivers/media/rc/.tmp_imon.o'
 /home/sasha/gcc-inst/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/cc1 -quiet
-nostdinc -v -I ./arch/x86/include -I arch/x86/include/generated -I include -I

[Bug go/63731] Fallback to netgo does not work

2014-12-03 Thread ian at airs dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63731

--- Comment #22 from Ian Lance Taylor ian at airs dot com ---
I'm not sure why you say that it must not be the way it works.  It is the way
it works.

The recent change to Go 1.4 is that the -a option does not apply to the
standard library.  I don't know whether that is a good idea or not.


[Bug go/63731] Fallback to netgo does not work

2014-12-03 Thread boger at us dot ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63731

--- Comment #23 from boger at us dot ibm.com ---
If I look at this documentation:  http://tip.golang.org/doc/go1.4#gocmd

It says this:

The behavior of the go build subcommand's -a flag has been changed for
non-development installations. For installations running a released
distribution, the -a flag will no longer rebuild the standard library and
commands, to avoid overwriting the installation's files. 

When I read this it sounds like the previous behavior with the -a option was to
rebuild the packages and put the newly built packages into the installed
directories, including the standard library.  If everyone who used 'go build'
with -a generated their own copy of the built packages and then threw them
away, how would the installation's files ever get overwritten?


[Bug libstdc++/42734] trivial use of std::thread fails with pure virtual method called

2014-12-03 Thread fenixk19 at mail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42734

Alexander Varnin fenixk19 at mail dot ru changed:

   What|Removed |Added

 CC||fenixk19 at mail dot ru

--- Comment #42 from Alexander Varnin fenixk19 at mail dot ru ---
I confirm an issue with G++ 4.8.2 and ARM platform.

The platform is Freescale IMX53. OS build with yocto system using these
instructions: https://github.com/Freescale/fsl-community-bsp-platform

uname -a:
Linux imx53qsb 2.6.35.3-gb51e9aa-dirty #34 PREEMPT Wed Dec 3 19:47:54 MSK 2014
armv7l GNU/Linux


[Bug target/64019] ICE in extract_constrain_insn

2014-12-03 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64019

--- Comment #3 from Michael Meissner meissner at gcc dot gnu.org ---
Author: meissner
Date: Wed Dec  3 18:39:22 2014
New Revision: 218327

URL: https://gcc.gnu.org/viewcvs?rev=218327root=gccview=rev
Log:
[gcc]
2014-12-03  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/64019
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
not create LO_SUM address for constant addresses if the type can
go in Altivec registers.

[gcc/testsuite]
2014-12-03  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/64019
* gcc.target/powerpc/pr64019.c: New file.


Added:
trunk/gcc/testsuite/gcc.target/powerpc/pr64019.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/63558] cannot silence jump to case label with fpermissive

2014-12-03 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63558

--- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Wed Dec  3 18:41:42 2014
New Revision: 218328

URL: https://gcc.gnu.org/viewcvs?rev=218328root=gccview=rev
Log:
/cp
2014-12-03  Paolo Carlini  paolo.carl...@oracle.com

PR c++/63558
* decl.c (identify_goto): Return a bool if diagnostic is emitted.
(check_previous_goto_1): Consistently emit permerror + inform.
(check_goto): Likewise.

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

PR c++/63558
* g++.dg/init/goto3.C: New.
* g++.dg/eh/goto2.C: Adjust.
* g++.dg/ext/vla14.C: Likewise.
* g++.dg/gomp/block-1.C: Likewise.
* g++.dg/gomp/block-2.C: Likewise.
* g++.dg/gomp/block-3.C: Likewise.
* g++.dg/gomp/block-5.C: Likewise.
* g++.dg/gomp/target-1.C: Likewise.
* g++.dg/gomp/target-2.C: Likewise.
* g++.dg/gomp/taskgroup-1.C: Likewise.
* g++.dg/gomp/teams-1.C: Likewise.
* g++.dg/init/goto2.C: Likewise.
* g++.dg/warn/pedantic1.C: Likewise.
* g++.old-deja/g++.jason/jump.C: Likewise.
* g++.old-deja/g++.law/arm6.C: Likewise.
* g++.old-deja/g++.other/goto1.C: Likewise.
* g++.old-deja/g++.other/goto3.C: Likewise.
* g++.old-deja/g++.other/init9.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/init/goto3.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/eh/goto2.C
trunk/gcc/testsuite/g++.dg/ext/vla14.C
trunk/gcc/testsuite/g++.dg/gomp/block-1.C
trunk/gcc/testsuite/g++.dg/gomp/block-2.C
trunk/gcc/testsuite/g++.dg/gomp/block-3.C
trunk/gcc/testsuite/g++.dg/gomp/block-5.C
trunk/gcc/testsuite/g++.dg/gomp/target-1.C
trunk/gcc/testsuite/g++.dg/gomp/target-2.C
trunk/gcc/testsuite/g++.dg/gomp/taskgroup-1.C
trunk/gcc/testsuite/g++.dg/gomp/teams-1.C
trunk/gcc/testsuite/g++.dg/init/goto2.C
trunk/gcc/testsuite/g++.dg/warn/pedantic1.C
trunk/gcc/testsuite/g++.old-deja/g++.jason/jump.C
trunk/gcc/testsuite/g++.old-deja/g++.law/arm6.C
trunk/gcc/testsuite/g++.old-deja/g++.other/goto1.C
trunk/gcc/testsuite/g++.old-deja/g++.other/goto3.C
trunk/gcc/testsuite/g++.old-deja/g++.other/init9.C


[Bug c++/63558] cannot silence jump to case label with fpermissive

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

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


[Bug sanitizer/64170] [5 Regression] ICE compiling Linux Kernel drivers/media/rc/imon.c in imon_incoming_packet

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64170

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-03
   Target Milestone|--- |5.0
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Reduced testcase with -O2 -fsanitize=address,null :

int a, *b, c;
void bar (int);

void
foo (void)
{
  char *d = b;
  if (d[0]  d[1])
return;
  if (c)
a = *(int *) d;
  bar (*(int *) d);
}


[Bug c++/62212] ICE compiling template function with array reference parameter whose size depends on a template parameter

2014-12-03 Thread lhyatt at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62212

--- Comment #1 from Lewis Hyatt lhyatt at gmail dot com ---
Hello-

FYI this problem still exists on the mainline. I see the bug remains
unconfirmed, please let me know if more information would be useful, the
testcase was pretty simple so I just pasted it inline in the first report.
Thanks!

-Lewis


[Bug fortran/63529] Bad error and ICE with Cray Pointers in Modules

2014-12-03 Thread russelldub at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63529

--- Comment #8 from russelldub at gmail dot com ---
Not sure what correct etiquette is for checking on bug status, but this has
been sitting for close to two months now, so I thought I would poke my head in
again.


[Bug go/63731] Fallback to netgo does not work

2014-12-03 Thread ian at airs dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63731

--- Comment #24 from Ian Lance Taylor ian at airs dot com ---
They would not have been overwritten, unless you used go install -a.  That
line in the doc may be misleading.


[Bug c++/64171] New: Hang whilst printing error message on invalid code

2014-12-03 Thread jleahy+gcc at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64171

Bug ID: 64171
   Summary: Hang whilst printing error message on invalid code
   Product: gcc
   Version: 4.9.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jleahy+gcc at gmail dot com

Created attachment 34181
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34181action=edit
full preprocessed source

The following code is invalid (the constness 'var' doesn't match), but the
compiler seems to enter an infinite loop whilst printing the error message.

I've attached full preprocessed source.

The target is x86_64-unknown-linux-gnu.

Code:

#include unordered_map

struct X {
static X * fromString();

X(int x, int y);

static const std::unordered_mapint, X var;
};


std::unordered_mapint, X X::var = {
{0, X(0, 0)},
};


X * X::fromString() {
std::unordered_mapint, X::iterator it = var.find(0);
if (it == var.end()) return 0;
return (it-second);
}

Complete output: (upto point where compiler hangs)

bug.cpp:13:31: error: conflicting declaration 'std::unordered_mapint, X
X::var'
 std::unordered_mapint, X X::var = {
   ^
bug.cpp:9:45: note: previous declaration as 'const std::unordered_mapint, X
X::var'
 static const std::unordered_mapint, X var;
 ^
bug.cpp:13:31: error: declaration of 'const std::unordered_mapint, X X::var'
outside of class is not definition [-fpermissive]
 std::unordered_mapint, X X::var = {
   ^
bug.cpp: In static member function 'static X* X::fromString()':
bug.cpp:19:57: error: conversion from 'std::unordered_mapint,
X::const_iterator {aka std::__detail::_Node_const_iteratorstd::pairconst
int, X, false, false}' to non-scalar type 'std::unordered_mapint,
X::iterator {aka std::__detail::_Node_iteratorstd::pairconst int, X, false,
false}' requested
 std::unordered_mapint, X::iterator it = var.find(0);
 ^


[Bug libstdc++/13631] Problems in messages

2014-12-03 Thread fdumont at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631

--- Comment #33 from François Dumont fdumont at gcc dot gnu.org ---
Author: fdumont
Date: Wed Dec  3 19:47:00 2014
New Revision: 218329

URL: https://gcc.gnu.org/viewcvs?rev=218329root=gccview=rev
Log:
2014-12-03  François Dumont  fdum...@gcc.gnu.org

PR libstdc++/13631
* include/bits/codecvt.h (codecvtchar, char, mbstate_t): friend class
std::messageschar.
(codecvtwchar_t, char, mbstate_t): friend class
std::messageswchar_t.
* config/locale/gnu/messages_member.h
(messageschar::do_open): Specialized.
(messageschar::do_close): Likewise.
(messageswchar_t::do_open): Likewise.
(messageswchar_t::do_close): Likewise.
* config/locale/gnu/messages_member.cc:
(messageschar::do_open): Implement. Use bind_textdomain_codeset based
on codecvtchar, char, mbstate_t._M_c_locale_codecvt code set. Use
internal cache to keep opened domain name with locale information.
(messageswchar_t::do_open): Likewise with
codecvtwchar_t, char, mbstate_t.
(messageschar::do_close): Implement. Clean cache information.
(messageswchar_t::do_close): Likewise.
(get_glibc_msg): New. Use dgettext rather than gettext using cached
domain name associated to catalog id.
(messageschar::do_get): Use latter.
(messageswchar_t::do_get): Likewise and use also cached locale
codecvtwchar_t, char, mbstate_t facet to convert wchar_t default
value to char and the result back to wchar_t.
* testsuite/22_locale/messages/13631.cc: New.
* testsuite/22_locale/messages/members/char/2.cc: Use also fr_FR locale
for charset conversion to get the expected accented character.

Added:
trunk/libstdc++-v3/testsuite/22_locale/messages/13631.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/locale/gnu/messages_members.cc
trunk/libstdc++-v3/config/locale/gnu/messages_members.h
trunk/libstdc++-v3/include/bits/codecvt.h
trunk/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc

[Bug sanitizer/64170] [5 Regression] ICE compiling Linux Kernel drivers/media/rc/imon.c in imon_incoming_packet

2014-12-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64170

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

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

Untested fix.  The bug was that maybe_get_dominating_check wasn't called on
*base_checks if it returned non-NULL on *ptr_checks.  But that function has two
purposes, one is to clean up the vector, so that it doesn't contain any stale
stmts (and this is what can_remove_asan_check relies on), the other is to
return the last element in the vector if there are still any.


  1   2   >