473,722 Members | 2,240 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Reason for ISO ; warning

[Warning] ISO C does not allow extra ';' outside of a function

int n;;

int main(void)
{
....
}

Anyone care to enlighten me as to why ISO C does not allow this, but
apparently ANSI c99 does?

Ta

Dec 7 '05 #1
22 4056
pemo wrote:

[Warning] ISO C does not allow extra ';' outside of a function

int n;;
That's an object definition,
followed by what looks like an empty statement.

int main(void)
{
...
}

Anyone care to enlighten me as to why ISO C does not allow this,
Statements are only allowed inside of function definitions.
but apparently ANSI c99 does?


I don't know so much about C99.

--
pete
Dec 7 '05 #2
pemo said:
[Warning] ISO C does not allow extra ';' outside of a function

int n;;

int main(void)
{
...
}

Anyone care to enlighten me as to why ISO C does not allow this,
It's the grammar. I presume you mean C90, because...
but apparently ANSI c99 does?


....here you mean ISO C99. ANSI didn't ratify the revised Standard until
2000, so it's ANSI C2000 or, if you prefer, ANSI C00.

I wasn't aware that executable code was allowed outside a function in C99.
C&V?

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Dec 7 '05 #3
Richard Heathfield wrote:
I wasn't aware that executable code was
allowed outside a function in C99.
C&V?


External definitions of objects are executable code.

--
pete
Dec 7 '05 #4

"pete" <pf*****@mindsp ring.com> wrote in message
news:43******** **@mindspring.c om...
pemo wrote:

[Warning] ISO C does not allow extra ';' outside of a function

int n;;


That's an object definition,
followed by what looks like an empty statement.

int main(void)
{
...
}

Anyone care to enlighten me as to why ISO C does not allow this,


Statements are only allowed inside of function definitions.


Yes, that makes sense - ta.
Dec 7 '05 #5

"Richard Heathfield" <in*****@invali d.invalid> wrote in message
news:dn******** **@nwrdmz01.dmz .ncs.ea.ibs-infra.bt.com...
pemo said:
[Warning] ISO C does not allow extra ';' outside of a function

int n;;

int main(void)
{
...
}

Anyone care to enlighten me as to why ISO C does not allow this,


It's the grammar. I presume you mean C90, because...
but apparently ANSI c99 does?


...here you mean ISO C99. ANSI didn't ratify the revised Standard until
2000, so it's ANSI C2000 or, if you prefer, ANSI C00.

I wasn't aware that executable code was allowed outside a function in C99.
C&V?


Interesting!
It's the grammar. I presume you mean C90


'I' didn't come into it Richard, the message came from gcc and appears
with -Wall -pedantic -std=c99

So, I assume c99 is what you're caling c00?
Dec 7 '05 #6
pemo wrote:
"Richard Heathfield" <in*****@invali d.invalid> wrote in message
news:dn******** **@nwrdmz01.dmz .ncs.ea.ibs-infra.bt.com...
pemo said:
but apparently ANSI c99 does?
^^^^
This bit

...here you mean ISO C99. ANSI didn't ratify the revised Standard until
2000, so it's ANSI C2000 or, if you prefer, ANSI C00.

<snip>


'I' didn't come into it Richard, the message came from gcc and appears
with -Wall -pedantic -std=c99

So, I assume c99 is what you're caling c00?


That gcc option means ISO C99, there is no ANSI C99, which seems to be
what R Heathfield was getting at.

--
imalone
Dec 7 '05 #7

"Ian Malone" <ib***@cam.ac.u k> wrote in message
news:43******** ******@cam.ac.u k...
pemo wrote:
"Richard Heathfield" <in*****@invali d.invalid> wrote in message
news:dn******** **@nwrdmz01.dmz .ncs.ea.ibs-infra.bt.com...
pemo said:

but apparently ANSI c99 does? ^^^^
This bit

...here you mean ISO C99. ANSI didn't ratify the revised Standard until
2000, so it's ANSI C2000 or, if you prefer, ANSI C00.


<snip>


'I' didn't come into it Richard, the message came from gcc and appears
with -Wall -pedantic -std=c99

So, I assume c99 is what you're caling c00?


That gcc option means ISO C99, there is no ANSI C99, which seems to be
what R Heathfield was getting at.


Ah, ok, so is -ansi the ANSI variant then?
Dec 7 '05 #8
pemo said:
the message came from gcc and appears
with -Wall -pedantic -std=c99
Despite the flag name, gcc does not fully support C99.
So, I assume c99 is what you're caling c00?


