[Bug fortran/45186] [4.6 Regression] Gfortran 4.5.0 emits wrong linenumbers

2010-09-10 Thread burnus at gcc dot gnu dot org


--- Comment #19 from burnus at gcc dot gnu dot org  2010-09-10 06:02 ---
Subject: Bug 45186

Author: burnus
Date: Fri Sep 10 06:01:50 2010
New Revision: 164143

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164143
Log:
2010-09-10  Tobias Burnus  bur...@net-b.de

PR fortran/45186
* trans.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
build4_stat_loc): New inline functions.
(build1_loc, build2_loc, build3_loc, build4_loc): New macros.
(build1_v, build2_v, build3_v, build4_v): Use input_location
as locus.
* trans-array.c (gfc_trans_scalarized_loop_end,
gfc_conv_array_parameter): Replace build[1-4] by build[1-4]_loc.
* trans.c (gfc_build_addr_expr, gfc_build_array_ref,
gfc_finish_wrapped_block): Ditto.
* trans-decl.c (gfc_init_default_dt, init_intent_out_dt): Ditto.
* trans-expr.c (gfc_conv_missing_dummy,
gfc_trans_alloc_subarray_assign, gfc_trans_zero_assign): Ditto.
* trans-openmp.c (gfc_omp_clause_default_ctor,
gfc_trans_omp_critical, gfc_trans_omp_parallel,
gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections,
gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections
gfc_trans_omp_single, gfc_trans_omp_task,
gfc_trans_omp_workshare): Ditto.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-openmp.c
trunk/gcc/fortran/trans.c
trunk/gcc/fortran/trans.h


-- 


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



[Bug fortran/45186] [4.6 Regression] Gfortran 4.5.0 emits wrong linenumbers

2010-09-10 Thread jv244 at cam dot ac dot uk


--- Comment #20 from jv244 at cam dot ac dot uk  2010-09-10 06:36 ---
Tobias,

many thanks for working on this... I mentioned this before in the PR, but it
would be very good if some line number testcases were added to the regression
tests. Both for performance measurements and debugging, this is essential info,
and it is too remarkable good lineno info could 'disappear' from a released
(4.5) compiler just like that.

If there would be some semi-automatic way of checking the lineno quality (such
as e.g. in the original dump line numbers should always increase??), I'd be
happy to give it a try on CP2K. 

Joost


-- 


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



[Bug libstdc++/45628] New: std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread potswa at mac dot com
Querying the position in a file uses filebuf::seekoff( 0, ios::cur ). Although
the Standard specifies that this combination of parameters does not flush
putback or the output sequence, it does anyway, which results in a performance
hit. (§27.8.1.4/11)

Regression:
http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/include/bits/fstream.tcc?r1=68163r2=68420
(@@ -473,41 +486,26 @@)

This has been broken a long time!


-- 
   Summary: std::fstream::tellg invalidates I/O buffer
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: potswa at mac dot com


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread potswa at mac dot com


--- Comment #1 from potswa at mac dot com  2010-09-10 07:09 ---
Created an attachment (id=21762)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21762action=view)
simple testcase

This little program attempts to read three characters from its own source,
checking the position each time. Reading three bytes from buffered file should
only underflow once, right?


-- 


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



[Bug fortran/45186] [4.6 Regression] Gfortran 4.5.0 emits wrong linenumbers

2010-09-10 Thread burnus at gcc dot gnu dot org


--- Comment #21 from burnus at gcc dot gnu dot org  2010-09-10 07:25 ---
(In reply to comment #20)
 many thanks for working on this... I mentioned this before in the PR, but it
 would be very good if some line number testcases were added to the regression
 tests.

I concur - with -dump-tree-original-lineno this should be possible.

 If there would be some semi-automatic way of checking the lineno quality (such
 as e.g. in the original dump line numbers should always increase??)

No! As the example in comment 18 shows the line numbers should not always
monotonically  increase. Or at least I expect the i = i + 1 to be associated
with the line
   do i = 1, 10
rather than with the line
  a(i) = b(i)
as the gfortran currently does. If you disagree, I can simply close this PR as
fixed ;-)


-- 


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



[Bug fortran/45629] New: libgfortran/io/list_read.c:1872:10: warning: variable 'elem' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]

2010-09-10 Thread burnus at gcc dot gnu dot org
At least on MinGW64 (as reported by nightstrike), the following warning is
printed when compiling libgfortran:

libgfortran/io/list_read.c:1872:10: warning: variable 'elem' might be clobbered
by 'longjmp' or 'vfork' [-Wclobbered]

