The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] compiling festoon
@ 2003-03-05 23:14 Norman Wilson
  2003-03-06 12:16 ` Warren Toomey
  0 siblings, 1 reply; 9+ messages in thread
From: Norman Wilson @ 2003-03-05 23:14 UTC (permalink / raw)


Since the problem is a new library function that appeared in
the official header files in C99, it makes sense that newer
versions of gcc object.  That means that as time goes by, newer
C compilers everywhere will probably pick up the change.  Any
documentation stored next to festoon.c should definitely point
out the problem and its full generality.

We'll leave aside for now the question of whether complex
conjugation really ought to be public.

Norman Wilson
Toronto ON



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [TUHS] compiling festoon
  2003-03-05 23:14 [TUHS] compiling festoon Norman Wilson
@ 2003-03-06 12:16 ` Warren Toomey
  0 siblings, 0 replies; 9+ messages in thread
From: Warren Toomey @ 2003-03-06 12:16 UTC (permalink / raw)


In article by Norman Wilson:
> We'll leave aside for now the question of whether complex
> conjugation really ought to be public.

I guess as long as the numbers are consenting, it's fine.
Maybe we need a ``don't ask, don't tell'' policy on complex conjugation.

Sorry, it's 11pm here.

	Warren



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [TUHS] compiling festoon
@ 2003-03-10 16:44 Aharon Robbins
  0 siblings, 0 replies; 9+ messages in thread
From: Aharon Robbins @ 2003-03-10 16:44 UTC (permalink / raw)


DMR remarked:
> So far as I can tell from ISO/IEC 9899:1999,
> the panoply of Complex macros and functions
> are supposed to be enabled only after
>
>  #include <complex.h>
>
> gcc looks to be overenthusiastic.
>
> 	Dennis

I would agree. I plan to file a bug report about it. I built and
checked the latest gcc, and even this file generates the
complaint:

	#include <stdio.h>

	int conj(a)
	int a;
	{
		return a;
	}

	main()
	{
		printf("%d\n", conj(1));
	}

Sigh.

Arnold



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [TUHS] compiling festoon
@ 2003-03-08  6:30 Dennis Ritchie
  0 siblings, 0 replies; 9+ messages in thread
From: Dennis Ritchie @ 2003-03-08  6:30 UTC (permalink / raw)


Norman observed (about conj):

 > Since the problem is a new library function that appeared in
 > the official header files in C99, it makes sense that newer
 > versions of gcc object.  That means that as time goes by, newer
 > C compilers everywhere will probably pick up the change.  Any
 > documentation stored next to festoon.c should definitely point
 > out the problem and its full generality.

 > We'll leave aside for now the question of whether complex
 > conjugation really ought to be public.

So far as I can tell from ISO/IEC 9899:1999,
the panoply of Complex macros and functions
are supposed to be enabled only after

 #include <complex.h>

gcc looks to be overenthusiastic.

	Dennis




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [TUHS] compiling festoon
  2003-02-27 23:22 ` Warren Toomey
@ 2003-03-05 17:28   ` Tim Bradshaw
  0 siblings, 0 replies; 9+ messages in thread
From: Tim Bradshaw @ 2003-03-05 17:28 UTC (permalink / raw)


* Warren Toomey wrote:

> Um, it compiles fine for me on FreeBSD using gcc version 2.95.3,
> so I'd say that it's a Linux library. I'll put your suggestion
> into the README.

I think it may be a gcc 2 / 3 change.  gcc 3.2 on Solaris has a
similar complaint.

--tim




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [TUHS] compiling festoon
  2003-02-27 12:06 Aharon Robbins
  2003-02-27 12:39 ` Lars Brinkhoff
  2003-02-27 23:22 ` Warren Toomey
@ 2003-02-28 10:46 ` Peter Jeremy
  2 siblings, 0 replies; 9+ messages in thread
From: Peter Jeremy @ 2003-02-28 10:46 UTC (permalink / raw)


On Thu, Feb 27, 2003 at 02:06:17PM +0200, Aharon Robbins wrote:
>The following diff is necessary to use GCC on a linux system.
>(Anyone know what gcc's builtin `conj' function is? Beats me.)

Probably complex conjugate:  conj(a+ib) == a-ib

Peter



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [TUHS] compiling festoon
  2003-02-27 12:06 Aharon Robbins
  2003-02-27 12:39 ` Lars Brinkhoff
@ 2003-02-27 23:22 ` Warren Toomey
  2003-03-05 17:28   ` Tim Bradshaw
  2003-02-28 10:46 ` Peter Jeremy
  2 siblings, 1 reply; 9+ messages in thread