If you mean the ISO C Standard, it's C99. If you mean the ANSI C Standard,
it's C00.

1989: ANSI C (C89).
1990: ISO C (C90) - this is effectively identical to C89, the only changes I
know about being section number changes.
1995: There was a minor mod to the Standard which, I believe, was adopted by
both ISO and ANSI.
1999: ISO C (C99).
2000: ANSI C (C00 or C2000) - this is effectively identical to C99.

Most people use C89 when they mean either C89 or C90, and C99 when they mean
either C99 or C00/C2000 - despite the fact that C89 refers to the ANSI
Standard and C99 refers to the ISO Standard.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Dec 7 '05 #9
In article <dn**********@n ews.ox.ac.uk>, pemo <us***********@ gmail.com> wrote:
Anyone care to enlighten me as to why ISO C does not allow this, but
apparently ANSI c99 does?


Ignoring the question of what ANSI c99 is, what makes you think that it
allows it?

When GCC says that ISO C does not allow something, it probably means
that GCC allows it as an extension, not that some ANSI C version
allows it.

-- Richard
Dec 7 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
5834
by: acemann7 | last post by:
Windows 2000 udb v 7.2 Got the latest fixpak 13 Applied it. Still can't get a single java sp to run. I used to get reason "2"... now reason "0" - reason 0 is not even documented. I point jdk11_path to: Java Development Kit 1.1 installation path (JDK11_PATH) =
3
2572
by: Bill Burris | last post by:
How do I find what is causing this warning from the Linker? If I use /NODEFAULTLIB I get hundreds of undefined symbols. LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library Here is the compiler options: /Od /I "C:\DriverX4\Include" /I "..\ThreadLib" /AI "..\Utility\bin\Debug" /AI "..\Logging\bin\Debug" /AI "Debug" /D "WIN32" /D "_DEBUG" /D "_WINDLL"
3
7217
by: DJTN | last post by:
I'm getting the following error when I try to compile my setup project in VS 2002. I have re-installed the .net framework 1.1 and it didnt solve the problem. WARNING: Unable to find dependency 'mscorlib' (Signature='B77A5C561934E089' Version='1.0.5000.0') of assembly 'System.dll' WARNING: Unable to find dependency 'mscorlib' (Signature='B77A5C561934E089' Version='1.0.5000.0') of assembly 'System.Windows.Forms.dll' WARNING: Unable to...
0
274
by: pemo | last post by:
ISO C does not allow extra ';' outside of a function int n;; int main(void) { .... } Anyone care to enlighten me as to why ISO C does not allow this, but
1
2001
by: spanov | last post by:
i've got problem installing python-2.3.5 from sources on FreeBSD 5.3 root@server# ./configure > conf_log configure: WARNING: curses.h: present but cannot be compiled configure: WARNING: curses.h: check for missing prerequisite headers? configure: WARNING: curses.h: see the Autoconf documentation configure: WARNING: curses.h: section "Present But Cannot Be Compiled" configure: WARNING: curses.h: proceeding with the...
16
21785
by: gumby | last post by:
I'm having trouble getting HADR to work with the sample databases on two HS20 xSeries blades, Red Hat ES4 up3, DB2 8.2.4, getting the following error. SQL1768N Unable to start HADR. Reason code = "7" - The primary database failed to establish a connection to its standby database within the HADR timeout interval. What things should I check besides the remote host and remote service parameters on the standby database, which seem to be...
1
5025
by: Lennart | last post by:
While investigating deadlocks in an application I wrote a function to check if there where any batchjobs running in parallell at the time of the deadlocks. The check runs surprisingly fast, but If I narrow the searchspace I start getting SQL0437W with reason code 3 "Optimizer cost underflow". Statistics are up to date on the table. Is this something to worry about, or can the warning be ignored? /Lennart
11
1694
by: Siddhu | last post by:
Hai, i am student & i have struck up with the following program's output. Kindly help me to reason out why the output goes as which is given below. THE PROGRAM goes as; #include<iostream.h> #include<conio.h> void main() { int i=0,x={1,2,3,4,5},y={5,4,3,2,1},r={0,0,0,0,0}; while(i++<5)
92
6213
by: Heinrich Pumpernickel | last post by:
what does this warning mean ? #include <stdio.h> int main() { long l = 100; printf("l is %li\n", l * 10L);
0
9384
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
9157
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9088
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
5995
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4502
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4762
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3207
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2602
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2147
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.