This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Intermodule constant propagation


On Nov 25, 2003, at 13:29, Geoff Keating wrote:

I think there might be a few bugs left, but it basically works,
certainly it works well enough for spec.  What it's supposed to do is:

- 'gcc foo.c bar.c -o foo' takes the two .c files, builds a single .s
file, sends that to the assembler and the resulting .o to the
linker.
- 'gcc -save-temps foo.c bar.c -o foo' turns each .c file into a .i
file, producing foo.i and bar.i, then builds a single .s file from them.
- 'gcc foo.c bar.c -S' produces two .s files, foo.s and bar.s.
- likewise, 'gcc foo.c bar.c -c' produces two .o files.
- 'gcc foo.c bar.c -S -o result.s' produces one .s file.
- likewise, 'gcc foo.c bar.c -c -o result.o' produces one .o file


The two without -o were not working in Apple's compiler so I fixed those and
I will post a patch for this tomorrow after it gets tested.


Also Apple's compiler does not error out if you supply two different languages
on the command line so I fixed that also.


This one is not an error right now and has not been ever (at least since 2.95.3)
and outputs to the stdout:
- 'gcc foo.c bar.c -E' is an error, just like now (I hope)

This one has not be either, it always picked the last one for preprocessing:
- 'gcc foo.c bar.c -E -o result.i' is an error, just like now

Should we change them into errors anyway?



Thanks, Andrew Pinski


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]