If one looks at the source, one sees:

  1869  list_formatted_read (st_parameter_dt *dtp, bt type, void *p, int kind,
  1870   size_t size, size_t nelems)
  1871  {
  1872size_t elem;
[...]
  1880for (elem = 0; elem  nelems; elem++)
  1881  {
  1882dtp-u.p.item_count++;
  1883list_formatted_read_scalar (dtp, type, tmp + stride*elem, kind,
size);


with
  1704  list_formatted_read_scalar (st_parameter_dt *dtp, volatile bt type,
void *p,
  1710jmp_buf eof_jump;

However, I do not see how elem itself gets clobbered - thus the warning looks
bogus to me, but I have only glanced at the code.


-- 
   Summary: libgfortran/io/list_read.c:1872:10: warning: variable
'elem' might be clobbered by 'longjmp' or 'vfork' [-
Wclobbered]
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug bootstrap/45630] New: [4.6 Regression] Revision 164050 breaks bootstrap on powerpc-apple-darwin9

2010-09-10 Thread dominiq at lps dot ens dot fr
Revision 164050 breaks bootstrap on powerpc-apple-darwin9

...
/opt/gcc/darwin_buildw/./prev-gcc/xgcc -B/opt/gcc/darwin_buildw/./prev-gcc/
-B/opt/gcc/gcc4.6w/powerpc-apple-darwin9/bin/
-B/opt/gcc/gcc4.6w/powerpc-apple-darwin9/bin/
-B/opt/gcc/gcc4.6w/powerpc-apple-darwin9/lib/ -isystem
/opt/gcc/gcc4.6w/powerpc-apple-darwin9/include -isystem
/opt/gcc/gcc4.6w/powerpc-apple-darwin9/sys-include-c   -g -O2
-mdynamic-no-pic -gtoggle -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H -I. -I.
-I../../gcc-4.6-work/gcc -I../../gcc-4.6-work/gcc/.
-I../../gcc-4.6-work/gcc/../include -I../../gcc-4.6-work/gcc/../libcpp/include
-I/sw/include  -I../../gcc-4.6-work/gcc/../libdecnumber
-I../../gcc-4.6-work/gcc/../libdecnumber/dpd -I../libdecnumber  -I/sw/include
-DCLOOG_PPL_BACKEND../../gcc-4.6-work/gcc/dwarf2out.c -o dwarf2out.o
../../gcc-4.6-work/gcc/dwarf2out.c: In function 'get_ref_die_offset_label':
../../gcc-4.6-work/gcc/dwarf2out.c:6549:5: error: format '%lld' expects type
'long long int', but argument 4 has type 'dw_offset' [-Werror=format]
cc1: all warnings being treated as errors


-- 
   Summary: [4.6 Regression] Revision 164050 breaks bootstrap on
powerpc-apple-darwin9
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: powerpc-apple-darwin9
  GCC host triplet: powerpc-apple-darwin9
GCC target triplet: powerpc-apple-darwin9


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



[Bug middle-end/45631] New: devirtualization with profile feedback does not work for function pointers

2010-09-10 Thread andi-gcc at firstfloor dot org
Following simple example:

#include stdio.h

static void a(void)
{
printf(a\n);
}

static void b(void)
{
printf(b\n);
}

static void __attribute__((noinline)) do_call(void (*p)(void))
{
p();
}

int main(void)
{
int i;
for (i = 0; i  30; i++)
do_call((i%4)  3 ? a : b);

return 0;
}

I compile it with profile feedback and generate feedback data

% gcc -O3 -fprofile-generate x.c
% ./a.out
... output ...
% gcc -O3 -fprofile-use x.c

Examining the output do_call of the final code is just:

00400520 do_call:
  400520:   ff e7   jmpq   *%rdi


But I would have expected the profile feedback code to detect
that a is much more likely than b in the indirect call
and inline a through devirtualization.


-- 
   Summary: devirtualization with profile feedback does not work
for function pointers
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andi-gcc at firstfloor dot org
  GCC host triplet: x86_64-linux


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



[Bug middle-end/45632] New: const function pointer propagation issues with inlining

2010-09-10 Thread andi-gcc at firstfloor dot org
The attached test case is testing inlining of const function pointers
in a typical OO code written in C situation.

The code shows two optimization problems:

- a_foo is inlined into main, b_foo is not.
The only difference is that new_a() returns a const pointer 
and new_b() does not. I would have assumed that gcc detects that the pointer
coming out of new_b() is const.

- p-ops-op2 is never inlined, not even for a, even though the compiler
should have enough information to do so (everything that is passed in is 
const). I assume this is because cloning does not work through
function pointers?


-- 
   Summary: const function pointer propagation issues with inlining
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andi-gcc at firstfloor dot org
  GCC host triplet: x86_64-linux


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



[Bug middle-end/45632] const function pointer propagation issues with inlining

2010-09-10 Thread andi-gcc at firstfloor dot org


--- Comment #1 from andi-gcc at firstfloor dot org  2010-09-10 08:50 ---
Created an attachment (id=21763)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21763action=view)
testcase, compiled with -O3


-- 


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



[Bug fortran/45596] Implement simple static points-to analysis in Fortran FE

2010-09-10 Thread tkoenig at gcc dot gnu dot org


--- Comment #6 from tkoenig at gcc dot gnu dot org  2010-09-10 09:15 ---
(In reply to comment #5)
 I agree that the front-end is missing a statement walker to infer information
 out of the code.

I have a patch for a more general statement walker, which I will probably
submit after the weekend.


-- 


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



[Bug middle-end/45632] const function pointer propagation issues with inlining

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org, hubicka at gcc dot gnu
   ||dot org, jamborm at gcc dot
   ||gnu dot org
   Severity|normal  |enhancement
   Keywords||missed-optimization


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



[Bug bootstrap/45630] [4.6 Regression] Revision 164050 breaks bootstrap on powerpc-apple-darwin9

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug tree-optimization/45626] [4.6 Regression] Segfault in fold_const_aggregate_ref

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|Segfault in |[4.6 Regression] Segfault in
   |fold_const_aggregate_ref|fold_const_aggregate_ref
   Target Milestone|--- |4.6.0


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



[Bug web/43011] Upgrade gcc.gnu.org/bugzilla to Bugzilla 3.6

2010-09-10 Thread rguenth at gcc dot gnu dot org


--- Comment #41 from rguenth at gcc dot gnu dot org  2010-09-10 09:33 
---
(In reply to comment #40)
 A test installation based on a copy of the GCC Bugzilla database (snapshot
 taken today, September 9) and upgraded to Bugzilla 3.6.2 is now live at
 http://gcc.gnu.org/bugzilla-test/.
 
 Please give it a look, and file bugs related to missing or broken
 customizations in the new Bugzilla product on the test installation, i.e.
 using this link:
 http://gcc.gnu.org/bugzilla-test/enter_bug.cgi?product=Bugzilla
 
 Note that I didn't port *any* customization yet, so you probably have a lot to
 say. ;)

You probably should announce this on g...@gcc.gnu.org.


-- 


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



[Bug rtl-optimization/45621] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org, jamborm at gcc dot gnu
   ||dot org
   Target Milestone|--- |4.6.0


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



[Bug c++/45605] Missed devirtualization

2010-09-10 Thread hubicka at gcc dot gnu dot org


--- Comment #6 from hubicka at gcc dot gnu dot org  2010-09-10 09:42 ---
Subject: Bug 45605

Author: hubicka
Date: Fri Sep 10 09:42:20 2010
New Revision: 164148

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164148
Log:

PR tree-optimization/45605
* cp/class.c (build_vtbl_initializer): Avoid wrong type conversion in
ADDR_EXPR


Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/inherit/covariant7.C


-- 


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



[Bug ada/43993] Foreign thread results in Task_Alternate_Stack being used unitialized on linux

2010-09-10 Thread charlet at gcc dot gnu dot org


--- Comment #1 from charlet at gcc dot gnu dot org  2010-09-10 09:47 ---
Fixed by revision 164149


-- 

charlet at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.0


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



[Bug c++/45479] Exceptions not delivered properly after thread cancellation

2010-09-10 Thread redi at gcc dot gnu dot org


--- Comment #16 from redi at gcc dot gnu dot org  2010-09-10 09:55 ---
There certainly is a race condition: there's no ordering between pthread_cancel
and pthread_testcancel so the main thread can run f2(50) before thread2 calls
pthread_cancel, which is why you see it sometimes run beyond the cancellation
point.


-- 


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



[Bug web/43011] Upgrade gcc.gnu.org/bugzilla to Bugzilla 3.6

2010-09-10 Thread jv244 at cam dot ac dot uk


--- Comment #42 from jv244 at cam dot ac dot uk  2010-09-10 09:58 ---
(In reply to comment #40)
 Please give it a look, and file bugs related to missing or broken
 customizations in the new Bugzilla product on the test installation, i.e.
 using this link:
 http://gcc.gnu.org/bugzilla-test/enter_bug.cgi?product=Bugzilla

FYI, I can't login to the new bugzilla because my current password is 5 chars,
which seemingly is less than the minimum for the new bugzilla.


-- 


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



[Bug c++/45479] Exceptions not delivered properly after thread cancellation

2010-09-10 Thread redi at gcc dot gnu dot org


--- Comment #17 from redi at gcc dot gnu dot org  2010-09-10 10:11 ---
(In reply to comment #15)
 In particular, it does not appear that the thread is being reliably cancelled
 at the pthread_testcancel call - sometimes f2 seems to run beyond the
 pthread_testcancel,

As I said above, that's consistent with f2(50) executing before pthread_cancel.

 which causes the throw to execute, and results in an abort
 (seems to want to act like an uncaught exception propagated out).  If you
 comment out the throw, f2 will sometimes continue to construct additional
 objects past 50. I have also noticed that sometimes a bunch of the Y objects
 get destructed, but then the program suddenly summarily exits.

I think that's because f2(50) leaves cancellation enabled and writing to cout
is a cancellation point, so the exit happens when some ~Y destructor coincides
with thread2 calling pthread_cancel.

 I also tried
 setting the cancellation type to asynchronous, but that doesn't make any
 difference - sometimes it works, sometimes it don't. Its very unpredictable.

Yes, race conditions tend to have unpredictable results.

If I change the condition in f2 to (i = 50) and disable cancellation again
after the call to pthread_testcancel then I get more predictable behaviour,
because that ensures that the only cancellation points are the calls to
pthread_testcancel in f2, which still occur in f2(51), f2(52) etc. i.e.
cancellation still occurs at the intended place even if f2(50) happens before
the call to pthread_cancel.   That seems to validate my theory that the cancel
happens after f2(50), and so takes effect at the first cancellation point after
the cancellation request.

I don't think there's a gcc or glibc bug here, just non-portable code with
indeterminate behaviour.


-- 


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



[Bug web/43011] Upgrade gcc.gnu.org/bugzilla to Bugzilla 3.6

2010-09-10 Thread burnus at gcc dot gnu dot org


--- Comment #43 from burnus at gcc dot gnu dot org  2010-09-10 10:29 ---
 The attachment is not viewable in your browser due to security restrictions
enabled by Bugzilla. In order to view the attachment, you first have to
download it.

I think at least text/* attachments should be shown. I think the restriction is
to avoid problems with, e.g., HTML attachments, which can steal cookies. Thus
some sites (like bugzilla.mozilla.org) use a different (sub)domain for the
attachments. (A different subdomain would be fine for me as well - as would be
HTTPS [at least for the login] but I think that's an item for overseers.)

In any case, I would like to see the possibility to view patches and examples
w/o downloading. Example:
http://gcc.gnu.org/bugzilla-test/attachment.cgi?id=21126action=edit


-- 


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



[Bug web/43011] Upgrade gcc.gnu.org/bugzilla to Bugzilla 3.6

2010-09-10 Thread LpSolit at netscape dot net


--- Comment #44 from LpSolit at netscape dot net  2010-09-10 10:34 ---
(In reply to comment #43)
 I think at least text/* attachments should be shown.

Ah yes, sorry, I forgot to enable the allow_attachment_display parameter (which
is off by default). This is now fixed. Thanks for catching that! :)


-- 


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



[Bug web/43011] Upgrade gcc.gnu.org/bugzilla to Bugzilla 3.6

2010-09-10 Thread jakub at gcc dot gnu dot org


--- Comment #45 from jakub at gcc dot gnu dot org  2010-09-10 10:46 ---
The Log In line in elinks looks quite weird.  There is
a text field Bugzilla_login, then Bugzilla_password (both expected), but then
there is another text field prefilled with password:
input id=Bugzilla_login_top
   class=bz_login
   name=Bugzilla_login
   onfocus=mini_login_on_focus('_top')

input class=bz_password
   id=Bugzilla_password_top
   name=Bugzilla_password
   type=password

input class=bz_password bz_default_hidden bz_mini_login_help type=text
   id=Bugzilla_password_dummy_top value=password
   onfocus=mini_login_on_focus('_top')

Took me a while to figure out one shouldn't input password in there...


-- 


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



[Bug bootstrap/45630] [4.6 Regression] Revision 164050 breaks bootstrap on powerpc-apple-darwin9

2010-09-10 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2010-09-10 10:52 ---
Subject: Bug 45630

Author: jakub
Date: Fri Sep 10 10:52:16 2010
New Revision: 164163

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164163
Log:
PR bootstrap/45630
* dwarf2out.c (get_ref_die_offset_label): Use %ld instead of
HOST_WIDE_INT_PRINT_DEC to print ref-die_offset.
(implicit_ptr_descriptor): Return NULL if dwarf_strict.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #2 from paolo dot carlini at oracle dot com  2010-09-10 10:55 
---
_M_terminate_output, correctly, does nothing in this case, cannot be the
problem, and there is nothing wrong wrt the standard mandated behavior. The
problem is that in our implementation, similarly to traditional C stdio
impls, reading and writing are completely separate operations, and the user
switches between the two with seeks, essentially. Any seek puts back the
internal status to uncommitted (_M_reading = false, _M_writing = false) and
afterwards the user can start *either* reading or writing, irrespective of the
previous history, and the seek logic doesn't know what will actually happen in
the future, of course. The user should not perform redundant seeks, because
they have a cost, they do something more than just seeking. On the other
hand, a series of read or write operations has maximum performance, we don't
think we could possibly do better. Thus, I'm open to ideas, but I don't think
that within the current design one can change / improve much. Note that the
patch you linked is exactly the one implementing the above semantics.


-- 


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



[Bug tree-optimization/45633] New: [4.6 regression] internal compiler error: verify_stmts failed

2010-09-10 Thread jojelino at gmail dot com
gcc: warning: -pipe ignored because -save-temps specified
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-cygwin/4.6.0/lto-wrapper.exe
Target: i686-pc-cygwin
Configured with: ./configure --prefix=/usr --disable-win32-registry
--enable-threads=posix --enable-languages=c,c++,lto --with-win32-nlsapi=unicode
--enable-tls --disable-bootstrap --enable-shared --disable-sjlj-exceptions
--enable-gomp
Thread model: posix
gcc version 4.6.0 20100910 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-MMD' '-MF' 'libmpcodecs/vd_ffmpeg.d' '-MT'
'libmpcodecs/vd_ffmpeg.o' '-Wstrict-prototypes' '-Wmissing-prototypes'
'-Wundef' '-Wdisabled-optimization' '-Wno-pointer-sign'
'-Wdeclaration-after-statement' '-std=gnu99' '-Wall' '-Wno-switch'
'-Wno-parentheses' '-Wpointer-arith' '-Wredundant-decls' '-O4'   '-pipe'
'-ffast-math' '-fomit-frame-pointer' '-D' '_LARGEFILE_SOURCE' '-D'
'_FILE_OFFSET_BITS=64' '-D' '_LARGEFILE64_SOURCE' '-I' 'libdvdread4' '-I' '.'
'-march=core2' '-mfpmath=sse' '-fno-common' '-I' '/usr/include/freetype2' '-c'
'-o' 'libmpcodecs/vd_ffmpeg.o' '-v' '-save-temps'
 /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe -E -quiet -v -I libdvdread4 -I .
-I /usr/include/freetype2 -MMD libmpcodecs/vd_ffmpeg.d -MF
libmpcodecs/vd_ffmpeg.d -MT libmpcodecs/vd_ffmpeg.o -D__CYGWIN32__ -D__CYGWIN__
-Dunix -D__unix__ -D__unix -idirafter
/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api
-idirafter
/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api
-D _LARGEFILE_SOURCE -D _FILE_OFFSET_BITS=64 -D _LARGEFILE64_SOURCE
libmpcodecs/vd_ffmpeg.c -march=core2 -mcx16 -msahf -msse4.1 --param
l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048
-mtune=core2 -march=core2 -mfpmath=sse -std=gnu99 -Wstrict-prototypes
-Wmissing-prototypes -Wundef -Wdisabled-optimization -Wno-pointer-sign
-Wdeclaration-after-statement -Wall -Wno-switch -Wno-parentheses
-Wpointer-arith -Wredundant-decls -ffast-math -fomit-frame-pointer -fno-common
-O4 -fpch-preprocess -o vd_ffmpeg.i
ignoring duplicate directory /usr/include
ignoring duplicate directory
/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api
#include ... search starts here:
#include ... search starts here:
 libdvdread4
 .
 /usr/include/freetype2
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/include
 /usr/local/include
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/include-fixed
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/include

/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api
End of search list.
COLLECT_GCC_OPTIONS='-MMD' '-MF' 'libmpcodecs/vd_ffmpeg.d' '-MT'
'libmpcodecs/vd_ffmpeg.o' '-Wstrict-prototypes' '-Wmissing-prototypes'
'-Wundef' '-Wdisabled-optimization' '-Wno-pointer-sign'
'-Wdeclaration-after-statement' '-std=gnu99' '-Wall' '-Wno-switch'
'-Wno-parentheses' '-Wpointer-arith' '-Wredundant-decls' '-O4'   '-pipe'
'-ffast-math' '-fomit-frame-pointer' '-D' '_LARGEFILE_SOURCE' '-D'
'_FILE_OFFSET_BITS=64' '-D' '_LARGEFILE64_SOURCE' '-I' 'libdvdread4' '-I' '.'
'-march=core2' '-mfpmath=sse' '-fno-common' '-I' '/usr/include/freetype2' '-c'
'-o' 'libmpcodecs/vd_ffmpeg.o' '-v' '-save-temps'
 /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe -fpreprocessed vd_ffmpeg.i
-march=core2 -mcx16 -msahf -msse4.1 --param l1-cache-size=32 --param
l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=core2 -quiet -dumpbase
vd_ffmpeg.c -march=core2 -mfpmath=sse -auxbase-strip libmpcodecs/vd_ffmpeg.o
-O4 -Wstrict-prototypes -Wmissing-prototypes -Wundef -Wdisabled-optimization
-Wno-pointer-sign -Wdeclaration-after-statement -Wall -Wno-switch
-Wno-parentheses -Wpointer-arith -Wredundant-decls -std=gnu99 -version
-ffast-math -fomit-frame-pointer -fno-common -o vd_ffmpeg.s
GNU C (GCC) version 4.6.0 20100910 (experimental) (i686-pc-cygwin)
compiled by GNU C version 4.6.0 20100825 (experimental), GMP version
5.0.0, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C (GCC) version 4.6.0 20100910 (experimental) (i686-pc-cygwin)
compiled by GNU C version 4.6.0 20100825 (experimental), GMP version
5.0.0, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 4bea862be3a27aad0f75be2c3cad166f
libmpcodecs/vd_ffmpeg.c: In function ‘init’:
libmpcodecs/vd_ffmpeg.c:428:9: warning: ‘AVPaletteControl’ is deprecated
(declared at ./libavcodec/avcodec.h:2879) [-Wdeprecated-declarations]
libmpcodecs/vd_ffmpeg.c: In function ‘decode’:
libmpcodecs/vd_ffmpeg.c:917:6: warning: return discards ‘const’ qualifier from
pointer target type [enabled by default]
libmpcodecs/vd_ffmpeg.c: At top level:
libmpcodecs/vd_ffmpeg.c:84:25: warning: ‘get_format’ declared ‘static’ but
never defined [-Wunused-function]
libmpcodecs/vd_ffmpeg.c: In function ‘draw_slice’:
libmpcodecs/vd_ffmpeg.c:489:13: error: type mismatch

[Bug tree-optimization/45633] [4.6 regression] internal compiler error: verify_stmts failed

2010-09-10 Thread jojelino at gmail dot com


--- Comment #1 from jojelino at gmail dot com  2010-09-10 11:19 ---
Created an attachment (id=21764)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21764action=view)
preprocessed source


-- 


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



[Bug tree-optimization/45633] [4.6 regression] internal compiler error: verify_stmts failed

2010-09-10 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-09-10 11:29 ---
Are you really using the fortran-dev branch?


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0
Version|fortran-dev |4.6.0


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



[Bug fortran/43665] INTENT(IN) etc. optimization of calls: function annotations for noclobber/noescape arguments

2010-09-10 Thread burnus at gcc dot gnu dot org


--- Comment #21 from burnus at gcc dot gnu dot org  2010-09-10 12:09 ---
Created an attachment (id=21765)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21765action=view)
Updated patch

Updated patch to fix review issues and the Cray patch issue. I won't be able to
work on this (i.e. regtest + submit) for the next days thus I put it here.

Cf. http://gcc.gnu.org/ml/fortran/2010-09/msg00198.html
and http://gcc.gnu.org/ml/fortran/2010-09/msg00234.html


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #21265|0   |1
is obsolete||


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #3 from paolo dot carlini at oracle dot com  2010-09-10 12:09 
---
I *think* it can work to minimally change what we have now to not reset the get
area buffers when (0, ios::cur) and we have been reading: as far as I can see,
if in that specific case we get back to reading again, the get area remains
completely valid indeed.


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |paolo dot carlini at oracle
   |dot org |dot com
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-10 12:11:41
   date||


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



[Bug fortran/43665] INTENT(IN) etc. optimization of calls: function annotations for noclobber/noescape arguments

2010-09-10 Thread burnus at gcc dot gnu dot org


--- Comment #22 from burnus at gcc dot gnu dot org  2010-09-10 12:12 ---
(In reply to comment #21)
 Created an attachment (id=21765)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21765action=view) [edit]
 Updated patch

Note: I forgot to include the test case from attachment 21265


-- 


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



[Bug tree-optimization/45633] [4.6 regression] internal compiler error: verify_stmts failed

2010-09-10 Thread jojelino at gmail dot com


--- Comment #3 from jojelino at gmail dot com  2010-09-10 12:13 ---
(In reply to comment #2)
 Are you really using the fortran-dev branch?
 

$ git branch
* trunk

it is trunk.
i don't recognize how fortran-dev version have been selected. maybe i've
mistaken.


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #4 from paolo dot carlini at oracle dot com  2010-09-10 12:20 
---
Does not work: when we reach the end of the buffer and we access again the file
to refill it, we start reading from the wrong position, the position we seeked
to.


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #5 from paolo dot carlini at oracle dot com  2010-09-10 12:36 
---
To clarify: when we start reading in a buffered mode, the first underflow reads
the buffer and leaves the physical file at the first char beyond the buffer. If
we do afterwards a seek to the current reading position, belonging to the
buffer, the physical position along the file also changes of course, an
underlying fseek is performed. Then, if we don't refresh the buffer with a new
underflow, an inconsistency is born: the physical position along the file
doesn't correspond to the first char after the buffer and the next underflow
will read from the wrong position.


-- 


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



[Bug tree-optimization/45598] [4.6 Regression] ICE; in build_int_cst_wide, at tree.c:1218

2010-09-10 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2010-09-10 12:59 ---
The test in comment #0 has been fixed by revision 164111. However it seems that
191.fma3d in
SPEC CPU 2K is not fixed by this revision (see
http://gcc.gnu.org/ml/gcc-testresults/2010-09/msg00913.html ).


-- 


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



[Bug middle-end/45634] New: [4.6 regression] Revision 163973 faild to compile 191.fma3d in SPEC CPU 2K

2010-09-10 Thread hjl dot tools at gmail dot com
On Linux/x86-64, revision 163997 failed to build 191.fma3d in
SPEC CPU 2K:

[...@gnu-27 0001]$ /export/gnu/import/svn/gcc-test/usr/bin/gfortran -c -o
getirv.o   -DSPEC_CPU2000_LP64 -O3 -funroll-loops -ffast-math  
getirv.f90
getirv.f90: In function #65533;rcrdrd#65533;:
getirv.f90:213:0: internal compiler error: in build_int_cst_wide, at
tree.c:1218
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
[...@gnu-27 0001]$ 

This is caused by revision 163973:

http://gcc.gnu.org/ml/gcc-cvs/2010-09/msg00265.html

It isn't fixed as of revision 164143.


-- 
   Summary: [4.6 regression] Revision 163973 faild to compile
191.fma3d in SPEC CPU 2K
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug middle-end/45634] [4.6 regression] Revision 163973 faild to compile 191.fma3d in SPEC CPU 2K

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug tree-optimization/45598] [4.6 Regression] ICE; in build_int_cst_wide, at tree.c:1218

2010-09-10 Thread dominiq at lps dot ens dot fr


--- Comment #5 from dominiq at lps dot ens dot fr  2010-09-10 13:24 ---
Since pr45634 has been opened for the failure of 191.fma3d in SPEC CPU 2K, I am
closing this one as fixed. Thanks for the commit.


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug bootstrap/45612] [4.6 regression] Reference to undefined label building libada no Solaris 2/SPARC

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug c++/45606] [4.5/4.6 Regression] match a method prototyped a typedef alias with the original type (using stdlib)

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.2


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



[Bug rtl-optimization/45593] [4.5/4.6 regression] segfault with -Os

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.2


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



[Bug fortran/45577] [4.6 Regression] Bogus(?) ... type incompatible with source-expr ... error

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug tree-optimization/45470] [4.6 Regression] ICE: verify_flow_info failed: BB 2 can not throw but has an EH edge with -ftree-vectorize -fnon-call-exceptions

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.6


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



[Bug tree-optimization/45470] [4.6 Regression] ICE: verify_flow_info failed: BB 2 can not throw but has an EH edge with -ftree-vectorize -fnon-call-exceptions

2010-09-10 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2010-09-10 13:26 ---
(In reply to comment #6)
 (In reply to comment #5)
  I see before SLP:
  
  bb 2:
MEM[(struct A *)this_1(D)].a = 0;
MEM[(struct A *)this_1(D)].b = 0;
MEM[(struct A *)this_1(D)].c = 0;
[LP 2] MEM[(struct A *)this_1(D) + 12B].a = 0;
  
  and after:
  
  bb 2:
vect_cst_.1_16 = { 0, 0, 0, 0 };
vect_p.5_17 = MEM[(struct A *)this_1(D)].a;
M*vect_p.5_17{misalignment: 0} = vect_cst_.1_16;
  
  so EH info has not been properly transfered.  
 
 How should it be done? Is it ok to assume that if one of the old stmts can
 throw, then we can set TREE_THIS_NOTRAP for the new access to 0? (and then we
 can call maybe_duplicate_eh_stmt (new_stmt, old_stmt)).
 
 Or maybe it's better to avoid vectorization?...

I think it's best to avoid vectorization if one of the old stmts can
throw.

Richard.


-- 


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



[Bug middle-end/45634] [4.6 regression] Revision 163973 faild to compile 191.fma3d in SPEC CPU 2K

2010-09-10 Thread hjl dot tools at gmail dot com


--- Comment #1 from hjl dot tools at gmail dot com  2010-09-10 13:39 ---
[...@gnu-16 0001]$ cat pr45634.f90
  SUBROUTINE RCRDRD (VTYP)
  CHARACTER(4), INTENT(OUT) :: VTYP 
  CHARACTER(1), SAVE :: DBL = D 
  VTYP = DBL
  END
[...@gnu-16 0001]$ /export/gnu/import/svn/gcc-test/usr/bin/gcc -S -O2
pr45634.f90
pr45634.f90: In function \u2018rcrdrd\u2019:
pr45634.f90:1:0: internal compiler error: in build_int_cst_wide, at tree.c:1218
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
[...@gnu-16 0001]$ 


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread don dot wakefield at gmail dot com


--- Comment #6 from don dot wakefield at gmail dot com  2010-09-10 14:06 
---
Re: comment 5 - what is needed is for filebuf::seekoff(0,ios::cur) to:

  1) *not* invalidate the buffer
  2) *not* move the file pointer

since all that special case asks is where am I in the 'logical' file?

This can be accomplished by having filebuf::seekoff() recognize an off_type of
0, and a seekdir of cur, and special-case the code to call
_M_file.seekoff(0,cur) (not moving the file pointer, right?) and then adjusting
the resulting pos_type to reflect the true, earlier position held by gptr().

Am I missing something?


-- 


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



[Bug c++/45635] New: [4.6 regression] Failed to bootstrap on Linux/ia64

2010-09-10 Thread hjl dot tools at gmail dot com
On Linux/ia64, revision 164164 gave

../../../../src-trunk/libstdc++-v3/libsupc++/array_type_info.cc:33:1: internal
compiler error: tree check: expected tree that contains 'decl with RTL'
structure, have 'addr_expr' in output_constant, at varasm.c:4408
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make[7]: *** [array_type_info.lo] Error 1
make[7]: Leaving directory
`/export/gnu/import/svn/gcc-test/bld/ia64-unknown-linux-gnu/libstdc++-v3/libsupc++'

Revision 164140 is OK.


-- 
   Summary: [4.6 regression] Failed to bootstrap on Linux/ia64
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug debug/44115] gcc.dg/guality/sra-1.c failure

2010-09-10 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-09-10 14:22 ---
Subject: Bug 44115

Author: rguenth
Date: Fri Sep 10 14:22:22 2010
New Revision: 164179

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164179
Log:
2010-09-10  Richard Guenther  rguent...@suse.de

PR debug/44115
* tree.c (free_lang_data_in_decl): Do not clear DECL_DEBUG_EXPR.
* lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
Output DECL_DEBUG_EXPR.
* lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
Input DECL_DEBUG_EXPR.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-streamer-in.c
trunk/gcc/lto-streamer-out.c
trunk/gcc/tree.c


-- 


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



[Bug c++/45635] [4.6 regression] Failed to bootstrap on Linux/ia64

2010-09-10 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.6.0


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



[Bug debug/44115] gcc.dg/guality/sra-1.c failure

2010-09-10 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-09-10 14:38 ---
Fixed for 4.6.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.0


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



[Bug middle-end/45634] [4.6 regression] Revision 163973 faild to compile 191.fma3d in SPEC CPU 2K

2010-09-10 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2010-09-10 14:39 ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2010-09/msg00951.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2010-
   ||09/msg00951.html


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #7 from paolo dot carlini at oracle dot com  2010-09-10 14:39 
---
Then, seekoff would also return a position beyond the buffer, right? Or you
want it to return 1 anyway? Actually, I think the standard want us to use width
* off for the underlying fseek anyway, not only for off == 0, and this is not
what we have been doing. I think there is something seriously different here,
beyond the performance issue, which we should ponder much more, after so many
years.


-- 


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



[Bug fortran/45596] Implement simple static points-to analysis in Fortran FE

2010-09-10 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2010-09-10 14:40 ---
For the interprocedural analysis I believe static points-to is the only
reasonable thing to do, anything else would have too big complexity (both space
and time).  Within one function, sure, you have the code, but not in a form
which makes it very easy to do such analysis (e.g. SSA form is much more
suitable for that), and you need to understand many different constructs (IF,
loops, GOTO, CYCLE, BREAK, OpenMP constructs, ...) and handle propagating the
information through the callgraph (which isn't built).  I think reimplementing
many middle-end passes on the Front-end trees is not the right way to go, and I
hope the static points-to analysis should catch most of the interesting cases
in real-world code.


-- 


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



[Bug middle-end/45634] [4.6 regression] Revision 163973 faild to compile 191.fma3d in SPEC CPU 2K

2010-09-10 Thread hjl at gcc dot gnu dot org


--- Comment #3 from hjl at gcc dot gnu dot org  2010-09-10 14:44 ---
Subject: Bug 45634

Author: hjl
Date: Fri Sep 10 14:44:20 2010
New Revision: 164183

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164183
Log:
Check that result of string folding is of integral type.

gcc/

2010-09-10  H.J. Lu  hongjiu...@intel.com

PR middle-end/45634
* tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result
of string folding is of integral type.

gcc/testsuite/

2010-09-10  H.J. Lu  hongjiu...@intel.com

PR middle-end/45634
* gfortran.fortran-torture/compile/pr45634.f90: New.

Added:
trunk/gcc/testsuite/gfortran.fortran-torture/compile/pr45634.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-ccp.c


-- 


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



[Bug fortran/45636] New: Failed to fold simple Fortran string

2010-09-10 Thread hjl dot tools at gmail dot com
For this simple Fortran string:

[...@gnu-6 pr45634]$ cat pr45634.f90 
  SUBROUTINE RCRDRD (VTYP)
  CHARACTER(4), INTENT(OUT) :: VTYP 
  CHARACTER(1), SAVE :: DBL = D 
  VTYP = DBL
  END

GCC generates:

[...@gnu-6 pr45634]$ cat pr45634.s 
.file   pr45634.f90
.text
.p2align 4,,15
.globl  rcrdrd_
.type   rcrdrd_, @function
rcrdrd_:
.LFB0:
.cfi_startproc
movzbl  dbl.1557(%rip), %eax
movw$8224, 1(%rdi)
movb$32, 3(%rdi)
movb%al, (%rdi)
ret
.cfi_endproc
.LFE0:
.size   rcrdrd_, .-rcrdrd_
.section.rodata
.type   dbl.1557, @object
.size   dbl.1557, 1
dbl.1557:
.ascii  D
.ident  GCC: (GNU) 4.6.0 20100910 (experimental)
.section.note.GNU-stack,,@progbits

IFORT generates:

[...@gnu-6 pr45634]$ cat icc.s
# -- Machine type EFI2
# mark_description Intel(R) Fortran Compiler XE for applications running on
Intel(R) 64, Version 12.0.0 Beta Build 20100512;
# mark_description -O3 -S;
.file pr45634.f90
.text
..TXTST0:
# -- Begin  rcrdrd_
# mark_begin;
   .align16,0x90
.globl rcrdrd_
rcrdrd_:
# parameter 1: %rdi
# parameter 2: %rsi
..B1.1: # Preds ..B1.0
..___tag_value_rcrdrd_.1:   #1.18
movl  $538976324, (%rdi)#4.7
ret #5.7


-- 
   Summary: Failed to fold simple Fortran string
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug c++/45635] [4.6 regression] Failed to bootstrap on Linux/ia64

2010-09-10 Thread hjl dot tools at gmail dot com


--- Comment #1 from hjl dot tools at gmail dot com  2010-09-10 14:52 ---
It may be caused by revision 164148:

http://gcc.gnu.org/ml/gcc-cvs/2010-09/msg00440.html


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread don dot wakefield at gmail dot com


--- Comment #8 from don dot wakefield at gmail dot com  2010-09-10 14:54 
---
Paolo, yes, _M_file.seekoff(0,cur) would return the current physical file
position, and then filebuf::seekoff would adjust the returned pos_type to
reflect the position within the *logical* file, framed by the buffer and
pointed to by gptr().

As for the mechanics of width*off, I confess that locale issues leave me
completely befuddled, so I won't try to address that.


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #9 from paolo dot carlini at oracle dot com  2010-09-10 15:00 
---
Ok. I don't think we should change the code to deal such specially with off ==
0, if we are going to change it we should decouple the return value from what
the underlying seek returns, and always call fseek(..., width * off, ...) as
the standard mandates. Then dealing with off == 0 becomes simple.


-- 


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



[Bug c/45637] New: Suspicious code for bit fields

2010-09-10 Thread sebastian dot huber at embedded-brains dot de
Please have a look at this test case:

#include stdint.h

struct type1 {
union {
uint8_t reg;
struct {
uint8_t : 7;
uint8_t b : 1;
} bit;

} foo [1];
uint8_t bar;
};

volatile struct type1 *var1;

void f1(int i)
{
var1-foo [i].bit.b = 1;
var1-foo [0].bit.b = 1;
}

struct type2 {
union {
uint8_t reg;
struct {
uint8_t : 7;
uint8_t b : 1;
} bit;

} foo [1];
uint16_t bar;
};

volatile struct type2 *var2;

void f2(int i)
{
var2-foo [i].bit.b = 1;
var2-foo [0].bit.b = 1;
}

struct type3 {
union {
uint8_t reg;
struct {
uint8_t : 7;
uint8_t b : 1;
} bit;

} foo [1];
uint32_t bar;
};

volatile struct type3 *var3;

void f3(int i)
{
var3-foo [i].bit.b = 1;
var3-foo [0].bit.b = 1;
}

And the produced assembler file generated with (powerpc-rtems4.11-gcc -O2 -c
-mcpu=8540 -meabi -msdata -fno-common -save-temps):

.file   bitfields.c
.gnu_attribute 4, 2
.gnu_attribute 8, 1
.gnu_attribute 12, 1
.section.text
.align 2
.globl f1
.type   f1, @function
f1:
lwz 9,v...@sda21(0)
lbzx 0,9,3
ori 0,0,1
stbx 0,9,3
lbz 0,0(9)
ori 0,0,1
stb 0,0(9)
blr
.size   f1, .-f1
.align 2
.globl f2
.type   f2, @function
f2:
lwz 9,v...@sda21(0)
lbzx 0,9,3
ori 0,0,1
stbx 0,9,3
lhz 0,0(9)
ori 0,0,256
sth 0,0(9)
blr
.size   f2, .-f2
.align 2
.globl f3
.type   f3, @function
f3:
lwz 9,v...@sda21(0)
li 11,1
lbzx 0,9,3
ori 0,0,1
stbx 0,9,3
lwz 0,0(9)
rlwimi 0,11,24,7,7
stw 0,0(9)
blr
.size   f3, .-f3
.globl var1
.globl var2
.globl var3
.section.sbss,aw,@nobits
.align 2
.type   var1, @object
.size   var1, 4
var1:
.zero   4
.type   var2, @object
.size   var2, 4
var2:
.zero   4
.type   var3, @object
.size   var3, 4
var3:
.zero   4
.ident  GCC: (GNU) 4.5.1 20100731 (RTEMS
gcc-4.5.1-5.suse11.2/newlib-1.18.0-20.suse11.2)

Here you can see, that the access to the 'foo' field depends on

1. index is constant or variable, and
2. the 'bar' field type.

I think that both dependencies are wrong.  In any case byte accesses should be
used.


-- 
   Summary: Suspicious code for bit fields
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sebastian dot huber at embedded-brains dot de
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: powerpc-rtems4.11


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



[Bug fortran/45636] Failed to fold simple Fortran string

2010-09-10 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2010-09-10 15:12 ---
I have a slightly different result with your code.

troutmask:sgk[212] gfc4x -c -O g.f90
g.f90: In function 'rcrdrd':
g.f90:1:0: internal compiler error: in build_int_cst_wide, at tree.c:1218
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

If I replace the SAVE attribute by PARAMETER (which will most
likely cause the folding you want), everything compiles fine.
The ICE also goes away if I increase the length of DBL from
one to any larger value.

troutmask:sgk[219] gfc4x -v
Using built-in specs.
COLLECT_GCC=/home/sgk/work/4x/bin/gfortran
COLLECT_LTO_WRAPPER=/usr/home/sgk/work/4x/bin/../libexec/gcc/x86_64-unknown-freebsd9.0/4.6.0/lto-wrapper
Target: x86_64-unknown-freebsd9.0
Configured with: ../gcc4x/configure --prefix=/home/sgk/work/4x
--enable-languages=c,fortran --disable-libmudflap --disable-bootstrap
--with-quad=/home/sgk/work
Thread model: posix
gcc version 4.6.0 20100909 (experimental) (GCC) 


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread don dot wakefield at gmail dot com


--- Comment #10 from don dot wakefield at gmail dot com  2010-09-10 15:15 
---
(In reply to comment #9)
 Ok. I don't think we should change the code to deal such specially with off ==
 0, if we are going to change it we should decouple the return value from what
 the underlying seek returns, and always call fseek(..., width * off, ...) as
 the standard mandates. Then dealing with off == 0 becomes simple.

I'm not sure I understand what you are saying. My concern is that calls to
filebuf::seekoff(0,ios::cur) should not invalidate the buffer just to return a
correct answer to where am I?. Whether this is an accident of history or not,
I've seen this usage enshrined in code as a respected idiom.

Does your text above specify this?


-- 


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



[Bug bootstrap/45612] [4.6 regression] Reference to undefined label building libada no Solaris 2/SPARC

2010-09-10 Thread ro at CeBiTec dot Uni-Bielefeld dot DE


--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld dot DE  2010-09-10 
15:15 ---
Subject: Re:  [4.6 regression] Reference to undefined label building libada no
Solaris 2/SPARC

A reghunt identified that the regression was caused by this patch:

2010-09-07  Jan Hubicka  j...@suse.cz

* tree-inline.c (tree_inlinable_function_p): Do not test
DECL_REPLACEABL
E_P.
* ipa-inline.c (cgraph_default_inline_p, update_caller_keys,
update_call
ee_keys,
cgraph_decide_inlining): Test function availability.
* cif-code.def (OVERWRITABLE): New code.


-- 


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



[Bug bootstrap/45612] [4.6 regression] Reference to undefined label building libada on Solaris 2/SPARC

2010-09-10 Thread ro at gcc dot gnu dot org


--- Comment #4 from ro at gcc dot gnu dot org  2010-09-10 15:19 ---
Jan, could you please have a look.


-- 

ro at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
Summary|[4.6 regression] Reference  |[4.6 regression] Reference
   |to undefined label building |to undefined label building
   |libada no Solaris 2/SPARC   |libada on Solaris 2/SPARC


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #11 from paolo dot carlini at oracle dot com  2010-09-10 15:19 
---
Sure. What I meant - contrary to wait you said, I think - is that an elegant
and complete solution to this issue involves changing much more generally our
code to *always* behave as if fseek(off * width) were called, not just fseek(0)
in the special case you care about.


-- 


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



[Bug fortran/45636] Failed to fold simple Fortran string

2010-09-10 Thread kargl at gcc dot gnu dot org


--- Comment #2 from kargl at gcc dot gnu dot org  2010-09-10 15:20 ---
The -fdump-tree-original for HJ's original code look like

rcrdrd (character(kind=1)[1:4]  restrict vtyp, integer(kind=4) _vtyp)
{
  static character(kind=1) dbl[1:1] = D;

  (MEM[(c_char * {ref-all})vtyp] = MEM[(c_char * {ref-all})dbl];, (void *)
vtyp;);
  __builtin_memset ((void *) vtyp + 1, 32, 3);
}

If I increase the length of DBL to 2, then the dump looks like

rcrdrd (character(kind=1)[1:4]  restrict vtyp, integer(kind=4) _vtyp)
{
  static character(kind=1) dbl[1:2] = D ;

  __builtin_memmove ((void *) vtyp, (void *) dbl, 2);
  __builtin_memset ((void *) vtyp + 2, 32, 2);
}


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread don dot wakefield at gmail dot com


--- Comment #12 from don dot wakefield at gmail dot com  2010-09-10 15:24 
---
(In reply to comment #11)
 Sure. What I meant - contrary to wait you said, I think - is that an elegant
 and complete solution to this issue involves changing much more generally our
 code to *always* behave as if fseek(off * width) were called, not just 
 fseek(0)
 in the special case you care about.

Okay, I understand better now. My apologies, and thanks for your comments on
this issue.


-- 


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



[Bug testsuite/45638] New: No rule to make target `check-lto', needed by `check'. Stop.

2010-09-10 Thread zsojka at seznam dot cz
When gcc is configured with --enable-languages=...,lto,..., make check fails
with:

make[3]: Leaving directory
`/home/smatz/build-164162-lto-fortran-checking-yes-rtl-df/gcc'
make[2]: *** No rule to make target `check-lto', needed by `check'.  Stop.
make[2]: Leaving directory
`/home/smatz/build-164162-lto-fortran-checking-yes-rtl-df/gcc'
make[1]: *** [check-gcc] Error 2
make[1]: Leaving directory
`/home/smatz/build-164162-lto-fortran-checking-yes-rtl-df'
make: *** [do-check] Error 2

check-gcc, check-g++ and check-gfortran finish fine

Version information:
$ /mnt/svn/gcc-trunk/binary-164162-lto-fortran-checking-yes-rtl-df/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/mnt/svn/gcc-trunk/binary-164162-lto-fortran-checking-yes-rtl-df/bin/gcc
COLLECT_LTO_WRAPPER=/mnt/svn/gcc-trunk/binary-164162-lto-fortran-checking-yes-rtl-df/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /mnt/svn/gcc-trunk/configure --enable-checking=yes,rtl,df
--enable-languages=c,c++,lto,fortran
--prefix=/mnt/svn/gcc-trunk/binary-164162-lto-fortran-checking-yes-rtl-df/
Thread model: posix
gcc version 4.6.0 20100910 (experimental) (GCC)

I think this never worked (as far as I remember)

According to http://gcc.gnu.org/install/configure.html, --enable-languages=lto
is allowed, as its output by:
gcc $ grep language= */config-lang.in
ada/config-lang.in:language=ada
cp/config-lang.in:language=c++
fortran/config-lang.in:language=fortran
java/config-lang.in:language=java
lto/config-lang.in:language=lto
objc/config-lang.in:language=objc
objcp/config-lang.in:language=obj-c++


-- 
   Summary: No rule to make target `check-lto', needed by `check'.
Stop.
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: zsojka at seznam dot cz
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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



[Bug libstdc++/45574] cin.getline() is extremely slow

2010-09-10 Thread tstarling at wikimedia dot org


--- Comment #24 from tstarling at wikimedia dot org  2010-09-10 15:25 
---
Created an attachment (id=21766)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21766action=view)
dynamic_cast hack

The attached patch uses a dynamic_cast hack to avoid the need to break the
ABI. I added *_unlocked functions to cstdio, I'm not sure if this is necessary,
but it's easy enough to remove that part if not. I also added some
lightly-tested autoconf stuff. I'm an autoconf newbie so that part should
probably be reviewed carefully. 

stdio_sync_filebufwchar_t::_M_getline() is currently unreachable, since I
only edited basic_istreamchar::getline() and not
basic_istreamwchar_t::getline(). It would be easy enough to fix that. I
haven't used getwc_unlocked() because it's a GNU extension, POSIX only has
non-wide unlocked I/O. 

The timings for 1M lines with 500 bytes per line, user time only, are:

Old library: 26.7s
New library: 1.65s
fgets: 0.280s

So it's better, but not perfect.


-- 


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



[Bug tree-optimization/45639] New: [4.6 Regression] /usr/ccs/bin/ld: Data address is out of range for short load or store

2010-09-10 Thread danglin at gcc dot gnu dot org
cd rts; ../../xgcc -B../../ -shared -g -O2  \
-fPIC -frandom-seed=fixed-seed \
-o libgnat-4.6.sl \
a-assert.o a-calari.o a-calcon.o a-caldel.o a-calend.o
a-calfor.
o a-catizo.o a-cdlili.o a-cgaaso.o a-cgarso.o a-cgcaso.o a-chacon.o a-chahan.o
a
-charac.o a-chlat1.o a-chlat9.o a-chtgke.o a-chtgop.o a-chzla1.o a-chzla9.o
a-ci
dlli.o a-cihama.o a-cihase.o a-ciorma.o a-ciormu.o a-ciorse.o a-clrefi.o
a-coham
a.o a-cohase.o a-cohata.o a-coinve.o a-colien.o a-colire.o a-comlin.o
a-contai.o
 a-convec.o a-coorma.o a-coormu.o a-coorse.o a-coprnu.o a-coteio.o a-crbltr.o
a-
crbtgk.o a-crbtgo.o a-crdlli.o a-cwila1.o a-cwila9.o a-decima.o a-diocst.o
a-dir
ect.o a-direio.o a-dirval.o a-einuoc.o a-elchha.o a-envvar.o a-except.o
a-exctra
.o a-filico.o a-finali.o a-flteio.o a-fwteio.o a-fzteio.o a-inteio.o a-ioexce.o
a-iwteio.o a-izteio.o a-lcteio.o a-lfteio.o a-lfwtio.o a-lfztio.o a-liteio.o
a-l
iwtio.o a-liztio.o a-llctio.o a-llftio.o a-llfwti.o a-llfzti.o a-llitio.o
a-lliw
ti.o a-llizti.o a-ncelfu.o a-ngcefu.o a-ngcoty.o a-ngelfu.o a-ngrear.o
a-nlcefu.
o a-nlcoty.o a-nlelfu.o a-nllcef.o a-nllcty.o a-nllefu.o a-nscefu.o a-nscoty.o
a
-nselfu.o a-nucoty.o a-nudira.o a-nuelfu.o a-nuflra.o a-numaux.o a-numeri.o
a-rb
tgso.o a-scteio.o a-secain.o a-sequio.o a-sfteio.o a-sfwtio.o a-sfztio.o
a-shcai
n.o a-siocst.o a-siteio.o a-siwtio.o a-siztio.o a-slcain.o a-ssicst.o
a-ssitio.o
 a-ssiwti.o a-ssizti.o a-stboha.o a-stfiha.o a-stmaco.o a-storio.o a-strbou.o
a-
stream.o a-strfix.o a-strhas.o a-string.o a-strmap.o a-strsea.o a-strsup.o
a-str
unb.o a-ststio.o a-stunau.o a-stunha.o a-stuten.o a-stwibo.o a-stwifi.o
a-stwiha
.o a-stwima.o a-stwise.o a-stwisu.o a-stwiun.o a-stzbou.o a-stzfix.o a-stzhas.o
a-stzmap.o a-stzsea.o a-stzsup.o a-stzunb.o a-suenco.o a-suesen.o a-suewse.o
a-s
uezse.o a-suteio.o a-swbwha.o a-swfwha.o a-swmwco.o a-swunau.o a-swuwha.o
a-swuw
ti.o a-szbzha.o a-szfzha.o a-szmzco.o a-szunau.o a-szuzha.o a-szuzti.o a-tags.o
a-teioed.o a-textio.o a-tgdico.o a-tiboio.o a-ticoau.o a-ticoio.o a-tideau.o
a-t
ideio.o a-tienau.o a-tienio.o a-tifiio.o a-tiflau.o a-tiflio.o a-tigeau.o
a-tiin
au.o a-tiinio.o a-timoau.o a-timoio.o a-tiocst.o a-tirsfi.o a-titest.o
a-tiunio.
o a-unccon.o a-uncdea.o a-wichun.o a-widcha.o a-witeio.o a-wrstfi.o a-wtcoau.o
a
-wtcoio.o a-wtcstr.o a-wtdeau.o a-wtdeio.o a-wtedit.o a-wtenau.o a-wtenio.o
a-wt
fiio.o a-wtflau.o a-wtflio.o a-wtgeau.o a-wtinau.o a-wtinio.o a-wtmoau.o
a-wtmoi
o.o a-wttest.o a-wwboio.o a-wwunio.o a-zchara.o a-zchuni.o a-zrstfi.o
a-ztcoau.o
 a-ztcoio.o a-ztcstr.o a-ztdeau.o a-ztdeio.o a-ztedit.o a-ztenau.o a-ztenio.o
a-
ztexio.o a-ztfiio.o a-ztflau.o a-ztflio.o a-ztgeau.o a-ztinau.o a-ztinio.o
a-ztm
oau.o a-ztmoio.o a-zttest.o a-zzboio.o a-zzunio.o ada.o calendar.o directio.o
g-
allein.o g-alleve.o g-altcon.o g-altive.o g-alveop.o g-alvety.o g-alvevi.o
g-arr
spl.o g-awk.o g-bubsor.o g-busora.o g-busorg.o g-byorma.o g-bytswa.o g-calend.o
g-casuti.o g-catiio.o g-cgi.o g-cgicoo.o g-cgideb.o g-comlin.o g-comver.o
g-crc3
2.o g-ctrl_c.o g-curexc.o g-debpoo.o g-debuti.o g-decstr.o g-deutst.o
g-diopit.o
 g-dirope.o g-dynhta.o g-dyntab.o g-encstr.o g-enutst.o g-excact.o g-except.o
g-
exctra.o g-expect.o g-flocon.o g-heasor.o g-hesora.o g-hesorg.o g-htable.o
g-io.
o g-io_aux.o g-locfil.o g-mbdira.o g-mbflra.o g-md5.o g-memdum.o g-moreex.o
g-os
_lib.o g-pehage.o g-rannum.o g-regexp.o g-regpat.o g-sechas.o g-sehamd.o
g-sehas
h.o g-sercom.o g-sestin.o g-sha1.o g-sha224.o g-sha256.o g-sha384.o g-sha512.o
g
-shsh32.o g-shsh64.o g-shshco.o g-souinf.o g-spchge.o g-speche.o g-spipat.o
g-sp
itbo.o g-sptabo.o g-sptain.o g-sptavs.o g-string.o g-strspl.o g-table.o
g-tasloc
.o g-timsta.o g-traceb.o g-u3spch.o g-utf_32.o g-wispch.o g-wistsp.o g-zspche.o
g-zstspl.o gnat.o i-c.o i-cexten.o i-cobol.o i-cpoint.o i-cpp.o i-cstrea.o
i-cst
rin.o i-fortra.o i-pacdec.o interfac.o ioexcept.o machcode.o s-addima.o
s-addope
.o s-arit64.o s-assert.o s-atacco.o s-auxdec.o s-bitops.o s-boarop.o s-carsi8.o
s-carun8.o s-casi16.o s-casi32.o s-casi64.o s-casuti.o s-caun16.o s-caun32.o
s-c
aun64.o s-chepoo.o s-commun.o s-conca2.o s-conca3.o s-conca4.o s-conca5.o
s-conc
a6.o s-conca7.o s-conca8.o s-conca9.o s-crc32.o s-crtl.o s-crtrun.o s-direio.o
s
-dsaser.o s-except.o s-exctab.o s-exnint.o s-exnllf.o s-exnlli.o s-expint.o
s-ex
plli.o s-expllu.o s-expmod.o s-expuns.o s-fatflt.o s-fatgen.o s-fatlfl.o
s-fatll
f.o s-fatsfl.o s-ficobl.o s-fileio.o s-filofl.o s-finimp.o s-finroo.o
s-fishfl.o
 s-fore.o s-fvadfl.o s-fvaffl.o s-fvagfl.o s-geveop.o s-gloloc.o s-htable.o
s-im
enne.o s-imgbiu.o s-imgboo.o s-imgcha.o s-imgdec.o s-imgenu.o s-imgint.o
s-imgll
b.o s-imglld.o s-imglli.o s-imgllu.o s-imgllw.o s-imgrea.o s-imguns.o
s-imgwch.o
 s-imgwiu.o s-io.o s-maccod.o s-mantis.o s-mastop.o s-memcop.o s-memory.o
s-os_l
ib.o s-osprim.o s-pack03.o s-pack05.o s-pack06.o s-pack07.o s-pack09.o
s-pack10.
o s-pack11.o s-pack12.o s-pack13.o s-pack14.o s-pack15.o s-pack17.o s-pack18.o
s
-pack19.o 

[Bug target/45637] Suspicious code for bit fields

2010-09-10 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-09-10 15:30 ---
1. index is constant or variable, and

Yes that is correct.  

2. the 'bar' field type.

The alignment of the access is different in those cases.  

In any case byte accesses should be used.
Why, word access is just as fast (if not faster) than a byte access on PPC.


-- 


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



[Bug fortran/45636] Failed to fold simple Fortran string

2010-09-10 Thread hjl dot tools at gmail dot com


--- Comment #3 from hjl dot tools at gmail dot com  2010-09-10 15:32 ---
(In reply to comment #1)
 I have a slightly different result with your code.
 
 troutmask:sgk[212] gfc4x -c -O g.f90
 g.f90: In function 'rcrdrd':
 g.f90:1:0: internal compiler error: in build_int_cst_wide, at tree.c:1218
 Please submit a full bug report,
 with preprocessed source if appropriate.
 See http://gcc.gnu.org/bugs.html for instructions.
 


It is fixed by

http://gcc.gnu.org/ml/gcc-cvs/2010-09/msg00475.html


-- 


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



[Bug fortran/45636] Failed to fold simple Fortran string

2010-09-10 Thread kargl at gcc dot gnu dot org


--- Comment #4 from kargl at gcc dot gnu dot org  2010-09-10 15:34 ---
(In reply to comment #3)
 (In reply to comment #1)
  I have a slightly different result with your code.
  
  troutmask:sgk[212] gfc4x -c -O g.f90
  g.f90: In function 'rcrdrd':
  g.f90:1:0: internal compiler error: in build_int_cst_wide, at tree.c:1218
  Please submit a full bug report,
  with preprocessed source if appropriate.
  See http://gcc.gnu.org/bugs.html for instructions.
  
 
 
 It is fixed by
 
 http://gcc.gnu.org/ml/gcc-cvs/2010-09/msg00475.html
 

HJ,

Thanks.  I updated by trunk right before your patch,
so I missed it my most recent build.


-- 


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



[Bug lto/45638] No rule to make target `check-lto', needed by `check'. Stop.

2010-09-10 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-09-10 15:35 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|testsuite   |lto
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-10 15:35:19
   date||


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



[Bug target/45637] Suspicious code for bit fields

2010-09-10 Thread sebastian dot huber at embedded-brains dot de


--- Comment #2 from sebastian dot huber at embedded-brains dot de  
2010-09-10 15:43 ---
(In reply to comment #1)
 1. index is constant or variable, and
 
 Yes that is correct.  
 
 2. the 'bar' field type.
 
 The alignment of the access is different in those cases.

Sorry, the test case was not good.  If you expand foo [1] to foo [4] you still
have this behavior.

 
 In any case byte accesses should be used.
 Why, word access is just as fast (if not faster) than a byte access on PPC.
 

Yes, but we have 'volatile struct type1 *varN;'.  For volatile fields we should
use accesses of the appropriate width.

The background is that a major hardware manufacturer provided structure
definitions like the above test case for register definitions.


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #13 from paolo dot carlini at oracle dot com  2010-09-10 15:45 
---
Good, I think we are close to a fix, I'm already testing something. So, do we
have a symmetric issue with the put area or not? I'm not sure.


-- 


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



[Bug target/45637] Suspicious code for bit fields

2010-09-10 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2010-09-10 15:46 ---
For volatile fields we should use accesses of the appropriate width.

The PowerPC ABI has specific rules for accessing volatile bitfields and IIRC it
says they should be doing the largest available (up to the register size) size.

This is different from the ARM ABI which says the opposite.


-- 


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



[Bug fortran/45636] Failed to fold simple Fortran string

2010-09-10 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2010-09-10 15:47 ---
For arbitrary lengths (both of the constant string and of the padding) the
memmove (which will be optimized to memcpy as the source is read-only) + memset
is the best thing to do, replacing say
memmove (x, 900 bytes long string, 900);
memset (x + 900, ' ', 100);
would be very .rodata size unfriendly.
So, the question is, do we want to optimize this for very small sizes of both
(what sizes?  Should we call can_store_by_pieces to determine that from the
FE?)
in the FE by transforming that say
memmove (x, ABCDE, 5);
memset (x + 5, ' ', 3);
into
memcpy (x, ABCDE   , 8);
or should we do this generically in the middle-end, where we'd do this
transformation for such cases even for other languages?


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code


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



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-10 Thread ro at CeBiTec dot Uni-Bielefeld dot DE


--- Comment #5 from ro at CeBiTec dot Uni-Bielefeld dot DE  2010-09-10 
15:48 ---
Subject: Re:  [4.6 regression] SIGBUS in generate_option_input_file on Solaris
2/SPARC

 --- Comment #4 from rguenth at gcc dot gnu dot org  2010-09-09 13:27 
 ---

 I don't have access to sparc-sun-solaris2*, so I can't bootstrap it (but
 at most build a cross cc1).

Not even sparc-linux?  I very much doubt the bug is Solaris-specific.

 So please attach a testcase (easiest is probably in a non-bootstrapped
 tree run make check and pick a simple one that fails from the C testsuite).

Ok, I'll try to find one.

 Is sparc-sun-solaris2* a STRICT_ALIGNMENT target?  What's the clr instruction?
 Is it a store or a load?

Yes, cf. sparc.h.

clr and clrx store 0 (4 or 8 bytes) at the target address, requiring
natural alignment (which fails with your patch for the clrx case).


-- 


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



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-10 Thread rguenther at suse dot de


--- Comment #6 from rguenther at suse dot de  2010-09-10 15:51 ---
Subject: Re:  [4.6 regression] SIGBUS in generate_option_input_file
 on Solaris 2/SPARC

On Fri, 10 Sep 2010, ro at CeBiTec dot Uni-Bielefeld dot DE wrote:

 --- Comment #5 from ro at CeBiTec dot Uni-Bielefeld dot DE  2010-09-10 
 15:48 ---
 Subject: Re:  [4.6 regression] SIGBUS in generate_option_input_file on Solaris
 2/SPARC
 
  --- Comment #4 from rguenth at gcc dot gnu dot org  2010-09-09 13:27 
  ---
 
  I don't have access to sparc-sun-solaris2*, so I can't bootstrap it (but
  at most build a cross cc1).
 
 Not even sparc-linux?  I very much doubt the bug is Solaris-specific.

No, not even sparc-linux.

  So please attach a testcase (easiest is probably in a non-bootstrapped
  tree run make check and pick a simple one that fails from the C testsuite).
 
 Ok, I'll try to find one.
 
  Is sparc-sun-solaris2* a STRICT_ALIGNMENT target?  What's the clr 
  instruction?
  Is it a store or a load?
 
 Yes, cf. sparc.h.
 
 clr and clrx store 0 (4 or 8 bytes) at the target address, requiring
 natural alignment (which fails with your patch for the clrx case).

Thanks.


-- 


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



[Bug target/45637] Suspicious code for bit fields

2010-09-10 Thread sebastian dot huber at embedded-brains dot de


--- Comment #4 from sebastian dot huber at embedded-brains dot de  
2010-09-10 15:59 ---
(In reply to comment #3)
 For volatile fields we should use accesses of the appropriate width.
 
 The PowerPC ABI has specific rules for accessing volatile bitfields and IIRC 
 it
 says they should be doing the largest available (up to the register size) 
 size.
 
 This is different from the ARM ABI which says the opposite.
 

Thank you very much for your comments.  I will investigate the PowerPC ABI
issue and contact the manufacturer.  Ironically they produced the ABI and these
register definitions.


-- 

sebastian dot huber at embedded-brains dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread potswa at mac dot com


--- Comment #14 from potswa at mac dot com  2010-09-10 15:59 ---
(In reply to comment #13)
 Good, I think we are close to a fix, I'm already testing something. So, do we
 have a symmetric issue with the put area or not? I'm not sure.

I believe so. tellg and tellp are both handled by seekoff( 0, ios::cur ), and
the required behavior doesn't differentiate between them, partly because for an
fstream the get and put pointers are the same. (The result doesn't depend on
the pointers, it comes from fseek.)


-- 


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



[Bug libstdc++/45574] cin.getline() is extremely slow

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #25 from paolo dot carlini at oracle dot com  2010-09-10 16:01 
---
Good. Please give me a couple of days to come to your code. Note, since you
don't have a Copyright Assignment on file, it will be difficult to fully
acknowledge your work in the ChangeLog. Thus, I would suggest having first a
minimal patch, limited to char, limited in any way ;) but still sufficient to
bring most of the improvement we are aiming to within the ABI.


-- 


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



[Bug fortran/45624] Division by zero compiler error

2010-09-10 Thread leftynm at umich dot edu


--- Comment #5 from leftynm at umich dot edu  2010-09-10 16:06 ---
Thanks guys.  Yeah, I guess my use of PARAMETER wasn't consistent with how it
works.  I was using it to set a variable such that it cannot be changed.  I
found a work around though lets me keep it as a PARAMETER, but allows me to
compile.

PROGRAM test

IMPLICIT NONE
REAL*8, PARAMETER   :: alpha = 0.D0
REAL*8, DIMENSION(5,5)  :: matrix
INTEGER :: i
REAL*8  :: dummy

matrix = 0.D0

DO i=1,5
IF (alpha == 0.D0) THEN
matrix(i,i) = 0.D0
ELSE
dummy = alpha
matrix(i,i) = 1.D0/dummy
ENDIF
ENDDO

END PROGRAM

This is what I need, since when I don't make my variable a PARAMETER, it causes
other problems.  This requires less work to fix, so I'm happy with it.  I tried
PROTECTED, but my code has to be F90 because it's a small part of a bigger
project.

Thanks to everyone though.  I wouldn't have figured this out without your
inputs.


-- 


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



[Bug fortran/45596] Implement simple static points-to analysis in Fortran FE

2010-09-10 Thread mikael at gcc dot gnu dot org


--- Comment #8 from mikael at gcc dot gnu dot org  2010-09-10 16:11 ---

In the patch there is a small mistake :
+  if (symtree-n.sym-attr.flavor == FL_PARAMETER
+   symtree-n.sym-attr.intent != INTENT_OUT)
+symtree-n.sym-points_to = gfc_pt_dummy;

Parameters in the fortran jargon are named constants. 
It should probably be `symtree-n.sym-attr.dummy' instead of
`symtree-n.sym-attr.flavor == FL_PARAMETER'

(In reply to comment #7)
 For the interprocedural analysis I believe static points-to is the only
 reasonable thing to do, anything else would have too big complexity (both 
 space
 and time).  Within one function, sure, you have the code, but not in a form
 which makes it very easy to do such analysis (e.g. SSA form is much more
 suitable for that), and you need to understand many different constructs (IF,
 loops, GOTO, CYCLE, BREAK, OpenMP constructs, ...) and handle propagating the
 information through the callgraph (which isn't built).  I think reimplementing
 many middle-end passes on the Front-end trees is not the right way to go, and 
 I
 hope the static points-to analysis should catch most of the interesting cases
 in real-world code.
 

I see. 
Given my knowledge of the middle-end, I have nothing to oppose. 


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread potswa at mac dot com


--- Comment #15 from potswa at mac dot com  2010-09-10 16:15 ---
(In reply to comment #14)

 (The result doesn't depend on
 the pointers, it comes from fseek.)

I re-read Comment 5 and understand it this time ;v) . Well, any solution should
fix both tellg and tellp, since the pointers are the same upon synchronization.

Then, yes, we need to check which type of operation occurred last, and either
update whichever pointer is stale, or selectively use the correct one.


-- 


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



[Bug target/45640] New: gcc.c-torture/execute/20050316-2.c ICEs with -mno-mmx -m3dnow -flto

2010-09-10 Thread zsojka at seznam dot cz
Compiler output:

$ gcc -mno-mmx -m3dnow -flto gcc.c-torture/execute/20050316-2.c
In file included from gcc.c-torture/execute/20050316-2.c:34:0,
 from :0:
gcc.c-torture/execute/20050316-2.c: In function 'main':
gcc.c-torture/execute/20050316-2.c:45:15: internal compiler error: in
copy_to_mode_reg, at explow.c:636
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
lto-wrapper:
/mnt/svn/gcc-trunk/binary-164162-lto-fortran-checking-yes-rtl-df/bin/gcc
returned 1 exit status
collect2: lto-wrapper returned 1 exit status

$ gcc -mno-mmx -m3dnow -flto gcc.c-torture/execute/20050316-2.c -O
In file included from gcc.c-torture/execute/20050316-2.c:34:0,  
 from :0:   
gcc.c-torture/execute/20050316-2.c: In function 'test3':
gcc.c-torture/execute/20050316-2.c:24:3: internal compiler error: in
expand_expr_real_1, at expr.c:8484  
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
lto-wrapper:
/mnt/svn/gcc-trunk/binary-164162-lto-fortran-checking-yes-rtl-df/bin/gcc
returned 1 exit status
collect2: lto-wrapper returned 1 exit status

$ gcc -mno-mmx -m3dnow -flto gcc.c-torture/execute/20050316-2.c -m32
In file included from :0:0:
gcc.c-torture/execute/20050316-2.c: In function 'test1':
gcc.c-torture/execute/20050316-2.c:10:1: warning: MMX vector argument without
MMX enabled changes the ABI [enabled by default]
In file included from gcc.c-torture/execute/20050316-2.c:34:0,
 from :0:
gcc.c-torture/execute/20050316-2.c: In function 'main':
gcc.c-torture/execute/20050316-2.c:45:15: internal compiler error: in
emit_move_insn, at expr.c:3386
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
lto-wrapper:
/mnt/svn/gcc-trunk/binary-164162-lto-fortran-checking-yes-rtl-df/bin/gcc
returned 1 exit status
collect2: lto-wrapper returned 1 exit status

Tested revisions:
r164162 - crash
r153685 - crash


-- 
   Summary: gcc.c-torture/execute/20050316-2.c ICEs with -mno-mmx -
m3dnow -flto
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: zsojka at seznam dot cz
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #16 from paolo dot carlini at oracle dot com  2010-09-10 17:11 
---
Actually, however, I don't think we can really always call fseek(off * width)
as the Standard want us to do. In a sense I'm happy because the change is gonna
be less invasive, on the other hand I'm a bit puzzled.


-- 


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



[Bug c++/45635] [4.6 regression] Failed to bootstrap on Linux/ia64

2010-09-10 Thread hubicka at gcc dot gnu dot org


--- Comment #2 from hubicka at gcc dot gnu dot org  2010-09-10 17:14 ---
Hi,
would be possible to have preprocessed source for a cross compiler?


-- 


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



[Bug fortran/45641] New: configure: error: GNU Fortran is not working

2010-09-10 Thread chang dot king at us dot icap dot com
Have problem to make fortran work in x64 environment.
Linux test1.us.icap.com 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009
x86_64 x86_64 x86_64 GNU/Linux
gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk
--disable-dssi --enable-plugin
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic
--host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)

cat /root/gcc-4.5.0/x86_64-unknown-linux-gnu/libgfortran/config.log

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by GNU Fortran Runtime Library configure 0.3, which was
generated by GNU Autoconf 2.64.  Invocation command line was

  $ /root/gcc-4.5.0/libgfortran/configure --cache-file=./config.cache
--enable-multilib --prefix=/usr/local/x64/gcc_4_5_0
--with-gmp=/usr/local/x64/gmp_4_3_2 --with-mpfr=/usr/local/x64/mpfr_2_4_2
--with-mpfr-include=/usr/local/x64/mpfr_2_4_2/include
--with-mpfr-lib=/usr/local/x64/mpfr_2_4_2/lib
--with-mpc=/usr/local/x64/mpc_0_8_2 --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile --enable-java-awt=gtk
--disable-dssi --enable-plugin
--with-java-home=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre
--with-cpu=generic --enable-languages=c,c++,fortran,java,objc,obj-c++
--program-transform-name=s,y,y, --disable-option-checking
--with-target-subdir=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu
--host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu
--srcdir=../.././libgfortran

## - ##
## Platform. ##
## - ##

hostname = test1.us.icap.com
uname -m = x86_64
uname -r = 2.6.18-164.el5
uname -s = Linux
uname -v = #1 SMP Thu Sep 3 03:28:30 EDT 2009

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch  = x86_64
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo  = unknown
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /usr/kerberos/sbin
PATH: /usr/kerberos/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /sbin
PATH: /bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /root/bin


## --- ##
## Core tests. ##
## --- ##
configure:2502: creating cache ./config.cache
configure:2607: checking build system type
configure:2621: result: x86_64-unknown-linux-gnu
configure:2691: checking for --enable-version-specific-runtime-libs
configure:2704: result: no
configure:2708: checking for --enable-intermodule
configure:2720: result:
configure:2747: checking host system type
configure:2760: result: x86_64-unknown-linux-gnu
configure:2780: checking target system type
configure:2793: result: x86_64-unknown-linux-gnu
configure:2848: checking for a BSD-compatible install
configure:2916: result: /usr/bin/install -c
configure:2927: checking whether build environment is sane
configure:2977: result: yes
configure:3118: checking for a thread-safe mkdir -p
configure:3157: result: /bin/mkdir -p
configure:3170: checking for gawk
configure:3197: result: gawk
configure:3208: checking whether make sets $(MAKE)
configure:3230: result: yes
configure:3303: checking whether to enable maintainer-specific portions of
Makefiles
configure:3312: result: no
configure:3422: checking for x86_64-unknown-linux-gnu-gcc
configure:3449: result: /root/gcc-4.5.0/host-x86_64-unknown-linux-gnu/gcc/xgcc
-B/root/gcc-4.5.0/host-x86_64-unknown-linux-gnu/gcc/
-B/usr/local/x64/gcc_4_5_0/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x64/gcc_4_5_0/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x64/gcc_4_5_0/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x64/gcc_4_5_0/x86_64-unknown-linux-gnu/sys-include
configure:3718: checking for C compiler version
configure:3727: /root/gcc-4.5.0/host-x86_64-unknown-linux-gnu/gcc/xgcc
-B/root/gcc-4.5.0/host-x86_64-unknown-linux-gnu/gcc/
-B/usr/local/x64/gcc_4_5_0/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x64/gcc_4_5_0/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x64/gcc_4_5_0/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x64/gcc_4_5_0/x86_64-unknown-linux-gnu/sys-include--version 5
xgcc (GCC) 4.5.0
Copyright (C) 2010 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.

configure:3738: $? = 0
configure:3727: /root/gcc-4.5.0/host-x86_64-unknown-linux-gnu/gcc/xgcc
-B/root/gcc-4.5.0/host-x86_64-unknown-linux-gnu/gcc/

[Bug fortran/45641] configure: error: GNU Fortran is not working

2010-09-10 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2010-09-10 17:20 ---
libmpfr.so.1: undefined symbol: __gmp_get_memory_functions

That means libmpfr is finding the incorrect GMP.  This is not a GCC bug but
rather a bug in your LD_LIBRARY_PATH or ld.so configuration.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread potswa at mac dot com


--- Comment #17 from potswa at mac dot com  2010-09-10 17:25 ---
(In reply to comment #16)
 Actually, however, I don't think we can really always call fseek(off * width)
 as the Standard want us to do. In a sense I'm happy because the change is 
 gonna
 be less invasive, on the other hand I'm a bit puzzled.

Could you post a patch? I'm not sure what you mean by generalizing (off *
width), if off == 0 then width is irrelevant. If width  0 then the only valid
value for off is 0. If width  0, off != 0 then repositioning is the primary
effect.

The task is to call fseek(0,cur), and then subtract the number of bytes in the
put area plus the external characters, right?


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #18 from paolo dot carlini at oracle dot com  2010-09-10 17:29 
---
I'm almost ready for the patch, please be patient ;) If look at the standard,
it says that the last step of seekoff is *always* as if calling fseek(..., off
* width, ...). If look at the current code, we have the concept of
__computed_off and, in many cases we end up calling the equivalent of fseek
with something != off * width. I'm changing that to (0, cur) for the case you
care about, but not changing anything else otherwise.


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread paolo dot carlini at oracle dot com


--- Comment #19 from paolo dot carlini at oracle dot com  2010-09-10 17:30 
---
Of course here I'm always under the assumption width  0.


-- 


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



[Bug c++/45642] g++ 4.6 regression, c++0x, weird mismatch for arguments with forwarded declaration when attributes are involved

2010-09-10 Thread tbptbp at gmail dot com


--- Comment #1 from tbptbp at gmail dot com  2010-09-10 17:34 ---
Created an attachment (id=21767)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21767action=view)
large  fugly testcase


-- 


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



[Bug c++/45642] New: g++ 4.6 regression, c++0x, weird mismatch for arguments with forwarded declaration when attributes are involved

2010-09-10 Thread tbptbp at gmail dot com
Since around 2010/09/07 g++ started to barf on the attached source about a
mismatched prototype. Apparently the culprit is the forward declaration + later
definition with additional attribute of one of the argument, and, if the
forward declaration is sprinkled with said attribute, the error goes away.

I've failed to reduce both manually and with delta (mismatched prototypes are
too easily produced). Sorry.

$ /usr/local/gcc-4.6-20100910/bin/g++ -std=c++0x -c synth.ii
src/audio/synth_voice_impl.h:140:6: error: prototype for 'bool
synth::voice::voice_t::produce_chunk(const synth::semitones_lut_t, const
synth::midi_channels_params_t, synth::chunk_array_mono_t)' does not match any
in class 'synth::voice::voice_t'
src/audio/synth_voice.h:153:156: error: candidate is:
templatesynth::voice::waves::waves_enum_t wave_shape bool
synth::voice::voice_t::produce_chunk(const synth::semitones_lut_t, const
synth::midi_channels_params_t, synth::chunk_array_mono_t)
...
$ /usr/local/gcc-4.6-20100910/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/usr/local/gcc-4.6-20100910/bin/g++
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.6-20100910/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr/local/gcc-4.6.0
--enable-languages=c,c++ --enable-threads=posix --disable-checking
--disable-nls --with-system-zlib --disable-bootstrap --enable-checking=none
--enable-mpfr --enable-gold --enable-lto --with-ppl --with-cloog
--with-arch=native
Thread model: posix
gcc version 4.6.0 20100910 (experimental) (GCC) 

midi_channels_params_t is the trigger.
Known to work on g++ 4.4.x, 4.5.x and up to and including 4.6-20100901.

PS: http://gcc.gnu.org/ml/gcc/2010-09/msg00152.html


-- 
   Summary: g++ 4.6 regression, c++0x, weird mismatch for arguments
with forwarded declaration when attributes are involved
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbptbp at gmail dot com


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



[Bug c++/45642] g++ 4.6 regression, c++0x, weird mismatch for arguments with forwarded declaration when attributes are involved

2010-09-10 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-09-10 17:34 ---
I think you need __attribute((aligned(16))) on the original forward declared
class too.


-- 


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



[Bug c++/45642] g++ 4.6 regression, c++0x, weird mismatch for arguments with forwarded declaration when attributes are involved

2010-09-10 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2010-09-10 17:35 ---
This seems related to PR 45112.


-- 


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



[Bug libstdc++/45628] std::fstream::tellg invalidates I/O buffer

2010-09-10 Thread potswa at mac dot com


--- Comment #20 from potswa at mac dot com  2010-09-10 17:35 ---
(In reply to comment #17)

 The task is to call fseek(0,cur), and then subtract the number of bytes in the
 put area plus the external characters, right?

Er, I don't mean bytes in the put area exactly, but you know what I mean…
what I'm asking is, how does your simplification relate to the task of figuring
out how many file bytes the buffers hold, without flushing them, which the code
does not currently seem designed to do.

For regression, note that the code previous to the linked patch was

// NB: Need to do this in case _M_file in indeterminate
// state, ie _M_file._offset == -1
pos_type __tmp = _M_file.seekoff(__off, ios_base::cur, __mode);
if (__tmp = 0)
  {
// Seek successful.
__ret = __tmp;
__ret += std::max(this-_M_out_cur, this-_M_in_cur) 
 - _M_filepos;
  }

which does not appear to do multibyte compensation correctly. Was _M_filepos
the number of file bytes in whichever area was currently being used?


-- 


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



  1   2   >