Re: [wwwdocs] document -Wshadow change in 4.8

2013-02-10 Thread Manuel López-Ibáñez
On 10 February 2013 08:45, Gerald Pfeifer ger...@pfeifer.com wrote:
 On Sat, 9 Feb 2013, Manuel López-Ibáñez wrote:
 OK to commit?

  * htdocs/gcc-4.8/changes.html: Document -Wshadow change.

 Thanks!

 The only question I have is about unless the variable is a function.
 How can a variable be a function?

True. What about: if a declaration shadows a function declaration,
unless the former declares a function or a pointer to function.

I also realized that Wshadow is not C-only, so I will move the item to C family.

Cheers,

Manuel.


Proposition

2013-02-10 Thread Shin Eon-seong

Greetings from Korea,

I have a proposal for you to the tune of Fifty Million EUR, if interested, 
kindly respond for specifics

Warmest,
Shin Eon-seong



[PATCH, rtl-optimization]: Fix PR56275, ICE in simplify_subreg, at simplify-rtx.c:5261 with vector code.

2013-02-10 Thread Uros Bizjak
Hello!

Attached patch prevents out-of-bounds offset in the call to
simplify_subreg, where the subreg offset is taken from the offset of a
memory access. The problem triggers on 4.6 branch and is latent on 4.7
and mainline.

2013-02-10  Uros Bizjak  ubiz...@gmail.com

PR rtl-optimization/56275
* simplify-rtx.c (avoid_constant_pool_reference): Check that
offset is non-negative and less than cmode size before
calling simplify_subreg.

testsuite/ChangeLog:

2013-02-10  Uros Bizjak  ubiz...@gmail.com

PR rtl-optimization/56275
* gcc.dg/pr56275.c: New test.

Tested on x86_64-pc-linux-gnu {,-m32}.

OK for mainline and release branches?

Uros.
Index: simplify-rtx.c
===
--- simplify-rtx.c  (revision 195931)
+++ simplify-rtx.c  (working copy)
@@ -242,7 +242,8 @@ avoid_constant_pool_reference (rtx x)
   /* If we're accessing the constant in a different mode than it was
  originally stored, attempt to fix that up via subreg simplifications.
  If that fails we have no choice but to return the original memory.  */
-  if (offset != 0 || cmode != GET_MODE (x))
+  if ((offset != 0 || cmode != GET_MODE (x))
+  offset = 0  offset  GET_MODE_SIZE (cmode))
 {
   rtx tem = simplify_subreg (GET_MODE (x), c, cmode, offset);
   if (tem  CONSTANT_P (tem))
Index: testsuite/gcc.dg/pr56275.c
===
--- testsuite/gcc.dg/pr56275.c  (revision 0)
+++ testsuite/gcc.dg/pr56275.c  (working copy)
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options -O2 } */
+/* { dg-additional-options -mno-sse { target { i?86-*-* x86_64-*-* } } } */
+
+typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long;
+
+void tiger_block_v2 (long long in1, v2tw *res)
+{
+  v2tw i1 = { in1, in1 };
+
+  *res = i1  1;
+}


[patch] partially fix libstdc++/56267

2013-02-10 Thread Jonathan Wakely
PR libstdc++/56267
* include/bits/hashtable.h (__cache_default): Check if hash function
is copy assignable.
* testsuite/23_containers/unordered_set/56267.cc: New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.

Tested x86_64-linux, committed to trunk, will also commit to 4.7 soon.
commit 4eb16ce9981130d6322f474d22f9c1aeba2b864d
Author: Jonathan Wakely jwakely@gmail.com
Date:   Sun Feb 10 22:12:37 2013 +

PR libstdc++/56267
* include/bits/hashtable.h (__cache_default): Check if hash function
is copy assignable.
* testsuite/23_containers/unordered_set/56267.cc: New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.

diff --git a/libstdc++-v3/include/bits/hashtable.h 
b/libstdc++-v3/include/bits/hashtable.h
index 6515b71..b82cda3 100644
--- a/libstdc++-v3/include/bits/hashtable.h
+++ b/libstdc++-v3/include/bits/hashtable.h
@@ -43,8 +43,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   =  __not___and_// Do not cache for fast hasher.
   __is_fast_hash_Hash,
   // Mandatory to make local_iterator default
