[Bug preprocessor/47254] ICE: unspellable token PRAGMA_EOL with #pragma redefine_extname and -fdirectives-only

2013-05-17 Thread skannan at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47254

Shakthi Kannan skannan at redhat dot com changed:

   What|Removed |Added

 CC||skannan at redhat dot com

--- Comment #1 from Shakthi Kannan skannan at redhat dot com ---
Confirmed.

$  gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.7.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=release --disable-build-with-cxx
--disable-build-poststage1-with-cxx --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id --with-linker-hash-style=gnu
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin
--enable-initfini-array --enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib
--with-ppl --with-cloog --with-tune=generic --with-arch_32=i686
--build=x86_64-redhat-linux
Thread model: posix
gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC)


[Bug preprocessor/44317] ,##__VA_ARGS__ comma not eaten with -std=c++0x

2013-05-17 Thread skannan at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44317

Shakthi Kannan skannan at redhat dot com changed:

   What|Removed |Added

 CC||skannan at redhat dot com

--- Comment #1 from Shakthi Kannan skannan at redhat dot com ---
Confirmed.

Tested with cpp (GCC) 4.7.2 20121109.


[Bug preprocessor/44317] ,##__VA_ARGS__ comma not eaten with -std=c++0x

2013-05-17 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44317

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution|--- |INVALID

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Because the eating of comma is a GNU extension.  So it is enabled in GNU
compilation modes (the default, for C -std=gnu89, -std=gnu99, -std=gnu11, for
C++ -std=gnu++98, -std=gnu++03, -std=gnu++11, -std=gnu++0x, -std=gnu++1y) but
not in the more strict standard modes (-std=c{89,99,11},
-std=c++{98,03,11,0x,1y}).


[Bug fortran/57297] FAIL: gfortran.dg/select_type_4.f90 -O2 execution test

2013-05-17 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57297

