DECL_TEMPLATE_INFO and TYPE_DECL nodes

2006-10-28 Thread Brendon Costa
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

2006-10-28 Thread Peter O'Gorman


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

2006-10-28 Thread gccadmin
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

2006-10-28 Thread Daniel Franke

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

2006-10-28 Thread Andreas Tobler

Daniel Franke wrote:

SVN revision: 118109


Try 118110

Andreas


proposal to clean up @node Warning Options in invoke.texi

2006-10-28 Thread Chris Pickett

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)

2006-10-28 Thread Basile STARYNKEVITCH

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

2006-10-28 Thread Chris Pickett

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?

2006-10-28 Thread Basile STARYNKEVITCH

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