-  // constructible.
+  // constructible and assignable.
   is_default_constructible_Hash,
+  is_copy_assignable_Hash,
   // Mandatory to have erase not throwing.
   __detail::__is_noexcept_hash_Tp, _Hash;
 
@@ -269,6 +270,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
Cache the hash code or make functors involved in hash code
 and bucket index computation default constructible);
 
+  // When hash codes are not cached local iterator inherits from
+  // __hash_code_base above to compute node bucket index so it has to be
+  // assignable.
+  static_assert(__if_hash_not_cached
+ is_copy_assignable__hash_code_base::value,
+   Cache the hash code or make functors involved in hash code
+and bucket index computation copy assignable);
+
 public:
   templatetypename _Keya, typename _Valuea, typename _Alloca,
   typename _ExtractKeya, typename _Equala,
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/56267.cc 
b/libstdc++-v3/testsuite/23_containers/unordered_set/56267.cc
new file mode 100644
index 000..0e9c71a
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/56267.cc
@@ -0,0 +1,35 @@
+// { dg-options -std=gnu++0x }
+// { dg-do compile }
+
+// Copyright (C) 2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// http://www.gnu.org/licenses/.
+
+// libstdc++/56267
+
+#include unordered_set
+
+struct hash : std::hashint
+{
+  hash operator=(const hash) = delete;
+};
+
+int main()
+{
+  std::unordered_setint, hash s{ 0, 1, 2 };
+  auto i = s.begin(0);
+  i = i;
+}
diff --git 
a/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc 
b/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
index 827691f..6712d62 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
@@ -19,7 +19,7 @@
 // with this library; see the file COPYING3.  If not see
 // http://www.gnu.org/licenses/.
 
-// { dg-error with noexcept  { target *-*-* } 251 }
+// { dg-error with noexcept  { target *-*-* } 252 }
 
 #include unordered_set
 
diff --git 
a/libstdc++-v3/testsuite/23_containers/unordered_set/not_default_constructible_hash_neg.cc
 
b/libstdc++-v3/testsuite/23_containers/unordered_set/not_default_constructible_hash_neg.cc
index bd62a08..53a25bc 100644
--- 
a/libstdc++-v3/testsuite/23_containers/unordered_set/not_default_constructible_hash_neg.cc
+++ 
b/libstdc++-v3/testsuite/23_containers/unordered_set/not_default_constructible_hash_neg.cc
@@ -19,7 +19,7 @@
 // with this library; see the file COPYING3.  If not see
 // http://www.gnu.org/licenses/.

[patch] fix libstdc++/56278

2013-02-10 Thread Jonathan Wakely
PR libstdc++/56278
* include/bits/hashtable_policy.h (_Hash_code_base): Make default
constructor public.
* testsuite/23_containers/unordered_set/56278.cc: New.

Tested x86_64-linux, committed to trunk.
commit b893384109ddb4dfc1afac24dc6b2c56557f2fa8
Author: Jonathan Wakely jwakely@gmail.com
Date:   Sun Feb 10 22:08:34 2013 +

PR libstdc++/56278
* include/bits/hashtable_policy.h (_Hash_code_base): Make default
constructor public.
* testsuite/23_containers/unordered_set/56278.cc: New.

diff --git a/libstdc++-v3/include/bits/hashtable_policy.h 
b/libstdc++-v3/include/bits/hashtable_policy.h
index f4d8dc0..a88b32e 100644
--- a/libstdc++-v3/include/bits/hashtable_policy.h
+++ b/libstdc++-v3/include/bits/hashtable_policy.h
@@ -918,13 +918,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   using __ebo_extract_key = _Hashtable_ebo_helper0, _ExtractKey;
   using __ebo_hash = _Hashtable_ebo_helper1, _Hash;
 
+public:
+  // We need the default constructor for the local iterators.
+  _Hash_code_base() = default;
+
 protected:
   typedef void*__hash_code;
   typedef _Hash_node_Value, false__node_type;
 
-  // We need the default constructor for the local iterators.
-  _Hash_code_base() = default;
-
+protected:
   _Hash_code_base(const _ExtractKey __ex, const _H1, const _H2,
  const _Hash __h)
   : __ebo_extract_key(__ex), __ebo_hash(__h) { }