--- Comment #6 from rguenther at suse dot de rguenther at suse dot de ---
On Thu, 16 May 2013, jamborm at gcc dot gnu.org wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57297
 
 --- Comment #4 from Martin Jambor jamborm at gcc dot gnu.org ---
 So far I have not attempted to reproduce this myself and so do not
 quite follow all the previous comments but...
 
 (In reply to Richard Biener from comment #2)
  
  build_ref_for_offset ends up creating a MEM_REF with different alias pointer
  type than the original (note that there may be multiple originals and
  AFAIK we don't make any attempt to merge them conservatively).
 
 ...it looks like the second arguments in 
 generate_subtree_copies (racc-first_child, racc-base, 0, 0, 0,
  gsi, false, false, loc);
 and
 generate_subtree_copies (lacc-first_child, lacc-base, 0, 0, 0,
  gsi, true, true, loc);
 
 should be the rhs and lhs respectively, rather than [rl]acc-base.
 Using rhs/lhs, the generated statements would have the same alias
 pointer type as the respective sides of the original statement.  Can
 you try that?  We should probably also change accordingly (almost all)
 other calls to generate_subtree_copies (this code generally predates
 generating MEM_REFs in build_ref_for_offset and this did not matter).

I'm not sure - but yes, that would make sure the re-materialization
uses the same alias set (does it? not sure exactly how
generate_subtree_copies works) as the load that follows.  Note that
the Fortran frontend is where the bug lies here.

I was thinking that the re-materialization for a whole-structure
access could use a new temporary and indeed use the alias-set of
the access we re-materialize it for for re-construction.

Given that if we have

  if (a)
a.b = 1; use alias-set 3
  else
a.b = 2; use alias-set 8

  y = a; aggregate use

we cannot re-materialize a before y = a in a way that restore
original runtime behavior (the if or the else path may be never
executed at runtime).  But given that accessing 'a' in the
aggregate copy with an alias-set that does not conflict with
the actual dynamic type of the memory location invokes undefined
behavior we can indeed make sure to re-materialize a before
y = a using stores with the alias-set of that access.

  Re-materializing the original variable will always be hard.  I believe that
  
  Index: gcc/tree-sra.c
  ===
  --- gcc/tree-sra.c  (revision 198420)
  +++ gcc/tree-sra.c  (working copy)
  @@ -3158,7 +3158,7 @@ sra_modify_assign (gimple *stmt, gimple_
   
 if (modify_this_stmt
 || gimple_has_volatile_ops (*stmt)
  -  || contains_vce_or_bfcref_p (rhs)
  +  || contains_bitfld_comp_ref_p (rhs)
 || contains_vce_or_bfcref_p (lhs))
   {
 if (access_has_children_p (racc))
  
  should work.
 
 Even though relaxing this condition might be a good idea to try to
 generate better code, I'd be against fixing bugs this way, if we can
 avoid it.  This should be the safe path capable of handling everything
 that the latter more sophisticated approaches might choke on.  It
 would make the already complex code more difficult to maintain and
 sooner or later we'd hit the same problem again (I think it should be
 possible use structures with a single field to create a testcase with
 a similar problem and modify_this_stmt set to true, for example).

Yeah, it wasn't meant as a fix for the issue at hand.  I remember
we have the VCE special-casing here because, contrary to specification,
VIEW_CONVERT_EXPRs may change the size of the access.

Richard.


[Bug target/57309] Spill code degrades vectorized loop for 437.leslie3d on PPC64

2013-05-17 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57309

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Can you isolate a testcase for the worst loop?


[Bug rtl-optimization/57304] [4.9 Regression] Revision 198896 segfaults building cpu2000 benchmark 176.gcc

2013-05-17 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57304

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0
Summary|Revision 198896 segfaults   |[4.9 Regression] Revision
   |building cpu2000 benchmark  |198896 segfaults building
   |176.gcc |cpu2000 benchmark 176.gcc


[Bug tree-optimization/57303] [4.7/4.8/4.9 Regression] struct miscompiled at -O1 and above

2013-05-17 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57303

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |4.7.4

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Mine.


[Bug rtl-optimization/57302] Should merge zeroing multiple consecutive memory locations

2013-05-17 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57302

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
There is a duplicate enhancement bugreport about this.

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


[Bug rtl-optimization/23684] Combine stores for non strict alignment targets

2013-05-17 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23684

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||msharov at users dot 
sourceforge.n
   ||et

--- Comment #10 from Richard Biener rguenth at gcc dot gnu.org ---
*** Bug 57302 has been marked as a duplicate of this bug. ***


[Bug rtl-optimization/57304] [4.9 Regression] Revision 198896 segfaults building cpu2000 benchmark 176.gcc

2013-05-17 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57304

--- Comment #3 from David Edelsohn dje at gcc dot gnu.org ---
The patch seems to fix the testsuite failures for me.


[Bug rtl-optimization/57304] [4.9 Regression] Revision 198896 segfaults building cpu2000 benchmark 176.gcc

2013-05-17 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57304

David Edelsohn dje at gcc dot gnu.org changed:

   What|Removed |Added

 Target|powerpc64-linux |powerpc*-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-17
   Host|powerpc64-linux |powerpc*-*-*
 Ever confirmed|0   |1
  Build|powerpc64-linux |powerpc*-*-*


[Bug rtl-optimization/57304] [4.9 Regression] Revision 198896 segfaults building cpu2000 benchmark 176.gcc

2013-05-17 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57304

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 CC||steven at gcc dot gnu.org

--- Comment #4 from Steven Bosscher steven at gcc dot gnu.org ---
(In reply to m...@gcc.gnu.org from comment #1)
 DF_REF_LOC has:
 
   DF_REF_CLASS(REF) == DF_REF_REGULAR ?
 
 in it, but
 
   DF_REF_REAL_LOC
 
 does not.  :-(

Then it should be changed to have that check also.


[Bug tree-optimization/57303] [4.7/4.8/4.9 Regression] struct miscompiled at -O1 and above

2013-05-17 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57303

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

  /* If use_stmt is or might be a nop assignment, e.g. for
 struct { ... } S a, b, *p; ...
 b = a; b = b;
 or
 b = a; b = *p; where p might be b,
 or
 *p = a; *p = b; where p might be b,
 or
 *p = *u; *p = *v; where p might be v, then USE_STMT
 acts as a use as well as definition, so store in STMT
 is not dead.  */
  if (stmt != use_stmt
   ref_maybe_used_by_stmt_p (use_stmt, gimple_assign_lhs (stmt)))
return;

for this very reason.


[Bug preprocessor/47254] ICE: unspellable token PRAGMA_EOL with #pragma redefine_extname and -fdirectives-only

2013-05-17 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47254

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

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-17
 CC||manu at gcc dot gnu.org
 Ever confirmed|0   |1
  Known to fail||4.7.2

--- Comment #2 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
(In reply to Shakthi Kannan from comment #1)
 Confirmed.

You can edit bug status if you login with your gcc.gnu.org account.

It is also broken on trunk gcc version 4.9.0 20130502 (experimental) [trunk
revision 198545] (GCC)

[Bug preprocessor/47254] ICE: unspellable token PRAGMA_EOL with #pragma redefine_extname and -fdirectives-only

2013-05-17 Thread skannan at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47254

--- Comment #3 from Shakthi Kannan skannan at redhat dot com ---
Sorry, I don't have a gcc.gnu.org account. Can you please change the status to
Confirmed?

Thanks!


[Bug preprocessor/44317] ,##__VA_ARGS__ comma not eaten with -std=c++0x

2013-05-17 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44317

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

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 CC||manu at gcc dot gnu.org
 Resolution|INVALID |---

--- Comment #3 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #2)
 Because the eating of comma is a GNU extension.  So it is enabled in GNU
 compilation modes (the default, for C -std=gnu89, -std=gnu99, -std=gnu11,
 for C++ -std=gnu++98, -std=gnu++03, -std=gnu++11, -std=gnu++0x,
 -std=gnu++1y) but not in the more strict standard modes (-std=c{89,99,11},
 -std=c++{98,03,11,0x,1y}).

But g++ does not warn with -Wpedantic, as it should. Instead it gives a very
strange message about C99 in C++:

test.cc:7:17: warning: ISO C99 requires rest arguments to be used [enabled by
default]
   ASSERT( false );
 ^

Clang++ does the right thing:

test.cc:2:39: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension
[-Wgnu]
#define ASSERT( cnd, ... ) SomeClass(),##__VA_ARGS__
  ^
test.cc:3:39: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension
[-Wgnu]
#define FAIL( ... )SomeClass(),##__VA_ARGS__
  ^

[Bug preprocessor/47254] ICE: unspellable token PRAGMA_EOL with #pragma redefine_extname and -fdirectives-only

2013-05-17 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47254

--- Comment #4 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
(In reply to Shakthi Kannan from comment #3)
 Sorry, I don't have a gcc.gnu.org account. Can you please change the status
 to Confirmed?

It is easy to get one and it is needed for commit access:

http://gcc.gnu.org/svnwrite.html#authenticated

so don't be shy! ;-)

NEW means confirmed, so done!

[Bug c++/56782] [4.8/4.9 Regression] Regression with empty pack expansions

2013-05-17 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56782

Dodji Seketeli dodji at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Dodji Seketeli dodji at gcc dot gnu.org ---
This has been committed to trunk and 4.8.


[Bug target/57310] New: [4.7/4.8/4.9 Regression] segfault with -O2 or higher on x86_64-linux-gnu

2013-05-17 Thread doko at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57310

Bug ID: 57310
   Summary: [4.7/4.8/4.9 Regression] segfault with -O2 or higher
on x86_64-linux-gnu
   Product: gcc
   Version: 4.7.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: doko at gcc dot gnu.org

seen with 4.7, 4.8 and trunk on x86_64-linux-gnu, works on i585-linux-gnu, and
arm-linux-gnueabi*, works with 4.6. seen with both libffi 3.0.10 and 3.0.13.

$ gcc-4.8 -O2 ffi-test.c -lffi  ./a.out 
Segmentation fault
$ gcc-4.8 -O1 ffi-test.c -lffi  ./a.out 
(ok)
$ gcc-4.8 -O2 -fno-align-functions -fno-align-jumps -fno-align-labels
-fno-align-loops -fno-caller-saves -fno-crossjumping -fno-cse-follow-jumps
-fno-devirtualize -fno-expensive-optimizations -fno-gcse
-fno-hoist-adjacent-loads -fno-inline-small-functions -fno-ipa-cp -fno-ipa-sra
-fno-optimize-register-move -fno-optimize-sibling-calls -fno-optimize-strlen
-fno-peephole2 -fno-regmove -fno-reorder-blocks -fno-reorder-functions
-fno-rerun-cse-after-loop -fno-schedule-insns2 -fno-strict-aliasing
-fno-thread-jumps -fno-tree-builtin-call-dce -fno-tree-pre
-fno-tree-switch-conversion -fno-tree-tail-merge -fno-tree-vrp ffi-test.c -lffi
 ./a.out 
Segmentation fault
$ gcc-4.8 -m32 -O2 ffi-test.c -lffi  ./a.out
(ok)

#include ffi.h

extern void abort (void);

int myfn(const char *s)
{
  return __builtin_strlen(s);
}

int main()
{
  ffi_cif cif;
  ffi_type *args[1];
  void *values[1];
  char *s;
  int rc;

  /* Initialize the argument info vectors */
  args[0] = ffi_type_pointer;
  values[0] = s;

  /* Initialize the cif */
  if (ffi_prep_cif(cif, FFI_DEFAULT_ABI, 1, ffi_type_sint, args) == FFI_OK)
{
  s = Hello World!;
  ffi_call(cif, FFI_FN(myfn), rc, values);
  /* rc now holds the result of the call to puts */
  if (rc != 12)
abort();

  /* values holds a pointer to the function's arg, so to
 call puts() again all we need to do is change the
 value of s */
  s = This is cool!;
  ffi_call(cif, FFI_FN(myfn), rc, values);
  if (rc != 13)
abort();
}

  return 0;
}


[Bug rtl-optimization/23684] Combine stores for non strict alignment targets

2013-05-17 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23684

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org ---
This is related to PR22141 .  But it caused performance regressions on ppc,
which is why it hasn't been installed.  If there are ideas how to tune that, I
can try to ressurrect the patch.


[Bug c++/57311] New: Conversion operator can be overloaded with itself by using typedef

2013-05-17 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57311

Bug ID: 57311
   Summary: Conversion operator can be overloaded with itself by
using typedef
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: redi at gcc dot gnu.org

This should be rejected:


typedef int Int;

templateclass T, class U struct is_same   { enum { value = 0 }; };
templateclass T  struct is_sameT, T { enum { value = 1 }; };

struct X
{
operator int() const { return 0; }
operator Int() const { return 0; }
};

static_assert( is_sameInt, int::value, Int is int );


[Bug preprocessor/51259] no escape on control characters on linemarker lines

2013-05-17 Thread skannan at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51259

Shakthi Kannan skannan at redhat dot com changed:

   What|Removed |Added

 CC||skannan at redhat dot com

--- Comment #1 from Shakthi Kannan skannan at redhat dot com ---
Opening the .c file in vim, or Emacs shows the control characters. Doing a
hexdump on the output of 'gcc -E' does show the octal value in the output
('001'). For example:

$ gcc -E inc.c  gcc.e

$ hexdump -c gcc.e 
000   #   1  i   n   c   .   c \n   #   1
010 c   o   m   m   a   n   d   -   l   i   n   e  
020  \n   #   1  i   n   c   .   c \n   #   1
030  a   a 001   b   b   .   h  1  \n   i   n   t
040   m   a   i   n   (   )   {   }  \n   #   1
050  i   n   c   .   c  2  \n
05a


[Bug c++/57311] Conversion operator can be overloaded with itself by using typedef

2013-05-17 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57311

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
If the definitions are not inline G++ spots the problems:

typedef int Int;

struct X
{
operator int() const;
operator Int() const;
};

X::operator int() const { return 0; }
X::operator Int() const { return 0; }



x.cc:10:1: error: redefinition of 'X::operator Int() const'
 X::operator Int() const { return 0; }
 ^
x.cc:9:1: error: 'X::operator int() const' previously defined here
 X::operator int() const { return 0; }
 ^


[Bug target/57310] [4.7/4.8/4.9 Regression] segfault with -O2 or higher on x86_64-linux-gnu

2013-05-17 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57310

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-17
   Target Milestone|--- |4.7.4
 Ever confirmed|0   |1

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


[Bug preprocessor/51776] fixincludes hacks around a C++ deficiency

2013-05-17 Thread skannan at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51776

Shakthi Kannan skannan at redhat dot com changed:

   What|Removed |Added

 CC||skannan at redhat dot com

--- Comment #4 from Shakthi Kannan skannan at redhat dot com ---
The depends bug 53528 Support C++11 generalized attributes has been closed,
and applied to trunk (4.8).


[Bug c++/57312] New: missing 'template' keyword not diagnosed

2013-05-17 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57312

Bug ID: 57312
   Summary: missing 'template' keyword not diagnosed
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: redi at gcc dot gnu.org

This should be rejected:

templateclass T
struct A {
templateclass U
void send(int i) { }
};

templateclass T
struct B {
templateclass U
void send(int i) { a.sendU(i); }
  // ^ missing template

AT a;
};

int main()
{
Bint b;
b.sendchar(0);
}


Clang rejects this.


[Bug target/57293] [4.8/4.9 Regression] not needed frame pointers on IA-32 (performance regression?)

2013-05-17 Thread fanael4 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57293

Fanael fanael4 at gmail dot com changed:

   What|Removed |Added

 Target|i686-w64-mingw32|i?86-*-*

--- Comment #3 from Fanael fanael4 at gmail dot com ---
Reproduced on x86_64-unknown-linux-gnu (*) with -m32, thus not related to MinGW
itself.

(*) $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /build/gcc-multilib/src/gcc-4.8-20130502/configure
--prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch
--enable-gnu-unique-object --enable-linker-build-id --enable-cloog-backend=isl
--disable-cloog-version-check --enable-lto --enable-gold --enable-ld=default
--enable-plugin --with-plugin-ld=ld.gold --with-linker-hash-style=gnu
--disable-install-libiberty --enable-multilib --disable-libssp --disable-werror
--enable-checking=release
Thread model: posix
gcc version 4.8.0 20130502 (prerelease) (GCC)


[Bug preprocessor/49928] Only workaround for -Wundef is defined(Macro) Macro, but it is undefined behavior?

2013-05-17 Thread skannan at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49928

Shakthi Kannan skannan at redhat dot com changed:

   What|Removed |Added

 CC||skannan at redhat dot com

--- Comment #1 from Shakthi Kannan skannan at redhat dot com ---
Confirmed.

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.7.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=release --disable-build-with-cxx
--disable-build-poststage1-with-cxx --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id --with-linker-hash-style=gnu
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin
--enable-initfini-array --enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib
--with-ppl --with-cloog --with-tune=generic --with-arch_32=i686
--build=x86_64-redhat-linux
Thread model: posix
gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC)


[Bug c++/57312] missing 'template' keyword not diagnosed

2013-05-17 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57312

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
Variants of the same issue, really.

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


[Bug c++/11814] Code with missing template keyword wrongly accepted

2013-05-17 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11814

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||redi at gcc dot gnu.org

--- Comment #14 from Paolo Carlini paolo.carlini at oracle dot com ---
*** Bug 57312 has been marked as a duplicate of this bug. ***


[Bug c++/51908] [C++11] ICE in cp_parser_abort_tentative_parse with decltype and variable template arguments

2013-05-17 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51908

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-17
 Ever confirmed|0   |1


[Bug c++/57312] missing 'template' keyword not diagnosed

2013-05-17 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57312

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Thanks, Paolo, I thought there was an existing PR but failed to find it.


[Bug regression/57313] New: [4.9 Regression]: gcc.dg/binop-xor3.c scan-tree-dump-times

2013-05-17 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57313

Bug ID: 57313
   Summary: [4.9 Regression]: gcc.dg/binop-xor3.c
scan-tree-dump-times
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: regression
  Assignee: unassigned at gcc dot gnu.org
  Reporter: hp at gcc dot gnu.org
CC: glisse at gcc dot gnu.org
  Host: x86_64-unknown-linux-gnu
Target: cris-axis-elf

Created attachment 30139
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30139action=edit
binop-xor3.c.165t.optimized

This test previously passed, now it fails.
A patch in the revision range (last_known_working:first_known_failing)
198890:198899
exposed or caused this regression.  Since then it fails as follows:

Running /tmp/hpautotest-gcc0/gcc/gcc/testsuite/gcc.dg/dg.exp ...
FAIL: gcc.dg/binop-xor3.c scan-tree-dump-times optimized \\^ 1

The files binop-xor3.s and binop-xor3.c.165t.optimized are attached.

Author of the most suspect patch (having touched the actual test-case and
related code) in revision range CC:ed.

Apparently, cris-elf is just one of many targets for which this test now fails;
I guess half of them regressed but x86_64 and i686 (and ia64, sh4, spu), as
seen on gcc-testresults@ since then: s390-ibm-linux-gnu
http://gcc.gnu.org/ml/gcc-testresults/2013-05/msg01643.html,
m68k-unknown-linux-gnu
http://gcc.gnu.org/ml/gcc-testresults/2013-05/msg01593.html,
powerpc-ibm-aix7.1.0.0
http://gcc.gnu.org/ml/gcc-testresults/2013-05/msg01567.html,
powerpc64-unknown-linux-gnu
http://gcc.gnu.org/ml/gcc-testresults/2013-05/msg01709.html.


[Bug regression/57313] [4.9 Regression]: gcc.dg/binop-xor3.c scan-tree-dump-times

2013-05-17 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57313

--- Comment #1 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
Created attachment 30140
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30140action=edit
binop-xor3.s


[Bug target/57310] [4.7/4.8/4.9 Regression] segfault with -O2 or higher on x86_64-linux-gnu

2013-05-17 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57310

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 ---
Doesn't look like any kind of regression to me, seems on most architectures
libffi behaved this way always.  For the return value from ffi_call, most
architectures sign or zero extend the sub-word values into word type (32-bit
for 32-bit arches, 64-bit for 64-bit arches) and store the word.  Looked as far
back as libffi in gcc 3.2 and 3.3 for this.

So your testcase is invalid in that regard, as you are passing rc, where rc is
int, not long.  But there are testcases doing this in the libffi testsuite it
seems, while others for ffi_type_sint and similar properly use address of
ffi_arg value.


[Bug regression/57313] [4.9 Regression]: gcc.dg/binop-xor3.c scan-tree-dump-times

2013-05-17 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57313

--- Comment #2 from Marc Glisse glisse at gcc dot gnu.org ---
It was xfailed before. It started passing as a side effect of r198893 so I
removed the xfail, but apparently it now depends on the platform :-(

What do you get with -O -fdump-tree-original?


[Bug target/57309] Spill code degrades vectorized loop for 437.leslie3d on PPC64

2013-05-17 Thread wschmidt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57309

--- Comment #2 from Bill Schmidt wschmidt at gcc dot gnu.org ---
(In reply to Richard Biener from comment #1)
 Can you isolate a testcase for the worst loop?

Not yet.  It's one of these horrible gargantuan functions (leslie3d is one big
file and fluxi, fluxj, fluxk are all quite large functions) and the issue
appears to involve global register allocation, so it will be sensitive to
control flow changes.  Not an easy thing to attack with delta, either.

Peter is planning to look at this at some point, and I have a bunch of dump
files saved away to help with the analysis.  Not sure what else to do for now.


[Bug regression/57313] [4.9 Regression]: gcc.dg/binop-xor3.c scan-tree-dump-times

2013-05-17 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57313

--- Comment #3 from Marc Glisse glisse at gcc dot gnu.org ---
(In reply to Marc Glisse from comment #2)
 What do you get with -O -fdump-tree-original?

I tried, and the transformation doesn't happen at all (I was wondering if it
might be undone by another pass later).

See http://gcc.gnu.org/ml/gcc-patches/2013-05/msg00981.html for more
discussion.


[Bug tree-optimization/57051] Optimization regression in 4.8.0 from 4.7.2

2013-05-17 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57051

--- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Fri May 17 08:31:32 2013
New Revision: 199002

URL: http://gcc.gnu.org/viewcvs?rev=199002root=gccview=rev
Log:
PR tree-optimization/57051
* fold-const.c (const_binop) case VEC_LSHIFT_EXPR,
case VEC_RSHIFT_EXPR: Fix BYTES_BIG_ENDIAN handling.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c

Author: jakub
Date: Fri May 17 08:52:36 2013
New Revision: 199004

URL: http://gcc.gnu.org/viewcvs?rev=199004root=gccview=rev
Log:
PR tree-optimization/57051
* fold-const.c (const_binop) case VEC_LSHIFT_EXPR,
case VEC_RSHIFT_EXPR: Fix BYTES_BIG_ENDIAN handling.

Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/fold-const.c


[Bug c++/18126] sizeof compound-literal not parsed correctly

2013-05-17 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18126

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

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


[Bug rtl-optimization/57067] Missing control flow edges for setjmp/longjmp

2013-05-17 Thread gretay at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57067

gretay at gcc dot gnu.org changed:

   What|Removed |Added

 CC||gretay at gcc dot gnu.org

--- Comment #6 from gretay at gcc dot gnu.org ---
I tried the proposed patch (after fixing a typo: calls_setjmp / calls_stjmp).
It causes an ICE on the attached testcase (and some regressions):

$ /work/apr-builds/pr57067/install/bin/arm-none-eabi-gcc -O1 -mcpu=cortex-a15
pr57067.c -o pr57067.elf 
pr57067.c: In function 'main':
pr57067.c:18:7: warning: incompatible implicit declaration of built-in function
'malloc' [enabled by default]
   p = malloc (0x1000);
   ^
pr57067.c:22:7: warning: incompatible implicit declaration of built-in function
'printf' [enabled by default]
   printf (\nFAIL\n);
   ^
pr57067.c:23:7: warning: incompatible implicit declaration of built-in function
'exit' [enabled by default]
   exit (1);
   ^
pr57067.c:32:3: warning: incompatible implicit declaration of built-in function
'printf' [enabled by default]
   printf (\nPASS\n);
   ^
pr57067.c:34:1: error: in basic block 2:
 }
 ^
pr57067.c:34:1: error: flow control insn inside a basic block
(call_insn 8 7 9 2 (parallel [
(set (reg:SI 0 r0)
(call (mem:SI (symbol_ref:SI (malloc) [flags 0x41]
function_decl 0x7f0cc7362900 malloc) [0 __builtin_malloc S4 A32])
(const_int 0 [0])))
(use (const_int 0 [0]))
(clobber (reg:SI 14 lr))
]) pr57067.c:18 -1
 (expr_list:REG_EH_REGION (const_int 0 [0])
(nil))
(expr_list:REG_CFA_WINDOW_SAVE (use (reg:SI 0 r0))
(nil)))
pr57067.c:34:1: internal compiler error: in rtl_verify_flow_info_1, at
cfgrtl.c:2321
0x7cc383 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/work/local-checkouts/gcc-fsf/gcc/rtl-error.c:109
0x52ed65 rtl_verify_flow_info_1
/work/local-checkouts/gcc-fsf/gcc/cfgrtl.c:2321
0x52efb2 rtl_verify_flow_info
/work/local-checkouts/gcc-fsf/gcc/cfgrtl.c:2345
0x51ef49 verify_flow_info()
/work/local-checkouts/gcc-fsf/gcc/cfghooks.c:258
0xc02464 try_optimize_cfg
/work/local-checkouts/gcc-fsf/gcc/cfgcleanup.c:2812
0xc02464 cleanup_cfg(int)
/work/local-checkouts/gcc-fsf/gcc/cfgcleanup.c:2974
0x51c7dd gimple_expand_cfg
/work/local-checkouts/gcc-fsf/gcc/cfgexpand.c:4781


[Bug fortran/57297] FAIL: gfortran.dg/select_type_4.f90 -O2 execution test

2013-05-17 Thread gretay at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57297

--- Comment #7 from gretay at gcc dot gnu.org ---
(In reply to Mikael Morin from comment #5)
 Created attachment 30138 [details]
 frontend patch, second try
 
 This variant reduces the amount of VIEW_CONVERT_EXPR, which should make the
 code less confusing downstream.

This patch fixes the failure in this test, but causes ICE in some fortran tests
on qemu for arm-none-eabi. For example:

FAIL: gfortran.dg/auto_dealloc_2.f90  -O  (internal compiler error)

Executing on host:
/work/apr-builds/pr57297/fortran-fix2/arm-none-eabi/gcc2/gcc/testsuite/gfortran1/../../gfortran
-B/work/apr-builds/pr57297/fortran-fix2/arm-none-eabi/gcc2/gcc/testsuite/gfortran1/../../
-B/work/apr-builds/pr57297fortran-fix2/arm-none-eabi/gcc2/arm-none-eabi/./libgfortran/
/work/local-checkouts/gcc-git/gcc/testsuite/gfortran.dg/auto_dealloc_2.f90 
-fno-diagnostics-show-caret   -O  -fdump-tree-original -S -specs=rdimon.specs
-Wa,-mno-warn-deprecated-o auto_dealloc_2.s(timeout = 60)
/work/local-checkouts/gcc-git/gcc/testsuite/gfortran.dg/auto_dealloc_2.f90: In
function 'init':
/work/local-checkouts/gcc-git/gcc/testsuite/gfortran.dgauto_dealloc_2.f90:21:0:
internal compiler error: Segmentation fault
0x886585 crash_signal
/work/local-checkouts/gcc-git/gcc/toplev.c:332
0x4c1b2e structure_alloc_comps
/work/local-checkouts/gcc-git/gcc/fortran/trans-array.c:7444
0x4df6e5 init_intent_out_dt
/work/local-checkouts/gcc-git/gcc/fortran/trans-decl.c:3519
0x4df6e5 gfc_trans_deferred_vars(gfc_symbol*, gfc_wrapped_block*)
/work/local-checkouts/gcc-git/gcc/fortran/trans-decl.c:3631
0x4e2c7e gfc_generate_function_code(gfc_namespace*)
/work/local-checkouts/gcc-git/gcc/fortran/trans-decl.c:5506
0x4e2ef7 gfc_generate_contained_functions
/work/local-checkouts/gcc-git/gcc/fortran/trans-decl.c:4576
0x4e2ef7 gfc_generate_function_code(gfc_namespace*)
/work/local-checkouts/gcc-git/gcc/fortran/trans-decl.c:5379
0x476172 translate_all_program_units
/work/local-checkouts/gcc-git/gcc/fortran/parse.c:4469
0x476172 gfc_parse_file()
/work/local-checkouts/gcc-git/gcc/fortran/parse.c:4666
0x4b48a5 gfc_be_parse_file
/work/local-checkouts/gcc-git/gcc/fortran/f95-lang.c:189


[Bug c++/57314] New: [SFINAE] GCC istantiates default-arguments for member-template-functions of classtemplates bevore allowed

2013-05-17 Thread florian.we...@sfz-bw.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57314

Bug ID: 57314
   Summary: [SFINAE] GCC istantiates default-arguments for
member-template-functions of classtemplates bevore
allowed
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: florian.we...@sfz-bw.de

GCC rejects the following code:

#include type_traits

templatebool bar struct foo{
templatetypename T, typename = typename std::enable_ifbar::type
void fun(T){}
};

int main(){
foofalse var{};
}

The error claims: “error: no type named 'type' in 'struct std::enable_iffalse,
void”. Which is certainly true but according to my reading of the standard
perfectly OK, because the default-arguments of templates must not be
instantiated before usage:

Section 14.7.1:
“...The implicit instantiation of a class template specialization causes the
implicit instantiation of the declarations, but not of the definitions or
default arguments, of the class member functions, member classes, scoped member
enumerations, static data members and member templates;...“

[Bug tree-optimization/57315] New: LTO and/or vectorizer performance regression on salsa20 core, 4.7-4.8

2013-05-17 Thread zackw at panix dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57315

Bug ID: 57315
   Summary: LTO and/or vectorizer performance regression on
salsa20 core, 4.7-4.8
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: zackw at panix dot com

I'm seeing a significant performance regression from 4.7 to 4.8 (targeting
x86-64) on the salsa20 core function (this is a stream cipher).  Repro
instructions:

$ git clone git://github.com/zackw/rngstats.git
# ...

$ make -s cipher-test CC=gcc-4.7  ./cipher-test /dev/null  ./cipher-test
KAT:   aes128... ok
KAT:   aes256... ok
KAT: arc4... ok
KAT:  isaac64... ok
KAT:  salsa20_128... ok
KAT:  salsa20_256... ok
TIME:  aes128... 2000 keys,   3.47834s -  574.987 keys/s
TIME:  aes256... 2000 keys,   3.62452s -  551.797 keys/s
TIME:arc4... 2000 keys,   2.21746s -  901.933 keys/s
TIME: isaac64... 2000 keys,   2.03467s -  982.962 keys/s
TIME: salsa20_128... 2000 keys,   2.31960s -  862.217 keys/s
TIME: salsa20_256... 2000 keys,   2.31932s -  862.320 keys/s

$ make -s clean cipher-test CC=gcc-4.8  ./cipher-test /dev/null 
./cipher-test
KAT:   aes128... ok
KAT:   aes256... ok
KAT: arc4... ok
KAT:  isaac64... ok
KAT:  salsa20_128... ok
KAT:  salsa20_256... ok
TIME:  aes128... 2000 keys,   2.49224s -  802.491 keys/s
TIME:  aes256... 2000 keys,   3.62372s -  551.919 keys/s
TIME:arc4... 2000 keys,   2.22794s -  897.689 keys/s
TIME: isaac64... 2000 keys,   2.05087s -  975.194 keys/s
TIME: salsa20_128... 2000 keys,   3.53085s -  566.436 keys/s
TIME: salsa20_256... 2000 keys,   2.53003s -  790.505 keys/s

The regression shows in the last two TIME: lines for each build.  The relevant
code is probably in ciphers/salsa20.c, or else in worker.c.

Note that there are other programs in this repository, and they require unusual
libraries to build.  I recommend you do not attempt a make all, and if you
get errors, try commenting out the CFLAGS.mpi and LIBS.mpi lines in the
Makefile.


[Bug testsuite/57313] [4.9 Regression]: gcc.dg/binop-xor3.c scan-tree-dump-times

2013-05-17 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57313

Marc Glisse glisse at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Marc Glisse glisse at gcc dot gnu.org ---
r199020 | glisse | 2013-05-17 17:31:02 +0200 (Fri, 17 May 2013) | 6 lines

2013-05-17  Marc Glisse  marc.gli...@inria.fr

PR testsuite/57313
* gcc.dg/binop-xor3.c: Restrict to platforms known to work (x86).


[Bug target/49146] segv from libgcc_s when raising an exception, or unwinding stack with backtrace with ms_abi

2013-05-17 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49146

Richard Henderson rth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.8.2

--- Comment #8 from Richard Henderson rth at gcc dot gnu.org ---
http://gcc.gnu.org/ml/gcc-patches/2013-05/msg01001.html

Fixed for mainline; just missed the 4.8.1 cutoff.


[Bug rtl-optimization/57304] [4.9 Regression] Revision 198896 segfaults building cpu2000 benchmark 176.gcc

2013-05-17 Thread pthaugen at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57304

--- Comment #5 from Pat Haugen pthaugen at gcc dot gnu.org ---
The patch fixes the benchmark failure as well.


[Bug sanitizer/57316] New: [4.8 regresion] build failure in libsanitizer

2013-05-17 Thread PHHargrove at lbl dot gov
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57316

Bug ID: 57316
   Summary: [4.8 regresion] build failure in libsanitizer
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: sanitizer
  Assignee: unassigned at gcc dot gnu.org
  Reporter: PHHargrove at lbl dot gov
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

On the same system where I reported bug 55989, I am now experiencing a build
failure in libsanitizer in the released 4.8.0.  As with that earlier bug,
libsanitizer is trying to use something low-level from Linux that did not exist
in older kernel versions.  In this case the exit_group systemcall.

I believe a colleague has seen the same problem in 4.8.1 snapshots.

-Paul

libtool: compile:  /home/pcp1/phargrov/data1/GCC/gcc-4.8.0/BLD/./gcc/xgcc
-shared-libgcc -B/home/pcp1/phargrov/data1/GCC/gcc-4.8.0/BLD/./gcc -nostdinc++
-L/home/pcp1/phargrov/data1/GCC/gcc-4.8.0/BLD/i686-pc-linux-gnu/libstdc++-v3/src
-L/home/pcp1/phargrov/data1/GCC/gcc-4.8.0/BLD/i686-pc-linux-gnu/libstdc++-v3/src/.libs
-B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/
-isystem /usr/local/i686-pc-linux-gnu/include -isystem
/usr/local/i686-pc-linux-gnu/sys-include -D_GNU_SOURCE -D_DEBUG
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I.
-I../../../../libsanitizer/sanitizer_common -I ../../../../libsanitizer/include
-Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC
-fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables
-fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include
-I../../libstdc++-v3/include/i686-pc-linux-gnu
-I../../../../libsanitizer/../libstdc++-v3/libsupc++ -g -O2 -D_GNU_SOURCE -MT
sanitizer_linux.lo -MD -MP -MF .deps/sanitizer_linux.Tpo -c
../../../../libsanitizer/sanitizer_common/sanitizer_linux.cc  -fPIC -DPIC -o
.libs/sanitizer_linux.o
../../../../libsanitizer/sanitizer_common/sanitizer_linux.cc: In function 'void
__sanitizer::internal__exit(int)':
../../../../libsanitizer/sanitizer_common/sanitizer_linux.cc:142:11: error:
'__NR_exit_group' was not declared in this scope
   syscall(__NR_exit_group, exitcode);
   ^
make[4]: *** [sanitizer_linux.lo] Error 1


[Bug tree-optimization/57294] [4.9 Regression] ice in remove_described_reference

2013-05-17 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57294

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #5 from Martin Jambor jamborm at gcc dot gnu.org ---
Actually, the interactions are a bit more convoluted, what happens is
the following:

  1. Early passes are run on function baz, references are computed for
 that function.

  2. Early passes are run on function bar.  IPA-SRA triggers and
 changes the call statement in function baz.  This means that the
 recorded pointer to the statement in the symbol table is stale.

  3. During inlining we ask ipa_find_reference to find the reference
 corresponding to the correct statement and of course do not get
 anything, which triggers an assert.

I've confirmed this is the case by putting a call to
cgraph_rebuild_references into convert_callers_for_node and it fixes
the issue.  But of course that could be quite expensive.

I'll revisit my efforts to remove IPA-SRA completely, this is another
piece of motivation but I am not entirely sure what to do about this
in the short term.  Probably update references in IPA-SRA.


[Bug c++/57317] New: [4.8/4.9] Regression bogus and unsuppressable warning: 'YYY' has a base 'ZZZ' whose type uses the anonymous namespace

2013-05-17 Thread ppluzhnikov at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57317

Bug ID: 57317
   Summary: [4.8/4.9] Regression bogus and unsuppressable warning:
'YYY' has a base 'ZZZ' whose type uses the anonymous
namespace
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ppluzhnikov at google dot com

Google reference: b/9004062

Quite similar, but not identical to PR 56641.

Test case:

// --- cut ---
# 1 t.h
template  typename T  struct integral_c {
  static const T value = 0;
};
struct is_reference:integral_c  bool  { };
template  class  struct is_function_ptr_helper { };
template  bool  struct is_function_chooser;

template  struct is_function_chooser 0 
{
  template  typename T  struct result_:is_function_ptr_helper  T *  { };
};

template  typename T  struct is_function_impl:is_function_chooser 
  is_reference::value ::result_  T  { };

#5 t.cc
namespace
{
  class NonCloneable;
  void fn1 ()
  {
is_function_impl  NonCloneable  i;
  }
}
// --- cut ---


Using current (r199023) trunk:

g++  -c t.ii 
t.h: In instantiation of 'struct
is_function_chooserfalse::result_{anonymous}::NonCloneable':
t.h:13:32:   required from 'struct is_function_impl{anonymous}::NonCloneable'
t.cc:10:39:   required from here
t.h:10:34: warning:
'is_function_chooserfalse::result_{anonymous}::NonCloneable' has a base
'is_function_ptr_helper{anonymous}::NonCloneable*' whose type uses the
anonymous namespace [enabled by default]



Richard Smiths says:

  I think GCC is upset that a type defined outside of the main source file
  has a template argument that has internal linkage.

  In principle, that's a valuable diagnostic: it's trying to tell you that
  every time you include that header, you're going to get a different type,
  and you're likely to have an ODR diagnostic.

  However, in this case, it's a false positive, because this happened
  while instantiating a template from the main source file (with a type
  defined in the main source file, no less).

In addition, this warning isn't suppressable via -Wno-... parameter.


[Bug c++/57317] [4.8/4.9] Regression bogus and unsuppressable warning: 'YYY' has a base 'ZZZ' whose type uses the anonymous namespace

2013-05-17 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57317

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
Irrespective of the primary issue, in general giving names to warnings is a
good idea: what about other compilers?


[Bug target/45359] poor -march=native choices for VIA C7 Esther processors

2013-05-17 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45359

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2013-05/msg00941.htm
   ||l
 Resolution|--- |FIXED
   Target Milestone|--- |4.7.4

--- Comment #7 from Uroš Bizjak ubizjak at gmail dot com ---
Implemented for 4.7.4, 4.8.1 and mainline by:

Author: uros
Date: Thu May 16 19:53:36 2013
New Revision: 198987

URL: http://gcc.gnu.org/viewcvs?rev=198987root=gccview=rev
Log:
PR target/45359
PR target/46396
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
VIA/Centaur processors and determine their cache parameters
using detect_caches_amd.


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

Author: uros
Date: Thu May 16 21:41:26 2013
New Revision: 198989

URL: http://gcc.gnu.org/viewcvs?rev=198989root=gccview=rev
Log:
* config/i386/driver-i386.c (host_detect_local_cpu): Determine
cache parameters using detect_caches_amd also for CYRIX,
NSC and TM2 signatures.


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

Author: uros
Date: Fri May 17 15:06:36 2013
New Revision: 199017

URL: http://gcc.gnu.org/viewcvs?rev=199017root=gccview=rev
Log:
Backport from mainline
2013-05-16  Uros Bizjak  ubiz...@gmail.com

* config/i386/driver-i386.c (host_detect_local_cpu): Determine
cache parameters using detect_caches_amd also for CYRIX,
NSC and TM2 signatures.

2013-05-16  Uros Bizjak  ubiz...@gmail.com
Dzianis Kahanovich  maha...@eu.by

PR target/45359
PR target/46396
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
VIA/Centaur processors and determine their cache parameters
using detect_caches_amd.

2013-05-15  Uros Bizjak  ubiz...@gmail.com

* config/i386/i386.c (ix86_option_override_internal): Update
processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags.  Add
PTA_POPCNT to corei7 entry. Do not enable SSE prefetch on
non-SSE 3dNow! targets.  Enable TARGET_PRFCHW for TARGET_3DNOW targets.
* config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW instead
of TARGET_3DNOW.
(*prefetch_3dnow): Enable for TARGET_PRFCHW only.


Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/config/i386/driver-i386.c
branches/gcc-4_8-branch/gcc/config/i386/i386.c
branches/gcc-4_8-branch/gcc/config/i386/i386.md

Author: uros
Date: Fri May 17 17:50:11 2013
New Revision: 199026

URL: http://gcc.gnu.org/viewcvs?rev=199026root=gccview=rev
Log:
Backport from mainline
2013-05-16  Uros Bizjak  ubiz...@gmail.com

* config/i386/driver-i386.c (host_detect_local_cpu): Determine
cache parameters using detect_caches_amd also for CYRIX,
NSC and TM2 signatures.

2013-05-16  Uros Bizjak  ubiz...@gmail.com
Dzianis Kahanovich  maha...@eu.by

PR target/45359
PR target/46396
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
VIA/Centaur processors and determine their cache parameters
using detect_caches_amd.

2013-05-15  Uros Bizjak  ubiz...@gmail.com

* config/i386/i386.c (ix86_option_override_internal): Add
PTA_POPCNT to corei7 entry.


Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config/i386/driver-i386.c
branches/gcc-4_7-branch/gcc/config/i386/i386.c

[Bug target/46396] gcc not detect caches for VIA CPUs

2013-05-17 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46396

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Target||x86
 Status|UNCONFIRMED |RESOLVED
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2013-05/msg00941.htm
   ||l
Version|unknown |4.5.1
 Resolution|--- |FIXED
   Target Milestone|--- |4.7.4

--- Comment #3 from Uroš Bizjak ubizjak at gmail dot com ---
Implemented for 4.7.4, 4.8.1 and mainline by:

Author: uros
Date: Thu May 16 19:53:36 2013
New Revision: 198987

URL: http://gcc.gnu.org/viewcvs?rev=198987root=gccview=rev
Log:
PR target/45359
PR target/46396
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
VIA/Centaur processors and determine their cache parameters
using detect_caches_amd.


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

Author: uros
Date: Thu May 16 21:41:26 2013
New Revision: 198989

URL: http://gcc.gnu.org/viewcvs?rev=198989root=gccview=rev
Log:
* config/i386/driver-i386.c (host_detect_local_cpu): Determine
cache parameters using detect_caches_amd also for CYRIX,
NSC and TM2 signatures.


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

Author: uros
Date: Fri May 17 15:06:36 2013
New Revision: 199017

URL: http://gcc.gnu.org/viewcvs?rev=199017root=gccview=rev
Log:
Backport from mainline
2013-05-16  Uros Bizjak  ubiz...@gmail.com

* config/i386/driver-i386.c (host_detect_local_cpu): Determine
cache parameters using detect_caches_amd also for CYRIX,
NSC and TM2 signatures.

2013-05-16  Uros Bizjak  ubiz...@gmail.com
Dzianis Kahanovich  maha...@eu.by

PR target/45359
PR target/46396
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
VIA/Centaur processors and determine their cache parameters
using detect_caches_amd.

2013-05-15  Uros Bizjak  ubiz...@gmail.com

* config/i386/i386.c (ix86_option_override_internal): Update
processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags.  Add
PTA_POPCNT to corei7 entry. Do not enable SSE prefetch on
non-SSE 3dNow! targets.  Enable TARGET_PRFCHW for TARGET_3DNOW targets.
* config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW instead
of TARGET_3DNOW.
(*prefetch_3dnow): Enable for TARGET_PRFCHW only.


Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/config/i386/driver-i386.c
branches/gcc-4_8-branch/gcc/config/i386/i386.c
branches/gcc-4_8-branch/gcc/config/i386/i386.md

Author: uros
Date: Fri May 17 17:50:11 2013
New Revision: 199026

URL: http://gcc.gnu.org/viewcvs?rev=199026root=gccview=rev
Log:
Backport from mainline
2013-05-16  Uros Bizjak  ubiz...@gmail.com

* config/i386/driver-i386.c (host_detect_local_cpu): Determine
cache parameters using detect_caches_amd also for CYRIX,
NSC and TM2 signatures.

2013-05-16  Uros Bizjak  ubiz...@gmail.com
Dzianis Kahanovich  maha...@eu.by

PR target/45359
PR target/46396
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
VIA/Centaur processors and determine their cache parameters
using detect_caches_amd.

2013-05-15  Uros Bizjak  ubiz...@gmail.com

* config/i386/i386.c (ix86_option_override_internal): Add
PTA_POPCNT to corei7 entry.


Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config/i386/driver-i386.c
branches/gcc-4_7-branch/gcc/config/i386/i386.c

[Bug rtl-optimization/57304] [4.9 Regression] Revision 198896 segfaults building cpu2000 benchmark 176.gcc

2013-05-17 Thread mrs at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57304

mrs at gcc dot gnu.org mrs at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from mrs at gcc dot gnu.org mrs at gcc dot gnu.org ---
Committed revision 199029.


[Bug tree-optimization/57318] New: optimizer takes several seconds on nested loops

2013-05-17 Thread dhazeghi at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57318

Bug ID: 57318
   Summary: optimizer takes several seconds on nested loops
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dhazeghi at yahoo dot com

Current gcc trunk takes 5 seconds to compile this testcase at -O2 or higher
optimization level on x86_64-linux-gnu (2.8GHZ Intel i7).  This was distilled
from larger program which appears to hang gcc, although I suspect it is
actually just extremely slow.

This behavior is not present in 4.8 and older versions.

$ gcc-trunk -v
gcc version 4.9.0 20130517 (experimental) [trunk revision 199006] (GCC) 
$ gcc-trunk -Os hang.c 
$ time gcc-4.8 -O2 hang.c 

real0m0.101s
user0m0.072s
sys0m0.016s
$ time gcc-trunk -O2 hang.c 

real0m5.289s
user0m5.232s
sys0m0.024s

---

struct S0
{
volatile int f0;
short f1;
} u;

int a, b;
static struct S0 v;

int main ()
{
for (a = 0; a = 9; a++)
{
for (b = 0; b = 9; b++)
for (u.f1 = 0; u.f1 = 9; u.f1++)
v.f0;
}
}


[Bug c++/57319] New: [4.8/4.9] Regression: bogus defaulted move assignment for ... calls a non-trivial move assignment operator for virtual base ...

2013-05-17 Thread ppluzhnikov at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57319

Bug ID: 57319
   Summary: [4.8/4.9] Regression: bogus defaulted move assignment
for ... calls a non-trivial move assignment operator
for virtual base ...
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ppluzhnikov at google dot com

Google reference: b/9004260


Test case:

class A { };
class B: virtual A { };
class C: virtual B { };

class D: C
{
   void operator= (D );
};


Using current trunk (@r199023):

g++ -c t.ii -std=c++11
t.ii:3:7: warning: defaulted move assignment for ‘C’ calls a non-trivial move
assignment operator for virtual base ‘B’ [-Wvirtual-move-assign]
 class C: virtual B { };
   ^

Richard Smith writes:

  The problem is that a defaulted move assignment for a class with two
  inheritance paths to a virtual base may move-assign that virtual base
  multiple times (and thus may lose state).

  However, this particular case *isn't* the problematic case, because
  (a) this sample code should not trigger the definition of C's move
  assignment operator, and
  (b) there is only one inheritance path from C to B, so it won't be
  move-assigned multiple times, and
  (c) the issue isn't with *non-trivial* move assignments, it's with
  *user-provided* move-assignments (for the virtual base or any of its
  subobjects), which B does not have.

  = This is a false positive.

[Bug tree-optimization/57318] optimizer takes several seconds on nested loops

2013-05-17 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57318

Marc Glisse glisse at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-17
 Ever confirmed|0   |1

--- Comment #1 from Marc Glisse glisse at gcc dot gnu.org ---
All the time is spent in sched2, but the first strange thing is cunroll going
wild at -O2 (1000 iterations unrolled...).


[Bug middle-end/57276] Waste work in cgraph_edge_brings_all_agg_vals_for_node()

2013-05-17 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57276

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Martin Jambor jamborm at gcc dot gnu.org ---
Author: jamborm
Date: Fri May 17 21:12:34 2013
New Revision: 199035

URL: http://gcc.gnu.org/viewcvs?rev=199035root=gccview=rev
Log:
2013-05-17  Po-Chun Chang  pcha...@cs.wisc.edu
Martin Jambor  mjam...@suse.cz

PR middle-end/57276
* ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Break when a
value that corresponds to the given aggval is found in values vector.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-cp.c


[Bug rtl-optimization/57320] New: Shrink-wrapping breaks graph dumping

2013-05-17 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57320

Bug ID: 57320
   Summary: Shrink-wrapping breaks graph dumping
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: steven at gcc dot gnu.org

Compiling gcc.target/i386/pad-10.c with:

$ ./xgcc -B. -O2 -fomit-frame-pointer -march=atom pad-10.c \
 -fdump-rtl-pro_and_epilogue-graph

gives:

pad-10.c: In function 'foo2':
pad-10.c:19:1: internal compiler error: in pre_and_rev_post_order_compute, at
cfganal.c:869
 }
 ^
0x61dbaa pre_and_rev_post_order_compute(int*, int*, bool)
../../trunk/gcc/cfganal.c:869
0xd28d21 draw_cfg_nodes_no_loops
../../trunk/gcc/graph.c:183
0xd28d21 draw_cfg_nodes
../../trunk/gcc/graph.c:265
0xd28d21 print_graph_cfg(char const*, function*)
../../trunk/gcc/graph.c:306


This happens because shrink-wrapping leaves unreachable blocks
in the CFG.  For a more detailed analysis see:
http://gcc.gnu.org/ml/gcc-patches/2013-05/msg01016.html


[Bug rtl-optimization/57320] Shrink-wrapping leaves unreachable blocks in the CFG

2013-05-17 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57320

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-17
 CC||bernds at gcc dot gnu.org
Summary|Shrink-wrapping breaks  |Shrink-wrapping leaves
   |graph dumping   |unreachable blocks in the
   ||CFG
 Ever confirmed|0   |1

--- Comment #1 from Steven Bosscher steven at gcc dot gnu.org ---
Adding Bernd to CC as author of the shrink-wrapping code


[Bug tree-optimization/57294] [4.9 Regression] ice in remove_described_reference

2013-05-17 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57294

--- Comment #6 from Jan Hubicka hubicka at ucw dot cz ---
 I've confirmed this is the case by putting a call to
 cgraph_rebuild_references into convert_callers_for_node and it fixes
 the issue.  But of course that could be quite expensive.

Hmm, it is bit ugly to keep not-up-to-date data around at first place.
But perhaps the whole tracking  should be simply disabled for early inlining?

Honza


[Bug tree-optimization/57289] [4.9 Regression] ICE during 454.calculix compilation with -O3 -flto

2013-05-17 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57289

--- Comment #3 from Martin Jambor jamborm at gcc dot gnu.org ---
The problem is that the controlled_uses in descriptors of parameters
of function prespooles is streamed incorrectly.


[Bug rtl-optimization/57321] New: static function call miscompiled at -Os and above

2013-05-17 Thread dhazeghi at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57321

Bug ID: 57321
   Summary: static function call miscompiled at -Os and above
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dhazeghi at yahoo dot com

The testcase below is miscompiled by gcc 4.8 on x86_64-linux, resulting in a
segfault when built with -Os or higher optimization levels.  This does not
occur with gcc 4.7 or current trunk.  The segfault appears on line 8, where p
is dereferenced and compared.

$ gcc-4.8 -v
gcc version 4.8.0 (GCC) 
$ gcc-4.8 -O1 small.c
$ ./a.out 
$ gcc-4.7 -Os small.c
$ ./a.out 
$ gcc-4.8 -Os small.c
$ ./a.out 
Segmentation fault (core dumped)



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

static int
bar(int *p)
{
if (*p == a)
{
int *i[7][1][9] = {{{ 0 }}};
int **j[1][1][1];
j[0][0][0] = i[0][0][0] ;
*b = p != c;
}
return 0;
}


void
foo(int p, int q)
{
int i = 0;
if (bar (i))
;
}

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


[Bug debug/57257] [4.9 Regression]: FAIL: gcc.dg/pr41345.c fails with -fcompare-debug failure (length)

2013-05-17 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57257

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #4 from Steven Bosscher steven at gcc dot gnu.org ---
I already ran into this before r197995 with sched1 enabled by
default for ix86.

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


[Bug debug/56950] compare-debug failure for gcc.dg/pr41345.c with fschedule-insns

2013-05-17 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56950

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ubizjak at gmail dot com

--- Comment #4 from Steven Bosscher steven at gcc dot gnu.org ---
*** Bug 57257 has been marked as a duplicate of this bug. ***


[Bug fortran/57071] Optimize (-1)**k to 1 - 2 * mod(K, 2)

2013-05-17 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57071

--- Comment #12 from Thomas Koenig tkoenig at gcc dot gnu.org ---
Created attachment 30141
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30141action=edit
Another patch that doesn't work...

I tried to follow the advice in comment#9, but I hit a wall
(again).

With the attached patch, I hit

foo.f90:1:0: error: SSA_NAME_DEF_STMT is wrong
 program main
 ^
Expected definition statement:
_16 = 1.0e+0;

Actual definition statement:
_16 = _24;

so I suspect I need PHI nodes here.

Is this the right approach in general?  Am I missing something
simple here?


[Bug fortran/57071] Optimize (-1)**k to 1 - 2 * mod(K, 2)

2013-05-17 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57071

--- Comment #13 from Thomas Koenig tkoenig at gcc dot gnu.org ---
Sorry, wrong PR for the comment.


[Bug middle-end/57073] __builtin_powif (-1.0, k) should be optimized to 1.0 - 2.0 * (K%2)

2013-05-17 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57073

--- Comment #10 from Thomas Koenig tkoenig at gcc dot gnu.org ---
Created attachment 30142
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30142action=edit
Another patch that doesn't work...

This time with the right PR...

I tried to follow the advice in comment#9, but I hit a wall
(again).

With the attached patch, I hit

foo.f90:1:0: error: SSA_NAME_DEF_STMT is wrong
 program main
 ^
Expected definition statement:
_16 = 1.0e+0;

Actual definition statement:
_16 = _24;

so I suspect I need PHI nodes here.

Is this the right approach in general?  Am I missing something
simple here?



[Bug c++/10207] Empty structure initialization fails under C++ (but works under C)

2013-05-17 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10207

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|gcc-bugs at gcc dot gnu.org,   |
   |vencain at comcast dot net |
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
   Target Milestone|--- |4.9.0

--- Comment #9 from Paolo Carlini paolo.carlini at oracle dot com ---
On it.


[Bug fortran/38312] Unexpected STATEMENT FUNCTION statement

2013-05-17 Thread bdavis at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38312

Bud Davis bdavis at gcc dot gnu.org changed:

   What|Removed |Added

 CC||bdavis at gcc dot gnu.org

--- Comment #7 from Bud Davis bdavis at gcc dot gnu.org ---
18 months since any comments were made...

If I had a vote, it would be close as a WONT FIX.

--bud