From: Warren Toomey @ 2003-02-27 23:22 UTC (permalink / raw)


In article by Aharon Robbins:
> Hi All.
> 
> The following diff is necessary to use GCC on a linux system.
> (Anyone know what gcc's builtin `conj' function is? Beats me.)
> 
> Warren, you might want to fix that last line in the archive version
> of the file.

Um, it compiles fine for me on FreeBSD using gcc version 2.95.3,
so I'd say that it's a Linux library. I'll put your suggestion
into the README.

	Warren



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [TUHS] compiling festoon
  2003-02-27 12:06 Aharon Robbins
@ 2003-02-27 12:39 ` Lars Brinkhoff
  2003-02-27 23:22 ` Warren Toomey
  2003-02-28 10:46 ` Peter Jeremy
  2 siblings, 0 replies; 9+ messages in thread
From: Lars Brinkhoff @ 2003-02-27 12:39 UTC (permalink / raw)


Aharon Robbins <arnold at skeeve.com> writes:
> Anyone know what gcc's builtin `conj' function is?

C99 complex conjugation.

-- 
Lars Brinkhoff,         Services for Unix, Linux, GCC, PDP-10, HTTP
Brinkhoff Consulting    http://www.brinkhoff.se/



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [TUHS] compiling festoon
@ 2003-02-27 12:06 Aharon Robbins
  2003-02-27 12:39 ` Lars Brinkhoff
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Aharon Robbins @ 2003-02-27 12:06 UTC (permalink / raw)


Hi All.

The following diff is necessary to use GCC on a linux system.
(Anyone know what gcc's builtin `conj' function is? Beats me.)

Warren, you might want to fix that last line in the archive version
of the file.

Arnold
----------------
*** fest.c.dist	Wed Feb 26 23:51:49 2003
--- fest.c	Thu Feb 27 14:02:55 2003
***************
*** 1223,1229 ****
  static char    *conjlist[] = {"and", "but", "yet", "and", "and"};
  
  X 
! conj(env)
  	E               env;
  {
  	X               v = getxx();
--- 1223,1229 ----
  static char    *conjlist[] = {"and", "but", "yet", "and", "and"};
  
  X 
! conjugate(env)
  	E               env;
  {
  	X               v = getxx();
***************
*** 1306,1312 ****
  	} else if (prob(2 * T)) {
  		v->list.x[i++] = turgid(env);
  		v->list.x[i++] = comma(env);
! 		v->list.x[i++] = conj(env);
  		v->list.x[i++] = sent(env);
  	} else if (prob(1.5 * T)) {
  		v->list.x[i++] = lconjsub(env);
--- 1306,1312 ----
  	} else if (prob(2 * T)) {
  		v->list.x[i++] = turgid(env);
  		v->list.x[i++] = comma(env);
! 		v->list.x[i++] = conjugate(env);
  		v->list.x[i++] = sent(env);
  	} else if (prob(1.5 * T)) {
  		v->list.x[i++] = lconjsub(env);
***************
*** 1327,1333 ****
  		if (eqn && prob(.5)) {
  			v->list.x[i++] = equation(env);
  			v->list.x[i++] = comma(env);
! 			v->list.x[i++] = conj(env);
  		}
  		v->list.x[i++] = sent(env);
  	} else
--- 1327,1333 ----
  		if (eqn && prob(.5)) {
  			v->list.x[i++] = equation(env);
  			v->list.x[i++] = comma(env);
! 			v->list.x[i++] = conjugate(env);
  		}
  		v->list.x[i++] = sent(env);
  	} else
***************
*** 1644,1647 ****
  	label[j++] = '"'; label[j] = '\0';
  	return(label);
  }
- /GO.SYSIN DD fest.c
\ No newline at end of file
--- 1644,1646 ----



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2003-03-10 16:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-05 23:14 [TUHS] compiling festoon Norman Wilson
2003-03-06 12:16 ` Warren Toomey
  -- strict thread matches above, loose matches on Subject: below --
2003-03-10 16:44 Aharon Robbins
2003-03-08  6:30 Dennis Ritchie
2003-02-27 12:06 Aharon Robbins
2003-02-27 12:39 ` Lars Brinkhoff
2003-02-27 23:22 ` Warren Toomey
2003-03-05 17:28   ` Tim Bradshaw
2003-02-28 10:46 ` Peter Jeremy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).