@@ -956,7 +958,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
std::swap(_M_ranged_hash(), __x._M_ranged_hash());
   }
 
-protected:
   const _ExtractKey
   _M_extract() const { return __ebo_extract_key::_S_cget(*this); }
 
@@ -1003,13 +1004,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   hash_function() const
   { return _M_h1(); }
 
+  // We need the default constructor for the local iterators.
+  _Hash_code_base() = default;
+
 protected:
   typedef std::size_t  __hash_code;
   typedef _Hash_node_Value, false__node_type;
 
-  // We need the default constructor for the local iterators.
-  _Hash_code_base() = default;
-
   _Hash_code_base(const _ExtractKey __ex,
  const _H1 __h1, const _H2 __h2,
  const _Default_ranged_hash)
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/56278.cc 
b/libstdc++-v3/testsuite/23_containers/unordered_set/56278.cc
new file mode 100644
index 000..c73a524
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/56278.cc
@@ -0,0 +1,30 @@
+// { dg-options -std=gnu++0x }
+// { dg-do compile }
+
+// Copyright (C) 2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// http://www.gnu.org/licenses/.
+
+// libstdc++/56278
+
+#include unordered_set
+
+struct hash : std::hashint
+{
+  hash() { }
+};
+
+std::unordered_setint, hash::local_iterator i;


Re: unordered containers doc

2013-02-10 Thread Jonathan Wakely
On 7 February 2013 21:01, François Dumont wrote:
 Thanks for taking care of it. Here is another version, I think clearer.
 Reading the doc I also found an unfinished sentence in an other chapter, it
 is in the patch.

I made quite a few changes, partly to address the is_copy_assignable
check I added for PR 56267, the change I committed is attached.
Please let me know if you think it's wrong or unclear.

2013-02-10  François Dumont  fdum...@gcc.gnu.org
Jonathan Wakely  jwakely@gmail.com

* doc/xml/manual/containers.xml: Add section on unordered containers.
* doc/xml/manual/using.xml: Fix incomplete sentence.

Tested with doc-xml-validate-docbook and doc-html-docbook, committed to trunk.
commit b6bc6d55e08e5e49065e34d6adbdec897cfffa0f
Author: Jonathan Wakely jwakely@gmail.com
Date:   Sun Feb 10 22:27:40 2013 +

2013-02-10  François Dumont  fdum...@gcc.gnu.org
Jonathan Wakely  jwakely@gmail.com

* doc/xml/manual/containers.xml: Add section on unordered containers.
* doc/xml/manual/using.xml: Fix incomplete sentence.

diff --git a/libstdc++-v3/doc/xml/manual/containers.xml 
b/libstdc++-v3/doc/xml/manual/containers.xml
index c90ffc6..920b491 100644
--- a/libstdc++-v3/doc/xml/manual/containers.xml
+++ b/libstdc++-v3/doc/xml/manual/containers.xml
@@ -349,7 +349,87 @@
 
 /section
 
