Question

While cruising through my white book the other day, I noticed in the list of C keywords. entry is one of the keywords on that list.

It is reserved for future use. Thinking back to my Fortran days, there was a function of some sort that used an entry statement to make a second argument signature, or entry point into a function.

Is this what entry was originally intended to be used for? or something completely different?

What is the story on the entry keyword?

Was it helpful?

Solution

I had no idea, so I googled to find something about this. This is what I found.

First, it was included as a reserved keyword.

Q: What was the entry keyword mentioned in K&R1?
A: It was reserved to allow functions with multiple, differently-named entry points, but it has been withdrawn.

(From http://archives.devshed.com/forums/c-c-134/c-programming-faqs-371017.html.)

It was never standardized; some compilers used it, in a very personal way.

It was later declared obsolete, I guess.

OTHER TIPS

In FORTRAN, "ENTRY" could declare a second entry point into a subroutine. It was a structured programming nightware, and fortunately C decided not to adopt it.

The entry keyword came from PL/I and allowed multiple entry points into a function. The keyword was implemented by some compilers but was never standardized.

To complement the accepted answer 'entry' is mentioned in K&R1:

2.3 Keywords

The following identifiers are reserved for use as keywords, and may not be used otherwise

int extern else

char register for

float typedef do

double static while

struct goto switch

union return case

long sizeof default

short break entry

unsigned continue

auto if

and here:

The entry keyword is not currently implemented by any compiler but is reserved for future use. Some implementations also reserve the words 'fortran' and 'asm'.

Then in the Rationale for the ANSI C language (C89) it is mentioned here:

3.1.1 Keyword

[...]

The keywords 'entry' 'fortran', and 'asm' have not been included since they were either never used, or are not portable. Uses of 'fortran' and 'asm' as keywords are not as common extensions.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top