[Bug c++/48748] New: Undocumented type traits used in libstdc++-4.6

2011-04-24 Thread jyasskin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48748

   Summary: Undocumented type traits used in libstdc++-4.6
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: documentation
  Severity: minor
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: jyass...@gcc.gnu.org


At least __is_standard_layout(), __is_literal_type(), and __is_trivial() are
used in the libstdc++-4.6 implementation, but they're not documented on
http://gcc.gnu.org/onlinedocs/gcc-4.6.0/gcc/Type-Traits.html. They should be
added to the documentation.


[Bug c++/48749] New: internal compiler error: tree check: expected field_decl

2011-04-24 Thread miles at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48749

   Summary: internal compiler error: tree check: expected
field_decl
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mi...@gnu.org


Created attachment 24088
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24088
source code demonstrating bug

Compile the attached code with g++, and:

$ g++-snapshot -c ,barf.i.cc
,barf.i.cc: In member function 'virtual T CylinderMapTexT::eval(const
TexCoords) const':
,barf.i.cc:46:16: internal compiler error: tree check: expected field_decl,
have identifier_node in fixed_type_or_null, at cp/class.c:5885
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions.

$ g++-snapshot --version
g++ (Debian 20110419-1) 4.7.0 20110419 (experimental) [trunk revision 172699]
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Thanks,

-miles


[Bug c++/48748] Undocumented type traits used in libstdc++-4.6

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48748

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.04.24 09:20:55
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com
   Target Milestone|--- |4.6.1
 Ever Confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
09:20:55 UTC ---
On it.


[Bug other/48748] Undocumented type traits used in libstdc++-4.6

2011-04-24 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48748

--- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 
2011-04-24 09:42:19 UTC ---
Author: paolo
Date: Sun Apr 24 09:42:16 2011
New Revision: 172911

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=172911
Log:
2011-04-24  Paolo Carlini  paolo.carl...@oracle.com

PR other/48748
* doc/extend.texi (Type Traits): Document __is_standard_layout,
__is_literal_type, and __is_trivial; update throughout about
possibly cv-qualified void types.

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


[Bug other/48748] Undocumented type traits used in libstdc++-4.6

2011-04-24 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48748

--- Comment #3 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 
2011-04-24 09:43:32 UTC ---
Author: paolo
Date: Sun Apr 24 09:43:29 2011
New Revision: 172912

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=172912
Log:
2011-04-24  Paolo Carlini  paolo.carl...@oracle.com

PR other/48748
* doc/extend.texi (Type Traits): Document __is_standard_layout,
__is_literal_type, and __is_trivial; update throughout about
possibly cv-qualified void types.

Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/doc/extend.texi


[Bug other/48748] Undocumented type traits used in libstdc++-4.6

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48748

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
09:43:59 UTC ---
Done.


[Bug libstdc++/48750] New: for_each_template_random_access_ed has unbalanced new/delete[]

2011-04-24 Thread bugs at sehe dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750

   Summary: for_each_template_random_access_ed has unbalanced
new/delete[]
   Product: gcc
   Version: 4.4.4
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: b...@sehe.nl


thread_results is allocated using scalar new, yet deleted with array delete[]

