DECL_TEMPLATE_INFO and TYPE_DECL nodes
In what situations is it valid to call DECL_TEMPLATE_INFO() on a TYPE_DECL node? I am using DECL_TEMPLATE_INFO in order to see if a DECL node has any template information associated with it. The documentation says: For a VAR_DECL, FUNCTION_DECL, TYPE_DECL or TEMPLATE_DECL template-specific information. but each time i try to call it with a TYPE_DECL it segfaults. Thanks, Brendon.
Re: regeneration of files
On Oct 28, 2006, at 3:34 AM, Mike Stump wrote: On Oct 26, 2006, at 6:40 PM, Mike Stump wrote: The ones that were of particular interest were the libgfortran ones, Jack was trying to build on a G4 and had hopes they might fix his build. Jack confirms that a regeneration of libgfortran fixed his build. He also reports that boehm-gc has the same problem. gcc seems to have a few duplicate .m4 files, and has them in a number of different directories, thus making maintenance that much harder. Why not have just one copy of, e.g lib-link.m4in the tree in a well known location, then aclocal could be invoked with similar options everywhere. Having multiple copies of the same files in the tree and using different versions of the autotools to generate other files in different subdirs is just asking fro trouble, don't you think? Peter
gcc-4.3-20061028 is now available
Snapshot gcc-4.3-20061028 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.3-20061028/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.3 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 118105 You'll find: gcc-4.3-20061028.tar.bz2 Complete GCC (includes all of below) gcc-core-4.3-20061028.tar.bz2 C front end and core compiler gcc-ada-4.3-20061028.tar.bz2 Ada front end and runtime gcc-fortran-4.3-20061028.tar.bz2 Fortran front end and runtime gcc-g++-4.3-20061028.tar.bz2 C++ front end and runtime gcc-java-4.3-20061028.tar.bz2 Java front end and runtime gcc-objc-4.3-20061028.tar.bz2 Objective-C front end and runtime gcc-testsuite-4.3-20061028.tar.bz2The GCC testsuite Diffs from 4.3-20061023 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-4.3 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.
build error: gcc/gcc/gimplify.c:424: internal compiler error: Segmentation fault
SVN revision: 118109 Configured as: --prefix=$(installdir) --enable-bootstrap --enable-threads=posix --enable-shared --with-system-zlib --disable-nls --program-suffix=-svn --enable-languages=c,fortran Command: make bootstrap-lean Host triplet: i686-pc-linux-gnu Latest messages: /home/daniel/src/gcc-devel/gcc-build/./prev-gcc/xgcc -B/home/daniel/src/gcc-devel/gcc-build/./prev-gcc/ -B/home/daniel/src/gcc-devel/gcc-install/i686-pc-linux-gnu/bin/ -O2 -g -fomit-frame-pointer -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute -Werror -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -o build/gencodes \ build/gencodes.o build/rtl.o build/read-rtl.o build/ggc-none.o build/vec.o build/min-insn-modes.o build/gensupport.o build/print-rtl.o build/errors.o .././libiberty/libiberty.a build/gencodes ../../gcc/gcc/config/i386/i386.md \ insn-conditions.md > tmp-codes.h /bin/sh ../../gcc/gcc/../move-if-change tmp-codes.h insn-codes.h echo timestamp > s-codes /home/daniel/src/gcc-devel/gcc-build/./prev-gcc/xgcc -B/home/daniel/src/gcc-devel/gcc-build/./prev-gcc/ -B/home/daniel/src/gcc-devel/gcc-install/i686-pc-linux-gnu/bin/ -c -O2 -g -fomit-frame-pointer -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -I../../gcc/gcc/../libdecnumber -I../libdecnumber../../gcc/gcc/gimplify.c -o gimplify.o ../../gcc/gcc/gimplify.c: In function 'create_tmp_var_name': ../../gcc/gcc/gimplify.c:424: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate.
Re: build error: gcc/gcc/gimplify.c:424: internal compiler error: Segmentation fault
Daniel Franke wrote: SVN revision: 118109 Try 118110 Andreas
proposal to clean up @node Warning Options in invoke.texi
Hi, For one reason or another, I have spent a fair amount of time reading and getting confused by the warnings documentation. This applies to the optimizations as well, but I thought I would start with the warnings. Today I sat down and created a dependency graph for all of the options in this node. I made this at first for my own benefit, and then realized that other people might be interested in the information. I have attached the graph. I am asking for one or more people to comment on its correctness, and what I consider to be errors, as indicated in comments. Then I have the following proposal for cleaning up the options node in invoke.texi: 1. Create a default section, at the top, and put all options enabled by default there. 2. Try to group options so that they are closer to other connected nodes in the graph. 3. Get rid of the -Wno-xxx option listings, since it is not always the case that -Wxxx is enabled by "default", and this just ends up being rather confusing. Instead, explain in the default section that everything there can be disabled with -Wno-xxx. 4. For each option, specify connected options systematically, perhaps using the syntax I invented, perhaps using a different and more natural (i.e. plain old English) syntax. 5. Fix what I have labelled as errors. In a dream world where I had infinite time, I would invent a grammar for specifying relationships between options and then use that to generate number 4 above, and also use it to generate the option parsing bits of the front end. Cheers, Chris # A --> Boption A implies option B # A --> B C option A implies options B and C # A && B --> C options A and B together imply C # A <-- Boption A is implied by option B. # A <-- B || C option A is implied by either option B or option C # A <-- B && C option A is implied by options B and C together # A ==> Boption A enables option B # A ==> B C option A enables options B and C # A <== Boption A requires option B (depends on B) default --> -Wimport -Wdiv-by-zero -Wendif-labels -Wattributes -Wmultichar -Wnormalized=nfc -Wdeprecated-declarations -Winvalid-offset-of -Wint-to-pointer-cast -Wpointer-to-int-cast -fsyntax-only -pedantic --> -Wlong-long -Wvariadic-macros -Wpointer-sign -pedantic <-- -pedantic-errors -pedantic-errors --> -pedantic -w -Wimport <-- default -Wchar-subscripts <-- -Wall -Wcomment <-- -Wall -Wfatal-errors -Wformat --> -Wnonnull -Wformat-extra-args -Wformat-zero-length -Wformat <-- -Wformat=2 || -Wall -Wformat ==> -Wformat-y2k -Wformat-nonliteral -Wformat-security -Wformat-y2k <== -Wformat -Wno-format-extra-args <== -Wformat # false dependency -Wno-format-zero-length <== -Wformat # false dependency -Wformat-nonliteral <== -Wformat -Wformat-security <== -Wformat -Wformat=2 --> -Wformat -Wformat-y2k -Wformat-nonliteral -Wformat-security -Wnonnull <-- -Wall || -Wformat -Winit-self <== -Wuninitialized # depends not only on -O1, but -O(1|2|3|s) -Wimplicit-int <-- -Wall -Wimplicit-function-declaration <-- -Wall -Werror-implicit-function-declaration -Wimplicit --> -Wimplicit-int -Wimplicit-function-declaration -Wimplicit <-- -Wall # redundant implication -Wmain <-- -Wall -Wmissing-braces <-- -Wall -Wmissing-include-dirs -Wparentheses <-- -Wall -Wsequence-point <-- -Wall -Wreturn-type <-- -Wall -Wswitch <-- -Wall -Wswitch-default -Wswitch-enum -Wtrigraphs <-- -Wall -Wunused-function <-- -Wall -Wunused-label <-- -Wall -Wunused-parameter <-- -Wextra && -Wunused -Wunused-parameter <-- -Wextra && -Wall # redundant implication -Wunused-variable <-- -Wall -Wunused-value <-- -Wall -Wunused --> -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wunused <-- -Wall # redundant implication -Wuninitialized <-- -Wall -Wuninitialized ==> -Winit-self -Wuninitialized <== -O(1|2|3|s) -Wunknown-pragmas <== -Wsystem-headers # undocumented -Wpragmas <-- -Wall # missing "This warning is enabled by `-Wall'". -Wstrict-aliasing <-- -Wall || -Wstrict-aliasing=2 -Wstrict-aliasing=2 --> -Wstrict-aliasing -Wstrict-aliasing=2 <== -fstrict-aliasing -Wall --> -Wchar-subscripts -Wcomment -Wformat -Wnonnull -Wimplicit-int -Wimplicit-function-declaration -Wimplicit -Wmain -Wmissing-braces -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wunused -Wuninitialized -Wpragmas -Wstrict-aliasing -Wpointer-sign # clearly not "All of the above -W options combined." # note that -Wpointer-sign is also below this point. -W --> -Wextra -Wextra --> -Wsign-compare -Wmissing-field-initializers -Wextra && -Wunused --> -Wunused-parameter # s/arguments/parameters/ -Wextra && -Wall --> -Wunused-parameter # redundant implication -Wdiv-by-zero <-- default -Wsystem-headers ==> -Wunknown-pragmas -Wfloat-equal -Wtraditi
wiki topics wish (configuration related)
Dear All If this is annopropriate here, please accept my apologies There are several topics that I wish to be covered a bit on the Wiki (or some other documentations), mostly related to configuration (and autoconf, with which I am not very familiar, especially in the context of GCC whose configuration is quite complex). 0. I am not sure to understand exactly the steps (and commands to run) when touching to a configure.ac file... I made an educated guess which happens to work most of the time. (In particular it seems that autconf2.60 works even if 2.59 is required) 1. How to add a pass on Gimple/SSA (this is something I know how) which can be disabled at GCC configuration time, ie add a pass in a source tree-FOO.c (and of course in passes.c) which can be disabled by a --disable-FOO configure switch? When enabled, the pass adds a new -fdo-FOO flag (which should be absent if disabled) at the newly built gcc & cc1 runtime. 2. How to add an external library (I actually am thinking of mysqlclient or gdbm or dl -for dlopen- and probably the Parma Polyhedral library) which can be disabled by such a --disable-FOO configure switch, and which, when enabled at configure with --enable-FOO, is actually checked for (in particular, availability of header files, test of minimal features); When enabled I want these new libraries to be linked into the newly built cc1 and gcc. PS. I'm just beginning to work on adding more global static analysis passes into GCC. -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basilestarynkevitchnet aliases: basiletunesorg = bstarynknerimnet 8, rue de la Faïencerie, 92340 Bourg La Reine, France
Re: proposal to clean up @node Warning Options in invoke.texi
Chris Pickett wrote: I have attached the graph. I am asking for one or more people to comment on its correctness, and what I consider to be errors, as indicated in comments. I did this against 4.1.1. I just looked at the trunk invoke.texi, and I see it has changed a bit, so just to be clear, there's no request for you to comment on omissions w.r.t. new stuff, since there are several. Chris
submitting patches before copyright assignment fully done?
Dear All, My copyright assignment is not yet signed, but I am pretty confident that it will be signed (hopefully soon, and surely in 2006 ie before Christmas). Can I submit patches (to gcc-patches@) which are not trivial (ie more than 10 lines of code), or should I wait till the copyriight assigment has been recieved by the FSF (signed by my employing organisation and by FSF? Regards. -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basilestarynkevitchnet aliases: basiletunesorg = bstarynknerimnet 8, rue de la Faïencerie, 92340 Bourg La Reine, France