-!-- Sect1 03 : Interacting with C --
+!-- Sect1 03 : Unordered Associative --
+section xml:id=std.containers.unordered xreflabel=Unordered
+  infotitleUnordered Associative/title/info
+  ?dbhtml filename=unordered_associative.html?
+
+  section xml:id=containers.unordered.hash xreflabel=Hash
+infotitleHash Code/title/info
+
+  section xml:id=containers.unordered.cache xreflabel=Cache
+infotitleHash Code Caching Policy/title/info
+
+para
+  The unordered containers in libstdc++ may cache the hash code for each
+  element alongside the element itself. In some cases not recalculating
+  the hash code every time it's needed can improve performance, but the
+  additional memory overhead can also reduce performance, so whether an
+  unordered associative container caches the hash code or not depends on
+  a number of factors. The caching policy for GCC 4.8 is described below.
+/para
+para
+  The C++ standard requires that codeerase/code and codeswap/code
+  operations must not throw exceptions. Those operations might need an
+  element's hash code, but cannot use the hash function if it could
+  throw.
+  This means the hash codes will be cached unless the hash function
+  has a non-throwing exception specification such as codenoexcept/code
+  or codethrow()/code.
+/para
+para
+  Secondly, libstdc++ also needs the hash code in the implementation of
+  codelocal_iterator/code and codeconst_local_iterator/code in
+  order to know when the iterator has reached the end of the bucket.
+  This means that the local iterator types will embed a copy of the hash
+  function when possible.
+  Because the local iterator types must be DefaultConstructible and
+  CopyAssignable, if the hash function type does not model those concepts
+  then it cannot be embedded and so the hash code must be cached.
+  Note that a hash function might not be safe to use when
+  default-constructed (e.g if it a function pointer) so a hash
+  function that is contained in a local iterator won't be used until
+  the iterator is valid, so the hash function has been copied from a
+  correctly-initialized object.
+/para
+para
+  If the hash function is non-throwing, DefaultConstructible and
+  CopyAssignable then libstdc++ doesn't need to cache the hash code for
+  correctness, but might still do so for performance if computing a
+  hash code is an expensive operation, as it may be for arbitrarily
+  long strings.
+  As an extension libstdc++ provides a trait type to describe whether
+  a hash function is fast. By default hash functions are assumed to be
+  fast unless the trait is specialized for the hash function and the
+  trait's value is false, in which case the hash code will always be
+  cached.
+  The trait can be specialized for user-defined hash functions like so:
+/para
+programlisting
+  #include lt;unordered_setgt;
+
+  struct hasher
+  {
+std::size_t operator()(int val) const noexcept
+{
+  // Some very slow computation of a hash code from an int !
+  ...
+}
+  }
+
+  namespace std
+  {
+templatelt;gt;
+  struct __is_fast_hashlt;hashergt; : std::false_type
+  { };
+  }
+/programlisting
+  /section
+/section
+
+/section
+
+!-- Sect1 04 : Interacting with C --
 section xml:id=std.containers.c xreflabel=Interacting with 
CinfotitleInteracting with C/title/info
 ?dbhtml filename=containers_and_c.html?
   

Merge from trunk to gccgo branch

2013-02-10 Thread Ian Lance Taylor
I merged trunk revision 195931 to the gccgo branch.

Ian


Re: [wwwdocs] document -Wshadow change in 4.8

2013-02-10 Thread Gerald Pfeifer
On Sun, 10 Feb 2013, Manuel López-Ibáñez wrote:
 The only question I have is about unless the variable is a function.
 How can a variable be a function?
 True. What about: if a declaration shadows a function decqlaration,
 unless the former declares a function or a pointer to function.

Yes, that'll work I think.

 I also realized that Wshadow is not C-only, so I will move the item
 to C family.

Thanks!

Gerald

[Patch, microblaze]: Add support for nested functions

2013-02-10 Thread David Holsgrove
Add MicroBlaze support for nested functions.

Changelog

2013-02-11  Edgar E. Iglesias  edgar.igles...@gmail.com

 * config/microblaze/microblaze.c
   (microblaze_asm_trampoline_template): Replace
   with a microblaze version.
   (microblaze_trampoline_init): Adapt for microblaze.
 * config/microblaze/microblaze.h
   (TRAMPOLINE_SIZE): Adapt for microblaze.



0002-gcc-microblaze-Add-MicroBlaze-support-for-nested-fun.patch
Description: 0002-gcc-microblaze-Add-MicroBlaze-support-for-nested-fun.patch


[Patch, microblaze]: Add TARGET_SUPPORTS_PIC check

2013-02-10 Thread David Holsgrove
Add TARGET_SUPPORTS_PIC flag and check that the flag_pic = 2

Changelog

2013-02-11  Edgar E. Iglesias  edgar.igles...@gmail.com

 * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
 * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
 * config/microblaze/microblaze.c (microblaze_option_override):
Bail out early for PIC modes when target does not support PIC.

gcc/testsuite/Changelog

2013-02-11  Edgar E. Iglesias  edgar.igles...@gmail.com

 * gcc.dg/20020312-2.c: Define MicroBlaze PIC register



0001-gcc-microblaze-Bailout-early-for-PIC-modes-when-targ.patch
Description: 0001-gcc-microblaze-Bailout-early-for-PIC-modes-when-targ.patch


[Patch, microblaze]: Free variable local allocs at block ends

2013-02-10 Thread David Holsgrove
Free variable local allocs at block ends.

Changelog

2013-02-11  Edgar E. Iglesias  edgar.igles...@gmail.com

 * config/microblaze/microblaze.md (save_stack_block):
   Define.
   (restore_stack_block): Likewise.



