The following test conditions all interact, so all combinations should
be used:

	multiple files in a single invocation			
	A single file in an invocation				

	-c argument used.					
	-c argument not used					

	-o argument used					
	-o argument not used					

	Old style (replace the file) instrumentation		
	New style (invoke compiler) instrumentation

	The file is instrumented.
	The file is not instrumented.

The following do not interact (I think), so may be used at will:

	object on line to be passed to linker.			
	object on line is a C file.				
	object on line is not a linker file, not a C file.	
		(Use .i files, which are instrumented only in new style.)


The following is not portable, so test it independently:
	Compiler is gcc (only relevant in new-style)

We care about two things:
	Correct output:  always "no arguments", "again no arguments",
		and "last no arguments"
	Correct coverage:  branches taken true
			   <= might be < is ruled out.
			   first printf in main called.
			   first printf in secondary called.
			   gct_writelog called.
			   main and secondary entered
			   No other coverage conditions satisfied.

LATER:
	compiler errors are passed via callcc/passcc.
	If -o X.o -c source.c given, source.o is not overwritten.
	-o X.o -c X.c works.
====

Here are the combinations.  instrumented vs. not instrumented are both
	done in each test.

TEST	TEST CONDITIONS

	multiple files in a single invocation		Compilers are inconsistent
	-c argument used.				about their handing
	-o argument used				of this case.
	Old style (replace the file) instrumentation	Skip	

	multiple files in a single invocation		Ditto
	-c argument used.				
	-o argument used				
	New style (invoke compiler) instrumentation		

2	multiple files in a single invocation			
2	-c argument used.					
2	-o argument not used					
2	Old style (replace the file) instrumentation		

1	multiple files in a single invocation			
1	-c argument used.					
1	-o argument not used					
1	New style (invoke compiler) instrumentation		

4	multiple files in a single invocation			
4	-c argument not used					
4	-o argument used					
4	Old style (replace the file) instrumentation		

3	multiple files in a single invocation			
3	-c argument not used					
3	-o argument used					
3	New style (invoke compiler) instrumentation		

6	multiple files in a single invocation			
6	-c argument not used					
6	-o argument not used					
6	Old style (replace the file) instrumentation		

5	multiple files in a single invocation			
5	-c argument not used					
5	-o argument not used					
5	New style (invoke compiler) instrumentation		

8	A single file in an invocation				
8	-c argument used.					
8	-o argument used					
8	Old style (replace the file) instrumentation		

7	A single file in an invocation				
7	-c argument used.					
7	-o argument used					
7	New style (invoke compiler) instrumentation		

4	A single file in an invocation				
4	-c argument used.					
4	-o argument not used					
4	Old style (replace the file) instrumentation		

3	A single file in an invocation				
3	-c argument used.					
3	-o argument not used					
3	New style (invoke compiler) instrumentation		

10	A single file in an invocation				
10	-c argument not used					
10	-o argument used					
10	Old style (replace the file) instrumentation		

9	A single file in an invocation				
9	-c argument not used					
9	-o argument used					
9	New style (invoke compiler) instrumentation		

11	A single file in an invocation				
11	-c argument not used					
11	-o argument not used					
11	Old style (replace the file) instrumentation		

12	A single file in an invocation				
12	-c argument not used					
12	-o argument not used					
12	New style (invoke compiler) instrumentation		
