UNDELIVERED (was Hi)
Dear Netflix User, Your email has reached an automated mailbox. Email sent to this address does not reach our Customer Service team and will not receive a personal response. If you have a question you need answered right away, please visit our online Help Center at http://www.netflix.com/Help. It covers a wide variety of commonly asked questions. If you need to contact a customer service representative please visit http://www.netflix.com/ContactCustService. Thanks for contacting Netflix. Sincerely, Your Friends at Netflix
error: forward declaration of `struct bit::bitObject'
Dear Listers, I posted this question on the GCC-help list but maybe someone here can give me some advice on how to proceed also. I am working on a VC++ to gcc conversion, and I'm facing some problems that I cannot find the answers for. I'm working on a Windows XP machine with cygwin installed and as IDE I'm using Ecplipse. The GCC complier I am working with is: >gcc (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125) Copyright >(C) 2004 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. I'm getting the error message: error: forward declaration of `struct bit::bitObject' and I cannot find the problem. I hope that someone can point me in the correct direction. With best regards, Roel Bindels //-- // Forward declarations //-- class bitObject; // Some other classes using proObject //-- // ClassbitObject // Base none // // The bitObject base class defines an object that // can be serialized in an archive // //-- class bitObject { public: // Virtual default destructor for all derived classes virtual ~bitObject() {} // Read the instance data from the archive and // indicate whether successful virtual bool Load(bitInputArchive& a_Archive) { return true;// No data for base } // Write the instance data to the archive and // indicate whether successful virtual bool Store(bitOutputArchive& a_Archive) { return true;// No data for base } };
Heads up: many recent Fortran SPEC regressions
Hi, Since October 13, SPEC's swim, applu, and sixtrack fail to build and fma3d has a serious performance degradation. See the results from Diego's SPEC tester: http://people.redhat.com/dnovillo/spec2000.i686/gcc/individual-run-ratio.html Gr. Steven
Wformat-security and string literal
Following code generate a _dubious_ warning message: int main(void) { const char * const literal = "xxx"; fprintf(stderr, literal); return 0; } cc -Wall -Wformat-security -o main main.c main.c: In function `main': main.c:9: warning: format not a string literal and no format arguments check_format_info() in gcc/c-format.c doesn't check if the format argument is a _pointer_ to a string literal. best regards HGN
Re: How do I disable classes of test?
Hi Dave, Thanks for that patch. It has taken me a while to get around to using it, but it is very useful. I've attached a version which works with the current mainline. Was there any particular reason why you haven't submitted it to mainline, as I'm sure that others could benefit from it? dan. Dave Korn wrote: Yep. The attached patch shows how to extend the testsuite to add a whole load of useful test-enable/disable-per-feature functionality. After applying this patch, you could add a line reading set_board_info no_floating_point 0 to your board.exp and any testfile that contains the words 'float' or 'double' will be skipped. It's just a crude line-based substring match, so there will be false positives. The patch is against 3.3.3, but should be easily ported to newer or older versions, within reason. It could be reworked to allow cleverer regex searching if desired, but I didn't want to make it overly slow. -- Daniel Towner picoChip Designs Ltd, Riverside Buildings, 108, Walcot Street, BATH, BA1 5BG [EMAIL PROTECTED] +44 (0) 7786 702589 Index: lib/c-torture.exp === RCS file: /cvs/gcc/gcc/gcc/testsuite/lib/c-torture.exp,v retrieving revision 1.20 diff -c -3 -p -r1.20 c-torture.exp *** lib/c-torture.exp 25 Jun 2005 01:45:22 - 1.20 --- lib/c-torture.exp 17 Oct 2005 10:02:56 - *** *** 17,22 --- 17,23 # This file was written by Rob Savoye. ([EMAIL PROTECTED]) load_lib file-format.exp + load_lib target-supports.exp # The default option list can be overridden by # TORTURE_OPTIONS="{ { list1 } ... { listN } }" *** proc c-torture-execute { sources args } *** 99,104 --- 100,108 global tmpdir tool srcdir output compiler_conditional_xfail_data # Use the first source filename given as the filename under test. + global last_unsupported_match + + # Use the first source filename given as the filename under test. set src [lindex $sources 0] if { [llength $args] > 0 } { *** proc c-torture-execute { sources args } *** 136,141 --- 140,148 set testcase "[file tail [file dirname $src]]/[file tail $src]" } + # Check for any unsupported features in this testcase + set unsup [check_for_unsupported $src] + set count 0 set oldstatus "foo" foreach option $option_list { *** proc c-torture-execute { sources args } *** 165,170 --- 172,185 if { $additional_flags != "" } { lappend options "additional_flags=$additional_flags" } + + # If unsupported for any reason, don't go ahead with it. + if $unsup then { + unsupported "$last_unsupported_match, $testcase execution, $option" + continue + } + + # Not unsupported; go ahead and compile set comp_output [gcc_target_compile "$sources" "${execname}" executable $options] if ![gcc_check_compile "$testcase compilation" $option $execname $comp_output] { *** proc c-torture-execute { sources args } *** 173,187 continue } - # See if this source file uses "long long" types, if it does, and - # no_long_long is set, skip execution of the test. - if [target_info exists no_long_long] then { - if [expr [search_for $src "long long"]] then { - unsupported "$testcase execution, $option" - continue - } - } - if [info exists torture_execute_xfail] { setup_xfail $torture_execute_xfail } --- 188,193 *** proc search_for { file pattern } { *** 256,261 --- 262,268 # proc c-torture { args } { global srcdir subdir compiler_conditional_xfail_data + global last_unsupported_match set src [lindex $args 0] if { [llength $args] > 1 } { *** proc c-torture { args } { *** 288,293 --- 295,313 set option_list $torture_without_loops } + # set testcase name from source file name + regsub "^$srcdir/?" $src "" testcase + # If we couldn't rip $srcdir out of `src' then just do the best we can. + # The point is to reduce the unnecessary noise in the logs. Don't strip + # out too much because different testcases with the same name can confuse + # `test-tool'. + if [string match "/*" $testcase] { + set testcase "[file tail [file dirname $src]]/[file tail $src]" + } + + # Check for any unsupported features in this testcase + set unsup [check_for_unsupported $src] + # loop through all the options foreach option $option_list { # torture_compile_xfail is set by the .x script (if present) *** proc c-torture { args } { *** 300,305 --- 320,332 set ignor
Re: [cft] aligning main's stack frame
Richard Henderson <[EMAIL PROTECTED]> writes: > main: > leal4(%esp), %ecx # create argument pointer > andl$-16, %esp# align stack > pushl -4(%ecx) # copy return address This will misaligned the call/ret stack in the CPU, leading to branch mispredictions on many of the following RETs. On main it's probably not a big issue, but for other functions it might be. -Andi
Re: Heads up: many recent Fortran SPEC regressions
On Mon, Oct 17, 2005 at 11:21:05AM +0200, Steven Bosscher wrote: > Since October 13, SPEC's swim, applu, and sixtrack fail to build and > fma3d has a serious performance degradation. See the results from > Diego's SPEC tester: > > http://people.redhat.com/dnovillo/spec2000.i686/gcc/individual-run-ratio.html This appears to be gcc 4.0.x. Is this correct? Additionally, I could not (in my brief inspection of the URL) find any info concerning the build failures. Which log file should we check? -- Steve
Re: error: forward declaration of `struct bit::bitObject'
* Roel Bindels: > I posted this question on the GCC-help list but maybe someone here > can give me some advice on how to proceed also. The advice you'll get here is exactly the same: post a small example which reproduces the error message which troubles you. (Please continue the discussion on gcc-help; that list is the correct one.)
Re: Wformat-security and string literal
On Mon, Oct 17, 2005 at 11:49:05AM +0200, Hagen Paul Pfeifer wrote: > Following code generate a _dubious_ warning message: > > int main(void) { > const char * const literal = "xxx"; > fprintf(stderr, literal); > return 0; > } > > cc -Wall -Wformat-security -o main main.c > main.c: In function `main': > main.c:9: warning: format not a string literal and no format arguments > > check_format_info() in gcc/c-format.c doesn't check if the format > argument is a _pointer_ to a string literal. If we go down that route, the option would only work correctly if optimization is enabled, because you expect gcc to trace the source of pointers, and see what the pointers point to, and check the original strings for format characters.
Re: Wformat-security and string literal
* Joe Buck | 2005-10-17 09:28:51 [-0700]: >If we go down that route, the option would only work correctly if >optimization is enabled, because you expect gcc to trace the source >of pointers, and see what the pointers point to, and check the original >strings for format characters. ACK - gcc behave correctly if optimization is enabled. To my mind: a pointer who points to a string literal is also a string literal. The generated string is stored in the .rodata section, on either side (-O0, -O2). The generated code is the same, but the warning messages differ! HGN
Re: [cft] aligning main's stack frame
On Mon, Oct 17, 2005 at 12:25:46PM +0200, Andi Kleen wrote: > > main: > > leal4(%esp), %ecx # create argument pointer > > andl$-16, %esp # align stack > > pushl -4(%ecx)# copy return address > > This will misaligned the call/ret stack in the CPU, leading to branch > mispredictions on many of the following RETs. On main it's probably > not a big issue, but for other functions it might be. No it won't. I don't actually use that for the return insn. I cheat and move the CFA, and that copy satisfies the return address at CFA-4 during the body of the function. r~
Re: CVS access to the uberbaum tree
Peter Barada wrote: Does the uberbaum tree exist on savanna, or is it only on sources.redhat.com? If so, what is the procedure for accessing it? I would not recommend use of uberbaum. There are some old-time ex-Cygnus hackers that use it, because it gives an environment familiar to the one we used inside Cygnus. For everyone else, it probably causes more problems than it solves. uberbaum exists only on sourceware.org. It is a symlink tree that tries to make two CVS repositories look like one. Because it is a fake tree, you can not use it for checking in patches. You can only use it for checkouts. Because few people use it, when it breaks, it may be a while before it is fixed. Personally, I find it easier to just check out the different trees and then create a local symlink tree. Note that since gcc is in the process of moving to subversion, uberbaum will likely stop working in a couple of weeks. It is probably pointless to start using it now. I don't recall how to use uberbaum, though I do recall that the instructions are buried in one of the gcc mailing list archives. If you search, you should be able to find them. -- Jim Wilson, GNU Tools Support, http://www.specifix.com
Moving to subversion?
What's the magic incantation to get gcc with subversion? I've read the wiki page, but troutmask:sgk[205] svn co svn+ssh://gcc.gnu.org/svn/gcc/trunk Permission denied (publickey,gssapi-with-mic). svn: Connection closed unexpectedly -- Steve
Re: Moving to subversion?
On Mon, 2005-10-17 at 12:15 -0700, Steve Kargl wrote: > What's the magic incantation to get gcc with subversion? > I've read the wiki page, but > > troutmask:sgk[205] svn co svn+ssh://gcc.gnu.org/svn/gcc/trunk > Permission denied (publickey,gssapi-with-mic). > svn: Connection closed unexpectedly Uh, since it appears you are logged in with a different name, you want svn co svn+ssh://[EMAIL PROTECTED]/svn/gcc/trunk
Re: Moving to subversion?
On Mon, Oct 17, 2005 at 03:25:18PM -0400, Daniel Berlin wrote: > On Mon, 2005-10-17 at 12:15 -0700, Steve Kargl wrote: > > What's the magic incantation to get gcc with subversion? > > I've read the wiki page, but > > > > troutmask:sgk[205] svn co svn+ssh://gcc.gnu.org/svn/gcc/trunk > > Permission denied (publickey,gssapi-with-mic). > > svn: Connection closed unexpectedly > > Uh, since it appears you are logged in with a different name, you want > svn co svn+ssh://[EMAIL PROTECTED]/svn/gcc/trunk Odd, I don't need to do anything special with cvs. I do all my gfortran development with my [EMAIL PROTECTED] account and my ssh key on gcc.gnu.org is for [EMAIL PROTECTED] Thanks for the tip. svn is now happily grabbing a copy of trunk. -- Steve
Re: Moving to subversion?
On Mon, 2005-10-17 at 12:36 -0700, Steve Kargl wrote: > On Mon, Oct 17, 2005 at 03:25:18PM -0400, Daniel Berlin wrote: > > On Mon, 2005-10-17 at 12:15 -0700, Steve Kargl wrote: > > > What's the magic incantation to get gcc with subversion? > > > I've read the wiki page, but > > > > > > troutmask:sgk[205] svn co svn+ssh://gcc.gnu.org/svn/gcc/trunk > > > Permission denied (publickey,gssapi-with-mic). > > > svn: Connection closed unexpectedly > > > > Uh, since it appears you are logged in with a different name, you want > > svn co svn+ssh://[EMAIL PROTECTED]/svn/gcc/trunk > > Odd, I don't need to do anything special with cvs. You must have something set somewhere to make this work, and have forgotten about it :) (IE an environment variable, or something). > I do > all my gfortran development with my [EMAIL PROTECTED] account > and my ssh key on gcc.gnu.org is for [EMAIL PROTECTED] Yes, but your account on gcc.gnu.org is [EMAIL PROTECTED], and cvs knows nothing of SSH either. So it couldn't be looking in your key or anything. There must be a CVS_USER or you have a default CVSROOT or *something* that is telling it to login as kargl to gcc.gnu.org. --Dan
Re: Moving to subversion?
* Steve Kargl: >> Uh, since it appears you are logged in with a different name, you want >> svn co svn+ssh://[EMAIL PROTECTED]/svn/gcc/trunk > > Odd, I don't need to do anything special with cvs. Once you've checked out a tree, CVS stores the remote user in the CVS/Root file. Maybe you have only forgotten how you created that tree? Pretty easy if you switch branches using cp & cvs update.
Re: Moving to subversion?
On Mon, Oct 17, 2005 at 09:59:36PM +0200, Florian Weimer wrote: > * Steve Kargl: > > >> Uh, since it appears you are logged in with a different name, you want > >> svn co svn+ssh://[EMAIL PROTECTED]/svn/gcc/trunk > > > > Odd, I don't need to do anything special with cvs. > > Once you've checked out a tree, CVS stores the remote user in the > CVS/Root file. Maybe you have only forgotten how you created that > tree? Pretty easy if you switch branches using cp & cvs update. Yep. Just check CVS/Root and found :ext:[EMAIL PROTECTED] I did this 18 months ago and simply forgot that tidbit. I see Tobi has updated the Wiki instructions. -- Steve
[gomp] objc/objc-act.c:1262: error: too few arguments to function 'finish_class_member_access_expr'
Currently, I get this: stage1/xgcc -Bstage1/ -B/usr/local/sparc64-unknown-linux-gnu/bin/ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Wmissing-format-attribute -Werror -DOBJCPLUS -I../../gcc.gomp/gcc/objc -I../../gcc.gomp/gcc/cp -fno-common -DHAVE_CONFIG_H -I. -Iobjcp -I../../gcc.gomp/gcc -I../../gcc.gomp/gcc/objcp -I../../gcc.gomp/gcc/../include -I../../gcc.gomp/gcc/../libcpp/include -I. -Iobjcp -I../../gcc.gomp/gcc -I../../gcc.gomp/gcc/objcp -I../../gcc.gomp/gcc/../include -I../../gcc.gomp/gcc/../libcpp/include ../../gcc.gomp/gcc/objc/objc-act.c -o objcp/objcp-act.o ../../gcc.gomp/gcc/objc/objc-act.c: In function 'objc_build_component_ref': ../../gcc.gomp/gcc/objc/objc-act.c:1262: error: too few arguments to function 'finish_class_member_access_expr' cc1: warnings being treated as errors ../../gcc.gomp/gcc/objc/objc-act.c:1266: warning: control reaches end of non-void function make[3]: *** [objcp/objcp-act.o] Error 1 make[3]: Leaving directory `/usr/local/src/branch/objdir.gomp/gcc' make[2]: *** [stage2_build] Error 2 make[2]: Leaving directory `/usr/local/src/branch/objdir.gomp/gcc' make[1]: *** [bubblestrap] Error 2 make[1]: Leaving directory `/usr/local/src/branch/objdir.gomp/gcc' -- Cheers, /ChJ
Question on i386 stack adjustment optimization
I modified the gcc i386 backend. Now my gcc optimizes function prologue movq%rbx, -16(%rsp) movq%rbp, -8(%rsp) subq$16, %rsp to movq%rbx, -16(%rsp) movq%rbp, -8(%rsp) pushq %rax pushq %rax The change was introduced by http://gcc.gnu.org/ml/gcc-patches/2000-04/msg00263.html I have a question. It is OK to turn stack pointer addition into pop instructions with a scratch register. But I don't see how you can turn stack pointer substraction into push instructions with a scratch register since push will change the contents of the stack, in addition to stack pointer. Thanks. H.J.
Re: Heads up: many recent Fortran SPEC regressions
Jakub, Have you made any progress on fixing this? I would rather that the debug information is not available than that equivalence is broken. Best regards Paul
Re: Question on i386 stack adjustment optimization
>I have a question. It is OK to turn stack pointer addition into >pop instructions with a scratch register. But I don't see how you can >turn stack pointer substraction into push instructions with a >scratch register since push will change the contents of the stack, >in addition to stack pointer. On i386 platforms the contents of the stack aren't changed, because the memory below where the stack pointer points to aren't part of the stack, so this optimzation is safe. However, on x86_64 ABI platforms there's 128 byte "red zone" below where the stack pointer points to that is considered part of the stack and since GCC is using that red zone to "push' values on the stack, this optimization isn't safe. Ross Ridge
contribution to gcc
Hi, I have a fairly decent knowledge about compiler internals, object oriented programming and algorithms. I would like to make a non-trivial contribution to gcc/g++. I am interested in adding a new optimization phase or improving some existing ones or write stuff related to OO program compilation. I am not sure where to start with. I have downloaded the gcc code from the repository. Can someone help with any new ideas that is being considered for implementation? Thanks in advance.
Re: Heads up: many recent Fortran SPEC regressions
On Tue, Oct 18, 2005 at 12:39:14AM +0200, Paul Thomas wrote: > Have you made any progress on fixing this? I would rather that the > debug information is not available than that equivalence is broken. I've been working on it. Is there a PR? r~
Re: Heads up: many recent Fortran SPEC regressions
On Mon, Oct 17, 2005 at 08:08:59PM -0700, Richard Henderson wrote: > On Tue, Oct 18, 2005 at 12:39:14AM +0200, Paul Thomas wrote: > > Have you made any progress on fixing this? I would rather that the > > debug information is not available than that equivalence is broken. > > I've been working on it. Is there a PR? > I don't recall seeing anyone submit a PR. -- Steve
Re: contribution to gcc
Ganesh Bikshandi <[EMAIL PROTECTED]> writes: > I have a fairly decent knowledge about compiler internals, object > oriented programming and algorithms. I would like to make a > non-trivial contribution to gcc/g++. I am interested in adding a new > optimization phase or improving some existing ones or write stuff > related to OO program compilation. I am not sure where to start with. > I have downloaded the gcc code from the repository. Can someone help > with any new ideas that is being considered for implementation? Thanks for thinking of us. Here are some ideas which may help you get started: http://gcc.gnu.org/projects/ Here are some projects which people are planning to work on: http://gcc.gnu.org/wiki/GCC%204.2%20Projects Hope this helps. Ian