0003-gcc-microblaze-Free-variable-local-allocs-at-block-e.patch
Description: 0003-gcc-microblaze-Free-variable-local-allocs-at-block-e.patch


[Patch, microblaze]: Handle 0x80000000 as 32bit signed dividend

2013-02-10 Thread David Holsgrove
Handle 0x8000 as 32bit signed dividend

Changelog

2013-02-11  Edgar E. Iglesias  edgar.igles...@gmail.com

 * config/microblaze/modsi3.S (modsi3): Fix case with
   0x8000 as dividend.



0004-libgcc-microblaze-Handle-0x8000-as-32bit-signed-.patch
Description: 0004-libgcc-microblaze-Handle-0x8000-as-32bit-signed-.patch


[Patch, microblaze]: Avoid PC relative branches between sections

2013-02-10 Thread David Holsgrove
Avoid PC relative branches between sections by further
checking that the symbol we are calling is declared as
a function before using PC relative calls.

Changelog

2013-02-11  Edgar E. Iglesias edgar.igles...@gmail.com

 *  config/microblaze/microblaze.md (call_value_intern):
Check symbol is function before branching



0005-microblaze-Avoid-PC-relative-branches-between-sectio.patch
Description: 0005-microblaze-Avoid-PC-relative-branches-between-sectio.patch


[Patch, microblaze]: Add support for the CLZ insn

2013-02-10 Thread David Holsgrove
Add support for the CLZ insn

Will be used if pattern-compare is enabled and the targeted
core is newer than v8.10.a.

Changelog

2013-02-11  Edgar E. Iglesias edgar.igles...@gmail.com

  * config/microblaze/microblaze.c: microblaze_has_clz = 0
 Add version check for v8.10.a to enable microblaze_has_clz
  * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as
 combined version and TARGET_PATTERN_COMPARE check
  * config/microblaze/microblaze.md: New clzsi2 instruction



0006-microblaze-Add-support-for-the-CLZ-insn.patch
Description: 0006-microblaze-Add-support-for-the-CLZ-insn.patch


[Patch, microblaze]: Add support for swap instructions and reorder option

2013-02-10 Thread David Holsgrove
Add support for swap instructions and reorder option

swapb and swaph instructions are introduced in microblaze cpu (mcpu) v8.30a,
but have an undocumented dependence on -mxl-pattern-compare being set.

The conditions for their use are;

mcpu  8.30a; no swap insns, use of -mxl-reorder produces warning
and ignored

mcpu == 8.30a and -mxl-pattern-compare specified;
and if -mno-xl-reorder not specified, then swap insns allowed

mcpu  8.30a;
if -mno-xl-reorder not specified, then swap insns allowed

Changelog

2013-02-11  David Holsgrove david.holsgr...@xilinx.com

  * config/microblaze/microblaze.c: microblaze_has_swap = 0
 Add version check for v8.30.a to enable microblaze_has_swap
  * config/microblaze/microblaze.h: Add TARGET_HAS_SWAP
  * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2
 instructions
  * config/microblaze/microblaze.opt: New options -mxl-reorder
 and -mno-xl-reorder



0007-Gcc-Added-swapb-and-swaph-instructions-and-mxl-reord.patch
Description: 0007-Gcc-Added-swapb-and-swaph-instructions-and-mxl-reord.patch


[Patch, microblaze]: Added fast_interrupt controller

2013-02-10 Thread David Holsgrove
Added fast_interrupt controller

Changelog

2013-02-11  Nagaraju Mekala nmek...@xilinx.com

  * config/microblaze/microblaze-protos.h: microblaze_is_fast_interrupt.
  * config/microblaze/microblaze.c (microblaze_attribute_table): Add
 microblaze_is_fast_interrupt.
 (microblaze_fast_interrupt_function_p): New function.
 (microblaze_is_fast_interrupt check): New function.
 (microblaze_must_save_register): Account for fast_interrupt.
 (save_restore_insns): Likewise.
 (compute_frame_size): Likewise.
 (microblaze_globalize_label): Add FAST_INTERRUPT_NAME.
  * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME as
 fast_interrupt.
  * config/microblaze/microblaze.md (movsi_status): Can be
 fast_interrupt
 (return): Add microblaze_is_fast_interrupt.
 (return_internal): Likewise.



