Search

C compiler support for declarations in the middle of the block (C99) by PowerGamer1

Closed
as Deferred Help for as Deferred

1
0
Sign in
to vote
Type: Bug
ID: 776395
Opened: 1/12/2013 6:41:27 AM
Access Restriction: Public
0
Workaround(s)
0
User(s) can reproduce this bug
What is the status of C99 and C11 standards support in Visual Studio 2012 C compiler? Can the support for a very useful feature such as allowing declarations in the middle of the block (also a part of C++11 standard and already present in Visual C++ compiler) be added to C compiler?
Details (expand)

Visual Studio/Team Foundation Server/.NET Framework Tooling Version

Visual Studio 2012

What category (if any) best represents this feedback?

 

Steps to reproduce

Compile the following program with C compiler (i.e. give source file .c extension):
void main()
{
    ;
    int x;
}

Product Language

English

Operating System

Windows 7 SP1

Operating System Language

English

Actual results

c_bug.c(4): error C2143: syntax error : missing ';' before 'type'

Expected results

No compile errors.

Locale

 
File Attachments
0 attachments
Sign in to post a comment.
Posted by Microsoft on 1/25/2013 at 4:27 PM
Hi PowerGamer1,

C99 support and C11 support are currently not a priority for us. For more details, read this post:
http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/

To summarize the situation: we are focusing on support for C++11 and most of the niceness of C99/C11 can be gained by using the C++ compiler on your C code.

Karl Niu
VC++ Team
Posted by Microsoft on 1/13/2013 at 11:24 PM
Thanks for your feedback.

We are rerouting this issue to the appropriate group within the Visual Studio Product Team for triage and resolution. These specialized experts will follow-up with your issue.
Posted by Microsoft on 1/12/2013 at 6:52 AM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(http://support.microsoft.com)
Sign in to post a workaround.