Version of libs (ubuntu package): libstdc++6-4.4-dev through libstdc++6-4.6-dev
Version of compiler: g++ (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
Also with: g++ (Debian 4.5.2-8) 4.5.2

Snippets:
/usr/include/c++/4.4/parallel/par_loop.h:87
#   pragma omp single
{
num_threads = omp_get_num_threads();
thread_results = static_castResult*(
::operator new(num_threads * sizeof(Result)));
constructed = new bool[num_threads];
}

but line 127:

delete[] thread_results;

This is unbalanced, and leads to the expected valgrind errors. Attached is a
snippet (originally from
http://stackoverflow.com/questions/5769908/unexpected-segfault-with-gnu-parallelaccumulate)
that will segfault.

I witnessed the segfault went away when fixing the `delete[]` into `delete`.
However, I think it should be evaluated whether the optimized (uninitializing)
allocation of thread_results is safe to do (valgrind keeps reporting
uninitialized memory references even if the attached example doesn't segfault
anymore).

 

I'll attach the sources in 10 minutes due to time restriction and browser
flakiness


[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]

2011-04-24 Thread bugs at sehe dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750

--- Comment #1 from Seth Heeren bugs at sehe dot nl 2011-04-24 11:51:17 UTC 
---
Created attachment 24089
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24089
minimal example

Compiled with


g++ -g -O0 -fopenmp minimal.cpp  -o minimal -save-temps


[Bug c++/48751] New: Incorrect delete[] in c++/4.4/parallel/par_loop.h line 127

2011-04-24 Thread t.h.shorrock at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48751

   Summary: Incorrect delete[] in c++/4.4/parallel/par_loop.h line
127
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: t.h.shorr...@gmail.com


__gnu_parallel::accumulate gives a segfault when accumulating over 1000
elements (but not 999).

This was originally asked as a question on  StackOverflow -
http://stackoverflow.com/questions/5769908/unexpected-segfault-with-gnu-parallelaccumulate:

Sehe diagnosed the problem as a bug in c++/4.4/parallel/par_loop.h:87


#   pragma omp single
  {
num_threads = omp_get_num_threads();
thread_results = static_castResult*(
::operator new(num_threads * sizeof(Result)));
constructed = new bool[num_threads];
  }
But line 127 deletes it with

delete[] thread_results;

_Apparently, the construction of thread_results was optimized at one stage, but
the deletion statement was never updated to reflect this. The optimization
makes sense over just newing up the array (new Result[num_threads]) because it
avoids constructing the elements._

Fixing that to

delete thread_results;

removes the bug. You will want to report this to the gnu devs.


SYSTEM
Ubuntu 10-10 on AMD64 dual core.

TO RECREATE:



#include vector 
#include parallel/algorithm 
#include parallel/numeric 


class NaturalParameters
{
public:

  NaturalParameters()
: m_data(2) //defualt constructor
  {  }

  std::vectordouble::const_iterator
  begin() const
  {
return m_data.begin();
  }

  std::vectordouble::const_iterator
  end() const
  {
return m_data.begin();
  }

  NaturalParameters 
  operator+=(const NaturalParameters other)
  {
//do something - well actually ... nothing for the purposes of this bug
report.
return *this;
  }

private:
  std::vectordouble m_data;
};

inline
NaturalParameters
operator+(const NaturalParameters a, const NaturalParameters b)
{
  NaturalParameters tmp = a;
  return tmp+=b;
}  

int
main  (int ac, char **av)
{
  //This one succeeds
  for(size_t i=0;i1000;++i){
std::vectorNaturalParameters ChildrenNP(999);
NaturalParameters init;
NaturalParameters NP = __gnu_parallel::accumulate(ChildrenNP.begin(),
ChildrenNP.end(), init ); 
  }
  //This one fails with a segfault
  for(size_t i=0;i1000;++i){
std::vectorNaturalParameters ChildrenNP(1000);
NaturalParameters init;
NaturalParameters NP = __gnu_parallel::accumulate(ChildrenNP.begin(),
ChildrenNP.end(), init ); 
  }
}


Preprocessed file attached

COMMAND:

 g++ -v  gnu_parallel_bug.cpp -g -fopenmp -Wall -D_GLIBCXX_PARALLEL -save-temps
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.4.4-14ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.4 --enable-shared --enable-multiarch
--enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--disable-werror --with-arch-32=i686 --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.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) 
COLLECT_GCC_OPTIONS='-v' '-g' '-fopenmp' '-Wall' '-D_GLIBCXX_PARALLEL'
'-save-temps' '-shared-libgcc' '-mtune=generic' '-pthread'
 /usr/lib/gcc/x86_64-linux-gnu/4.4.5/cc1plus -E -quiet -v -D_GNU_SOURCE
-D_REENTRANT -D_GLIBCXX_PARALLEL gnu_parallel_bug.cpp -D_FORTIFY_SOURCE=2
-mtune=generic -Wall -fopenmp -g -fworking-directory -fpch-preprocess
-fstack-protector -o gnu_parallel_bug.ii
ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu
ignoring nonexistent directory
/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../x86_64-linux-gnu/include
ignoring nonexistent directory /usr/include/x86_64-linux-gnu
#include ... search starts here:
#include ... search starts here:
 /usr/include/c++/4.4
 /usr/include/c++/4.4/x86_64-linux-gnu
 /usr/include/c++/4.4/backward
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include
 /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include-fixed
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-g' '-fopenmp' '-Wall' '-D_GLIBCXX_PARALLEL'
'-save-temps' '-shared-libgcc' '-mtune=generic' '-pthread'
 /usr/lib/gcc/x86_64-linux-gnu/4.4.5/cc1plus -fpreprocessed gnu_parallel_bug.ii
-quiet -dumpbase gnu_parallel_bug.cpp -mtune=generic -auxbase gnu_parallel_bug
-g -Wall -version -fopenmp -fstack-protector -o gnu_parallel_bug.s
GNU C++ (Ubuntu/Linaro 4.4.4-14ubuntu5) version 4.4.5 (x86_64-linux-gnu)
compiled by GNU C version 4.4.5, 

[Bug c++/48751] Incorrect delete[] in c++/4.4/parallel/par_loop.h line 127

2011-04-24 Thread t.h.shorrock at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48751

--- Comment #1 from Tom t.h.shorrock at gmail dot com 2011-04-24 12:05:10 UTC 
---
Sehe - who found the bug in response to my question submitted the bug report
too, its here: 

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750

This is a repetition of this report.


[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
12:11:29 UTC ---
This has been fixed a lot of time ago: 4_5-branch, 4_6-branch and mainline are
all fine.


[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
   Last reconfirmed||2011.04.24 12:16:35
 Resolution|WORKSFORME  |
 Ever Confirmed|0   |1

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
12:16:35 UTC ---
Never mind, now I see.


[Bug c++/48751] Incorrect delete[] in c++/4.4/parallel/par_loop.h line 127

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48751

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
12:21:32 UTC ---
ok

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


[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||t.h.shorrock at gmail dot
   ||com

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
12:21:32 UTC ---
*** Bug 48751 has been marked as a duplicate of this bug. ***


[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||singler at kit dot edu

--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
12:26:17 UTC ---
Let's add Johannes in CC. Indeed, something is fishy here and yes I agree the
correct fix doesn't seem just using ::operator delete(__thread_results);


[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]

2011-04-24 Thread bugs at sehe dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750

--- Comment #6 from Seth Heeren bugs at sehe dot nl 2011-04-24 12:54:15 UTC 
---
That _is quick response. Thank you. I'll keep an eye on this one


[Bug c++/48749] [4.7 Regression] internal compiler error: tree check: expected field_decl

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48749

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

Summary|internal compiler error:|[4.7 Regression] internal
   |tree check: expected|compiler error: tree check:
   |field_decl  |expected field_decl

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
13:18:04 UTC ---
Looks like a regression in mainline.


[Bug c++/48749] [4.7 Regression] internal compiler error: tree check: expected field_decl

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48749

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.04.24 13:18:23
 Ever Confirmed|0   |1


[Bug middle-end/48752] New: [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466

2011-04-24 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752

   Summary: [4.7 Regression] ICE in evaulate_conditions_for_edge
at ipa-inline-analysis.c:466
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa2.0w-hp-hpux11.11
Target: hppa2.0w-hp-hpux11.11
 Build: hppa2.0w-hp-hpux11.11


/test/gnu/gcc/objdir/./gcc/xgcc -shared-libgcc -B/test/gnu/gcc/objdir/./gcc
-nos
tdinc++ -L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src
-L/test/gn
u/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src/.libs
-B/opt/gnu/gcc/gcc-4.7
/hppa2.0w-hp-hpux11.11/bin/ -B/opt/gnu/gcc/gcc-4.7/hppa2.0w-hp-hpux11.11/lib/
-i
system /opt/gnu/gcc/gcc-4.7/hppa2.0w-hp-hpux11.11/include -isystem
/opt/gnu/gcc/
gcc-4.7/hppa2.0w-hp-hpux11.11/sys-include-x c++-header -nostdinc++ -g -O2
-I
/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/hppa2.0w-hp-hpux
11.11 -I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include
-I/test/
gnu/gcc/gcc/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x
/test/gnu/gcc/gcc/libstdc
++-v3/include/precompiled/stdc++.h \
-o hppa2.0w-hp-hpux11.11/bits/stdc++.h.gch/O2ggnu++0x.gch
In file included from
/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/in
clude/unordered_set:46:0,
 from
/test/gnu/gcc/gcc/libstdc++-v3/include/precompiled/stdc++.
h:115:
/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/bits/unordered_s
et.h:398:1: internal compiler error: vector VEC(tree,base) index domain error,
i
n evaulate_conditions_for_edge at ipa-inline-analysis.c:466

-bash-3.2$ ./xgcc -B./ -v
Reading specs from ./specs
COLLECT_GCC=./xgcc
COLLECT_LTO_WRAPPER=./lto-wrapper
Target: hppa2.0w-hp-hpux11.11
Configured with: ../gcc/configure --with-gnu-as --with-as=/opt/gnu/bin/as
--enable-shared --with-local-prefix=/opt/gnu --prefix=/opt/gnu/gcc/gcc-4.7
--with-gmp=/opt/gnu/gcc/gcc-4.7 --enable-threads=posix --enable-debug=no
--disable-nls --without-cloog --without-ppl
--enable-languages=c,c++,objc,fortran,java,ada,obj-c++
Thread model: posix
gcc version 4.7.0 20110424 (experimental) [trunk revision 172909] (GCC) 

Revision 172860 was ok.


[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466

2011-04-24 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752

--- Comment #1 from dave at hiauly1 dot hia.nrc.ca 2011-04-24 13:49:30 UTC ---
Attached .ii file.

Dave


[Bug target/48288] [4.7 Regression] ld: Unsatisfied symbol __iordi3 in file /test/gnu/gcc/objdir/./gcc/libgcc_eh.a

2011-04-24 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48288

--- Comment #8 from John David Anglin danglin at gcc dot gnu.org 2011-04-24 
13:56:16 UTC ---
Author: danglin
Date: Sun Apr 24 13:56:13 2011
New Revision: 172917

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=172917
Log:
PR target/48288
* config/pa/predicates.md (ior_operand): Delete predicate.
(cint_ior_operand, reg_or_cint_ior_operand): New predicates.
* config/pa/pa.md (iordi3): Use reg_or_cint_ior_operand predicate in
expander.  Use cint_ior_operand in unnamed insn.
(iorsi3): Likewise.
* config/pa/pa-protos.h (ior_operand): Delete declarations.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/config/pa/pa-protos.h
branches/gcc-4_4-branch/gcc/config/pa/pa.md
branches/gcc-4_4-branch/gcc/config/pa/predicates.md


[Bug middle-end/48753] New: [4.7 Regression] FAIL: gcc.dg/tree-prof/val-prof-2.c

2011-04-24 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48753

   Summary: [4.7 Regression] FAIL: gcc.dg/tree-prof/val-prof-2.c
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com


On Linux/x86, revision 172872 gave

FAIL: gcc.dg/tree-prof/val-prof-2.c scan-tree-dump optimized n_[0-9]* \+
0x


Revision 172869 is OK.


[Bug middle-end/48753] [4.7 Regression] FAIL: gcc.dg/tree-prof/val-prof-2.c

2011-04-24 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48753

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

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org
   Target Milestone|--- |4.7.0

--- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2011-04-24 15:10:43 
UTC ---
It is caused by revision 172871:

http://gcc.gnu.org/ml/gcc-cvs/2011-04/msg01067.html


[Bug target/48754] New: FAIL: gcc.dg/binop-xor(1|3).c scan-tree-dump-times optimized bb[^]* *

2011-04-24 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48754

   Summary: FAIL: gcc.dg/binop-xor(1|3).c scan-tree-dump-times
optimized bb[^]* *
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: domi...@lps.ens.fr
Target: powerpc*-*-*


gcc.dg/binop-xor(1|3).c is failing on powerpc:

FAIL: gcc.dg/binop-xor1.c scan-tree-dump-times optimized bb[^]* 5
FAIL: gcc.dg/binop-xor1.c scan-tree-dump-times optimized \\^ 1
FAIL: gcc.dg/binop-xor3.c scan-tree-dump-times optimized bb[^]* 1
FAIL: gcc.dg/binop-xor3.c scan-tree-dump-times optimized \\^ 1

(see http://gcc.gnu.org/ml/gcc-testresults/2011-04/msg02081.html and
http://gcc.gnu.org/ml/gcc-testresults/2011-04/msg01980.html ).

The optimized dump is

;; Function foo (foo)

foo (int a, int b, int c)
{
  _Bool D.2857;
  int D.2843;

bb 2:
  if (a_2(D) != 0)
goto bb 3;
  else
goto bb 4;

bb 3:
  if (b_3(D) == 0)
goto bb 5;
  else
goto bb 6;

bb 4:
Invalid sum of incoming frequencies 5000, should be 3750
  if (b_3(D) != 0)
goto bb 5;
  else
goto bb 6;

bb 5:
  D.2857_11 = c_4(D) != 0;
  D.2843_9 = (int) D.2857_11;

bb 6:
Invalid sum of incoming frequencies 8750, should be 1
  # D.2843_1 = PHI D.2843_9(5), 0(4), 0(3)
  return D.2843_1;

}

instead of

;; Function foo (foo)

foo (int a, int b, int c)
{
  _Bool D.2734;
  _Bool D.2726;
  _Bool D.2725;
  _Bool D.2724;
  int D.2720;

bb 2:
  D.2724_3 = a_2(D) != 0;
  D.2725_5 = b_4(D) != 0;
  D.2726_6 = D.2725_5 ^ D.2724_3;
  if (D.2726_6 != 0)
goto bb 3;
  else
goto bb 4;

bb 3:
  D.2734_12 = c_7(D) != 0;
  D.2720_13 = (int) D.2734_12;

bb 4:
  # D.2720_1 = PHI D.2720_13(3), 0(2)
  return D.2720_1;

}

on x86_64-apple-darwin10.


[Bug target/48754] FAIL: gcc.dg/binop-xor(1|3).c scan-tree-dump-times optimized bb[^]* *

2011-04-24 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48754

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

   What|Removed |Added

 CC||ktietz at gcc dot gnu.org

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-04-24 
15:34:43 UTC ---
CC Kai Tietz.


[Bug other/48747] Darwin/MacOSX 10.5 fixincludes make check = complex.h missing

2011-04-24 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48747

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-04-24 
15:38:24 UTC ---
Works for me on powerpc-apple-darwin9 bootstrapped with

gcc version 4.2.1 (Apple Inc. build 5577)

...
Fixed:  complex.h
...
All fixinclude tests pass

Configured with

configure flags: --prefix=/opt/gcc/gcc4.7w --target=powerpc-apple-darwin9
--host=powerpc-apple-darwin9 --build=powerpc-apple-darwin9
--enable-languages=c,c++,fortran,objc,obj-c++,java,lto --with-gmp=/sw
--with-libiconv-prefix=/usr --with-system-zlib --with-cloog=/sw --enable-lto


[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
18:27:20 UTC ---
evaulate?!?


[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466

2011-04-24 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752

--- Comment #3 from dave at hiauly1 dot hia.nrc.ca 2011-04-24 19:13:22 UTC ---
 --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 
 2011-04-24 18:27:20 UTC ---
 evaulate?!?

I believe it must be Czech...

Dave


[Bug c++/48755] New: ICE in instantiate_type: conditional expression of std::complex .real and .imag

2011-04-24 Thread jthorn at astro dot indiana.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48755

   Summary: ICE in instantiate_type: conditional expression of
std::complex .real and .imag
   Product: gcc
   Version: 4.2.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: jth...@astro.indiana.edu


Created attachment 24091
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24091
preprocessed source code (gzipped)

ICE on invalid code:

% cat complex-conditional-real-imag-nofn.cc
#include complex

double foo(const std::complexdouble z, const bool real_flag)
{
return real_flag ? z.real : z.imag;
}
%

Note the missing () after real  imag.

Attempting to compile this with gcc 4.2.4 produces an ICE:

complex-conditional-real-imag-nofn.cc: In function 'double
foo(std::complexdouble, bool)':
complex-conditional-real-imag-nofn.cc:5: internal compiler error: in
instantiate_type, at cp/class.c:6163

Here are the full details of the gcc -v output, the command line used for
compilation, and the resulting output (including the above error msg):

Script started on Sun Apr 24 13:35:42 2011
% /usr/local/bin/eg++ -v
Using built-in specs.
Target: i386-unknown-openbsd4.8
Configured with: /usr/obj/i386/gcc-4.2.4/gcc-4.2.4/configure
--with-gmp=/usr/local --enable-libgcj --verbose --progra
m-transform-name=s,^,e, --disable-nls --disable-checking --with-system-zlib
--disable-libmudflap --disable-libgomp --
disable-tls --with-as=/usr/bin/as --with-ld=/usr/bin/ld --with-gnu-ld
--with-gnu-as --enable-threads=posix --enable-w
char_t --enable-languages=c,c++,fortran,objc,java,ada --enable-cpp
--with-gnu-as --with-gnu-ld --enable-shared --pref
ix=/usr/local --sysconfdir=/etc --mandir=/usr/local/man
--infodir=/usr/local/info
Thread model: posix
gcc version 4.2.4
% /usr/local/bin/eg++ -v -save-temps -c complex-conditional-real-imag-nofn.cc
Using built-in specs.
Target: i386-unknown-openbsd4.8
Configured with: /usr/obj/i386/gcc-4.2.4/gcc-4.2.4/configure
--with-gmp=/usr/local --enable-libgcj --verbose --progra
m-transform-name=s,^,e, --disable-nls --disable-checking --with-system-zlib
--disable-libmudflap --disable-libgomp --
disable-tls --with-as=/usr/bin/as --with-ld=/usr/bin/ld --with-gnu-ld
--with-gnu-as --enable-threads=posix --enable-w
char_t --enable-languages=c,c++,fortran,objc,java,ada --enable-cpp
--with-gnu-as --with-gnu-ld --enable-shared --pref
ix=/usr/local --sysconfdir=/etc --mandir=/usr/local/man
--infodir=/usr/local/info
Thread model: posix
gcc version 4.2.4
 /usr/local/libexec/gcc/i386-unknown-openbsd4.8/4.2.4/cc1plus -E -quiet -v
complex-conditional-real-imag-nofn.cc -mtu
ne=i386 -fpch-preprocess -o complex-conditional-real-imag-nofn.ii
ignoring nonexistent directory
/usr/local/lib/gcc/i386-unknown-openbsd4.8/4.2.4/../../../../i386-unknown-openbsd4.8/
include
#include ... search starts here:
#include ... search starts here:
 /usr/local/lib/gcc/i386-unknown-openbsd4.8/4.2.4/../../../../include/c++/4.2.4

/usr/local/lib/gcc/i386-unknown-openbsd4.8/4.2.4/../../../../include/c++/4.2.4/i386-unknown-openbsd4.8

/usr/local/lib/gcc/i386-unknown-openbsd4.8/4.2.4/../../../../include/c++/4.2.4/backward
 /usr/local/include
 /usr/local/lib/gcc/i386-unknown-openbsd4.8/4.2.4/include
 /usr/include
End of search list.
 /usr/local/libexec/gcc/i386-unknown-openbsd4.8/4.2.4/cc1plus -fpreprocessed
complex-conditional-real-imag-nofn.ii -q
uiet -dumpbase complex-conditional-real-imag-nofn.cc -mtune=i386 -auxbase
complex-conditional-real-imag-nofn -version
 -o complex-conditional-real-imag-nofn.s
GNU C++ version 4.2.4 (i386-unknown-openbsd4.8)
compiled by GNU C version 4.2.4.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 6dfb71ffb2dea5673cd2557319059568
complex-conditional-real-imag-nofn.cc: In function 'double
foo(std::complexdouble, bool)':
complex-conditional-real-imag-nofn.cc:5: internal compiler error: in
instantiate_type, at cp/class.c:6163
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
% exit

Script done on Sun Apr 24 13:36:04 2011


[Bug c++/48755] ICE in instantiate_type: conditional expression of std::complex .real and .imag

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48755

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.5.0, 4.6.0, 4.7.0
 Resolution||WORKSFORME

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
19:29:48 UTC ---
Works on active release branches.


[Bug c++/48755] ICE in instantiate_type: conditional expression of std::complex .real and .imag

2011-04-24 Thread jthorn at astro dot indiana.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48755

--- Comment #2 from Jonathan Thornburg jthorn at astro dot indiana.edu 
2011-04-24 19:29:59 UTC ---
Created attachment 24092
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24092
script(1) transcript giving gcc -v output, full command line to invoke gcc,
full compiler output

Here is the gcc -v output, compiler-invocation command line, and compiler
output
in a separate file -- this avoids the line-wrapping of pasting it into a
comments box.


Re: [Bug middle-end/48752] New: [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466

2011-04-24 Thread Jan Hubicka
Hi,
I've comitted patch for bug with similar symptoms today. Does it still 
reproduce for you?

Honza


[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466

2011-04-24 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752

--- Comment #4 from Jan Hubicka hubicka at ucw dot cz 2011-04-24 19:43:44 UTC 
---
Hi,
I've comitted patch for bug with similar symptoms today. Does it still
reproduce for you?

Honza


[Bug target/43804] [4.5/4.6/4.7 regression] ICE in reload_cse_simplify_operands

2011-04-24 Thread schwab at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43804

--- Comment #22 from Andreas Schwab schwab at gcc dot gnu.org 2011-04-24 
20:04:26 UTC ---
Author: schwab
Date: Sun Apr 24 20:04:24 2011
New Revision: 172920

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=172920
Log:
Author: Richard Sandiford richard.sandif...@linaro.org

PR target/43804
* gcc/config/m68k/constraints.md (T): Allow PIC operands that satisfy
LEGITIMATE_PIC_OPERAND_P.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/m68k/constraints.md


[Bug target/43804] [4.5/4.6/4.7 regression] ICE in reload_cse_simplify_operands

2011-04-24 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43804

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

   What|Removed |Added

  Known to work||4.7.0

--- Comment #23 from Andreas Schwab sch...@linux-m68k.org 2011-04-24 20:05:46 
UTC ---
Fixed for 4.7.


[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466

2011-04-24 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752

--- Comment #5 from dave at hiauly1 dot hia.nrc.ca 2011-04-24 20:24:00 UTC ---
 I've comitted patch for bug with similar symptoms today. Does it still
 reproduce for you?

I noticed that and started a couple of new builds.  Should know in a couple
of hours.


[Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors

2011-04-24 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615

--- Comment #7 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-04-24 
20:33:17 UTC ---
Patch submitted to gfortran list for review.


[Bug ada/48756] New: FAIL: c940013

2011-04-24 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48756

   Summary: FAIL:   c940013
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa-unknown-linux-gnu
Target: hppa-unknown-linux-gnu
 Build: hppa-unknown-linux-gnu


xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found
compilation terminated.
/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c940013.a: parse
erro
rs detected
/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c940013.a: chop may
not be successfulsplitting
/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c940013.a into:
   c940013.adbBUILD c940013.adb
gnatmake --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/gnu/gcc/objdir/gcc/ -gnatws -O2
-I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support c94
0013.adb -largs --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/gnu/gcc/objdir/gcc/
/home/dave/gnu/gcc/objdir/gcc/xgcc -c -B/home/dave/gnu/gcc/objdir/gcc/ -gnatws
-
O2 -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support c940013.adb
gnatbind -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support -x
c940013.
ali
gnatlink c940013.ali -O2 --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/g
nu/gcc/objdir/gcc/
RUN c940013

,.,. C940013 ACATS 2.5 11-04-24 11:06:33
 C940013 Check that queues on protected entries are handled FIFO and
that 'count is correct.
   * C940013 Queueing on the Wait_at_Meter queue failed.
   * C940013 Intermediate Wait_at_Entry'count is incorrect.
   * C940013 Queueing on the Wait_at_Meter queue failed.
   * C940013 Queueing on the Wait_at_Meter queue failed.
   * C940013 Queueing on the Wait_at_Meter queue failed.
 C940013 FAILED .
FAIL:   c940013

This is with revision 172898.


[Bug ada/48756] FAIL: c940013

2011-04-24 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48756

--- Comment #1 from John David Anglin danglin at gcc dot gnu.org 2011-04-24 
20:41:46 UTC ---
Similar fail is c954023:

xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found
compilation
terminated./home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c954023.a:
parse erro
rs
detected/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c954023.a:
chop may n
ot be successful
splitting /home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c954023.a
i
nto:   c954023.adbBUILD c954023.adbgnatmake
--GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/gnu/gcc/objdir/g
cc/ -gnatws -O2 -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support
c954023.adb -largs --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/gnu/gcc/o
bjdir/gcc//home/dave/gnu/gcc/objdir/gcc/xgcc -c
-B/home/dave/gnu/gcc/objdir/gcc/ -gnatws -
O2 -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support
c954023.adbgnatbind -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support
-x c954023.
ali
gnatlink c954023.ali -O2 --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/g
nu/gcc/objdir/gcc/
RUN c954023

,.,. C954023 ACATS 2.5 11-04-24 11:14:59
 C954023 Requeue from within a protected object to a family of
entries in another protected object.
   * C954023 Credit Task: Second group not Medium Priority.
   * C954023 Credit Task: Third group not Low Priority.
 C954023 FAILED .
FAIL:   c954023


[Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors

2011-04-24 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615

--- Comment #8 from Thomas Henlich thenlich at users dot sourceforge.net 
2011-04-24 21:41:16 UTC ---
I don't have access to a build system until Tuesday, so I couldn't test your
patch. But I'm not sure I understand what you are trying to do.

I see that you added one more digit in the output. I am not convinced that
adding one digit will solve the problem of rounding. It will for my first test
case, because it works for the values 1.1 and 1.9. But will it work for values
like 1.1 or 1.9? With your patch, they will be rounded to 1.0 (or 2.0)
by printf so libfortran has no way of knowing that it should round up (or
down).

And we recently set the maximum output width to the minimum value required by
IEEE 754-2008. Increasing that further (as your patch does) will only serve in
reducing the maximum rounding error from 1/1000 to 1/1 (but does not
contribute to fixing this bug)

Can you confirm that the patch fixes all the testcases in attachment 24083?

I still think my comment #2 still applies: We can only use this shortcut
rounding if the requested rounding mode equals that of printf, which I found to
be NEAREST with __mingw_printf and COMPATIBLE with MSVC printf. Others, e.g.
glibc probably have one of these modes, but I couldn't yet find out if this
feature is documented at all.


[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750

--- Comment #7 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
21:51:51 UTC ---
I had a quick look to this code and something really bad is going on, like, eg,
memory deallocated before calling the destructor of the object constructed in
it via placement new. And much more.

The patchlet below, which I'd ask the submitters to test, gives me something
much more sane, wrt Valgrind too, but Jahannes should really have a look asap.

(Note the patch is versus mainline first, as usual, thus doesn't apply cleanly
as-is to 4.4 for various trivial reasons, like uglified names)

/

Index: par_loop.h
===
--- par_loop.h(revision 172920)
+++ par_loop.h(working copy)
@@ -91,8 +91,7 @@
 _ThreadIndex __iam = omp_get_thread_num();

 // Neutral element.
-_Result* __reduct = static_cast_Result*
-  (::operator new(sizeof(_Result)));
+_Result* __reduct;

 _DifferenceType
   __start = equally_split_point(__length, __num_threads, __iam),
@@ -100,7 +99,7 @@

 if (__start  __stop)
   {
-new(__reduct) _Result(__f(__o, __begin + __start));
+__reduct = new _Result(__f(__o, __begin + __start));
 ++__start;
 __constructed[__iam] = true;
   }
@@ -110,18 +109,26 @@
 for (; __start  __stop; ++__start)
   *__reduct = __r(*__reduct, __f(__o, __begin + __start));

-__thread_results[__iam] = *__reduct;
+if (__constructed[__iam])
+  {
+::new(__thread_results[__iam]) _Result(*__reduct);
+delete __reduct;
+  }
   } //parallel

   for (_ThreadIndex __i = 0; __i  __num_threads; ++__i)
 if (__constructed[__i])
-  __output = __r(__output, __thread_results[__i]);
+  {
+__output = __r(__output, __thread_results[__i]);
+(__thread_results[__i])-~_Result();
+  }

   // Points to last element processed (needed as return value for
   // some algorithms like transform).
   __f._M_finish_iterator = __begin + __length;

-  delete[] __thread_results;
+  ::operator delete(__thread_results);
+
   delete[] __constructed;

   return __o;


[Bug rtl-optimization/48757] New: internal compiler error: in compensate_edge, at reg-stack.c:2788

2011-04-24 Thread chilikin.k at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48757

   Summary: internal compiler error: in compensate_edge, at
reg-stack.c:2788
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: chiliki...@gmail.com


Created attachment 24093
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24093
fconc64.f (from CERNLIB / MATHLIB, simplified)

Version of compiler: 4.6.0
The same problem exists in version 4.5.2

System type and configuration of the compiler:
Target: i686-pc-linux-gnu
Configured with: ./configure --prefix=/opt/gcc-4.6.0/
Thread model: posix

Triggering the bug (fconc64.f is attached file):
gfortran -c -O2 fconc64.f
The bug does not occur without optimization flag -O2

Compiler output:
fconc64.f:18.72:

  ASSIGN 1 TO JP
1
Warning: Deleted feature: ASSIGN statement at (1)
fconc64.f:20.72:

1 ASSIGN 2 TO JP
1
Warning: Deleted feature: ASSIGN statement at (1)
fconc64.f:24.72:

   12 ASSIGN 3 TO JP
1
Warning: Deleted feature: ASSIGN statement at (1)
fconc64.f:28.72:

   13 ASSIGN 4 TO JP
1
Warning: Deleted feature: ASSIGN statement at (1)
fconc64.f:36.38:

   IF(ABS(R-RR) .LT. EPS) GO TO JP, (1,2,3,4)   
  1
Warning: Deleted feature: Assigned GOTO statement at (1)
fconc64.f:43.38:

   IF(ABS(R-RR) .LT. EPS) GO TO JP, (1,2,3,4)   
  1
Warning: Deleted feature: Assigned GOTO statement at (1)
fconc64.f: In function 'dfconc':
fconc64.f:52:0: internal compiler error: in compensate_edge, at
reg-stack.c:2788
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]

2011-04-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot
   ||com

--- Comment #8 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 
22:13:24 UTC ---
Johannes, can you please also audit the other uses of operator new, placement
new, etc, and double check that:

  1- We are not assigning to an object before constructing.
  2- We destruct each object before deleting its memory.

Thanks!


Re: [Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors

2011-04-24 Thread Jerry DeLisle

On 04/24/2011 02:41 PM, thenlich at users dot sourceforge.net wrote:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615

--- Comment #8 from Thomas Henlichthenlich at users dot sourceforge.net  
2011-04-24 21:41:16 UTC ---
I don't have access to a build system until Tuesday, so I couldn't test your
patch. But I'm not sure I understand what you are trying to do.


Please read my post on the gfortran mailing list. There are four bugs addressed 
by this patch.


[Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors

2011-04-24 Thread jvdelisle at frontier dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615

--- Comment #9 from jvdelisle at frontier dot com 2011-04-24 23:24:53 UTC ---
On 04/24/2011 02:41 PM, thenlich at users dot sourceforge.net wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615

 --- Comment #8 from Thomas Henlichthenlich at users dot sourceforge.net  
 2011-04-24 21:41:16 UTC ---
 I don't have access to a build system until Tuesday, so I couldn't test your
 patch. But I'm not sure I understand what you are trying to do.

Please read my post on the gfortran mailing list. There are four bugs addressed 
by this patch.


[Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors

2011-04-24 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615

--- Comment #10 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-04-24 
23:43:34 UTC ---
Regarding comment #2.  The patch completely eliminates this code. I did not
feel confident that it is safe enough for all platforms.  My approach is to
first get the output correct, then we can think about optimizations later. A
final fix for PR48602 will be second phase of this patch work. After that is
complete, then we can re-look at any optimizations.


[Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors

2011-04-24 Thread jvdelisle at frontier dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615

--- Comment #11 from jvdelisle at frontier dot com 2011-04-24 23:54:11 UTC ---
On 04/24/2011 02:41 PM, thenlich at users dot sourceforge.net wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615

 --- Comment #8 from Thomas Henlichthenlich at users dot sourceforge.net  
 2011-04-24 21:41:16 UTC ---
--- snip ---

 Can you confirm that the patch fixes all the testcases in attachment 24083?


The test case of attachment 24083 is included in the patch as round_3.f08 and 
yes it passes.


[Bug debug/48354] internal compiler error: in splice_child_die, at dwarf2out.c:8064

2011-04-24 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48354

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org
 Blocks||45375

--- Comment #2 from Jan Hubicka hubicka at gcc dot gnu.org 2011-04-25 
00:05:15 UTC ---
Same ICE now reproduces with Mozilla build


[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466

2011-04-24 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752

--- Comment #6 from dave at hiauly1 dot hia.nrc.ca 2011-04-25 01:27:59 UTC ---
On Sun, 24 Apr 2011, John David Anglin wrote:

  I've comitted patch for bug with similar symptoms today. Does it still
  reproduce for you?
 
 I noticed that and started a couple of new builds.  Should know in a couple
 of hours.

The bug is still there.


[Bug debug/48354] internal compiler error: in splice_child_die, at dwarf2out.c:8064

2011-04-24 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48354

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

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #3 from H.J. Lu hjl.tools at gmail dot com 2011-04-25 04:17:21 
UTC ---
It is caused by revision 170321:

http://gcc.gnu.org/ml/gcc-cvs/2011-02/msg00866.html


[Bug c/48758] New: gcc miscompiles Emacs by incorrectly substituting memcpy for memmove

2011-04-24 Thread eggert at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48758

   Summary: gcc miscompiles Emacs by incorrectly substituting
memcpy for memmove
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: egg...@gnu.org
  Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
 Build: i686-pc-linux-gnu


Created attachment 24094
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24094
Copy of the source code illustrating the problem

When compiling a test version of GNU Emacs with GCC 4.6.0 on Ubuntu
10.10 x86, the resulting Emacs usually works, but sometimes it
crashes.  It took me a while to debug the problem, but it turns out
that GCC 4.6.0 incorrectly substitutes memcpy for memmove,
and this invalid substitution crashes Emacs.
This is a regression from the GCC 4.4.5 that comes with Ubuntu.

Here's a stripped-down source file c.c illustrating the problem;
(I've also attached c.c for convenience.)

typedef unsigned int size_t;

extern void *memmove (void *__dest, __const void *__src, size_t __n)
 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));

extern __inline __attribute__ ((__always_inline__)) __attribute__
((__artificial__)) void *
__attribute__ ((__nothrow__)) memmove (void *__restrict __dest, __const
void *__restrict __src, size_t __len)

{
  return __builtin___memmove_chk (__dest, __src, __len,
__builtin_object_size (__dest, 0));
}

void
str_to_multibyte (unsigned char *str, int len, int bytes)
{
  unsigned char *p = str, *endp = str + bytes;

  while (p  endp  *p  0x80) p++;
  if (p == endp)
return;
  bytes = endp - p;
  endp = str + len;
  memmove (endp - bytes, p, bytes);
}

Here's the assembly language output from running 'gcc -S -O2'.
Notice that it invokes memcpy, not memmove.  But this is
an invalid optimization, because 'bytes' and 'len' are independent,
and it could well be that the target of memmove overlaps the source.

.filec.c
.text
.p2align 4,,15
.globlstr_to_multibyte
.typestr_to_multibyte, @function
str_to_multibyte:
.LFB1:
.cfi_startproc
pushl%esi
.cfi_def_cfa_offset 8
.cfi_offset 6, -8
pushl%ebx
.cfi_def_cfa_offset 12
.cfi_offset 3, -12
movl12(%esp), %ebx
movl20(%esp), %ecx
movl16(%esp), %esi
addl%ebx, %ecx
cmpl%ecx, %ebx
jae.L2
cmpb$0, (%ebx)
movl%ebx, %edx
jns.L4
jmp.L2
.p2align 4,,7
.p2align 3
.L9:
cmpb$0, 1(%edx)
js.L6
movl%eax, %edx
.L4:
leal1(%edx), %eax
cmpl%ecx, %eax
jne.L9
.L1:
popl%ebx
.cfi_remember_state
.cfi_def_cfa_offset 8
.cfi_restore 3
popl%esi
.cfi_def_cfa_offset 4
.cfi_restore 6
ret
.L2:
.cfi_restore_state
cmpl%ecx, %ebx
je.L1
movl%ebx, %eax
.p2align 4,,7
.p2align 3
.L6:
subl%eax, %ecx
addl%esi, %ebx
subl%ecx, %ebx
movl%ecx, 20(%esp)
movl%eax, 16(%esp)
movl%ebx, 12(%esp)
popl%ebx
.cfi_def_cfa_offset 8
.cfi_restore 3
popl%esi
.cfi_def_cfa_offset 4
.cfi_restore 6
jmpmemcpy
.cfi_endproc
.LFE1:
.sizestr_to_multibyte, .-str_to_multibyte
.identGCC: (GNU) 4.6.0
.section.note.GNU-stack,,@progbits


Here's the output of 'gcc -v -save-temps -S -O2 c.c':

Using built-in specs.
COLLECT_GCC=gcc
   
COLLECT_LTO_WRAPPER=/home/eggert/opt/gcc-4.6.0/libexec/gcc/i686-pc-linux-gnu/4.6.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.6.0/configure --prefix=/home/eggert/opt/gcc-4.6.0
--disable-nls
Thread model: posix
gcc version 4.6.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-S' '-O2' '-mtune=generic'
'-march=pentiumpro'
 /home/eggert/opt/gcc-4.6.0/libexec/gcc/i686-pc-linux-gnu/4.6.0/cc1 -E
-quiet -v c.c -mtune=generic -march=pentiumpro -O2 -fpch-preprocess -o c.i
ignoring nonexistent directory
/home/eggert/opt/gcc-4.6.0/lib/gcc/i686-pc-linux-gnu/4.6.0/../../../../i686-pc-linux-gnu/include
#include ... search starts here:
#include ... search starts here:
 /home/eggert/opt/gcc-4.6.0/lib/gcc/i686-pc-linux-gnu/4.6.0/include
 /usr/local/include
 /home/eggert/opt/gcc-4.6.0/include
 /home/eggert/opt/gcc-4.6.0/lib/gcc/i686-pc-linux-gnu/4.6.0/include-fixed
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-S' '-O2'