0008-Gcc-Added-fast_interrupt-controller.patch
Description: 0008-Gcc-Added-fast_interrupt-controller.patch


[Patch, microblaze]: Adjustments to pcmp instruction generation

2013-02-10 Thread David Holsgrove
Adjustments to pcmp instruction generation

avoid pcmpe insns when not valuable

For pure in and equality comparisions, xor is better,
Xor is a one cycle insn as pcmp.

Pattern insns will still be used when you need to
conditionally set something to one or zero, e.g

if (a)
  return 1;
else
  return 0;

Define contraint for first operand in insn matching
fcmp as general register

Add a constraint to the cstoresf pattern forcing the use of
general regs for the operands. This avoids an ICE where the
compiler would crash on late usage of pseudo registers.

Changelog

2013-02-11  Edgar E. Iglesias edgar.igles...@gmail.com

  * config/microblaze/microblaze.c (microblaze_emit_compare):
 Use xor for EQ/NE comparisions
  * config/microblaze/microblaze.md (cstoresf4): Add constraints
 (cbranchsf4): Adjust operator to comparison_operator



0009-microblaze-Adjustments-to-pcmp-instruction-generatio.patch
Description: 0009-microblaze-Adjustments-to-pcmp-instruction-generatio.patch


[Patch, microblaze]: Setup stack protection at entry.

2013-02-10 Thread David Holsgrove
Setup stack protection at entry.

libgcc/Changelog

2013-02-11  Edgar E. Iglesias edgar.igles...@gmail.com

  * config/microblaze/crti.S: Setup stack protection at entry



0010-microblaze-Setup-stack-protection-at-entry.patch
Description: 0010-microblaze-Setup-stack-protection-at-entry.patch


[Patch, microblaze]: Add microblaze_legitimate_pic_operand method

2013-02-10 Thread David Holsgrove
Add microblaze_legitimate_pic_operand method

Prevents ICE where insn contains an invalid address

Changelog

2013-02-11  David Holsgrove david.holsgr...@xilinx.com

 * config/microblaze/microblaze.c
   (microblaze_valid_pic_const): New function
   (microblaze_legitimate_pic_operand): Likewise
 * config/microblaze/microblaze.h 
   (LEGITIMATE_PIC_OPERAND_P): calls new
   function microblaze_legitimate_pic_operand



0012-Add-microblaze_legitimate_pic_operand-method.patch
Description: 0012-Add-microblaze_legitimate_pic_operand-method.patch


[Patch, microblaze]: Dont allow unsupported target rtx into call_internal1

2013-02-10 Thread David Holsgrove
Dont allow unsupported target rtx into call_internal1

Fix it by adding a simplified call_insn_operand, call_insn_simple_operand
that only accepts the supported rtx code types.

Changelog

2013-02-11  Edgar E. Iglesias edgar.igles...@gmail.com

  * config/microblaze/predicates.md (call_insn_simple_operand):
 New predicate for supported rtx code types.
  * config/microblaze/microblaze.md (call_internal1): Use
 call_insn_simple_operand predicate.



0011-microblaze-Dont-allow-unsuported-target-rtx-into-cal.patch
Description: 0011-microblaze-Dont-allow-unsuported-target-rtx-into-cal.patch


Re: [PATCH 1/2] PowerPC testsuite clean up

2013-02-10 Thread Sebastian Huber

On 02/09/2013 01:07 AM, David Edelsohn wrote:

On Fri, Feb 8, 2013 at 5:05 PM, Peter Bergner berg...@vnet.ibm.com wrote:

On Wed, 2013-02-06 at 17:19 -0500, David Edelsohn wrote:

Because Peter Bergner most recently worked on embedded PPC targets, I
had asked him to double-check the patch before approving it.
Hopefully he will give me some feedback soon.


I've had a look at the patch and it looks good to me.
I also gave it a spin through a powerpc64-linux build and
testsuite run just to make sure nothing unexpectedly popped
out and nothing did.  So I'm fine with the patch.


Sebastian,

The patches are okay.


Thanks a lot for your reviews.



Are you able to check them in?


I don't have commit access, but my company and I have signed the copyright 
assignments regarding GCC with the FSF.


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.