disabled c99 in Solaris builds (original) (raw)
Baesken, Matthias matthias.baesken at sap.com
Wed Dec 12 13:29:42 UTC 2018
- Previous message (by thread): disabled c99 in Solaris builds
- Next message (by thread): disabled c99 in Solaris builds
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I'd recommend a separate change to remove the -xc99=%none%. That's trivial and can be done immediately, to the benefit of everyone. Getting C++14 working is not happening quickly.
Ok, do you prefer just removing the old setting or setting
https://docs.oracle.com/cd/E37069_01/html/E37074/bjapp.html#OSSCGgnjmw
–std=value (–std=c99)
?
Best regards, Matthias
-----Original Message----- From: Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com> Sent: Mittwoch, 12. Dezember 2018 14:22 To: Baesken, Matthias <matthias.baesken at sap.com>; David Holmes <david.holmes at oracle.com>; Erik Joelsson <erik.joelsson at oracle.com>; 'build-dev at openjdk.java.net' <build-dev at openjdk.java.net>; Kim Barrett <kim.barrett at oracle.com> Subject: Re: disabled c99 in Solaris builds
On 2018-12-12 09:24, Baesken, Matthias wrote: >> FWIW, in my in-development patch set for JEP 347 >> (https://bugs.openjdk.java.net/browse/JDK-8208089) >> >> the -xc99=%none% option has been removed and -std=c99 added (for C >> code). (C++14 includes C99 by reference, so I made that change for >> consistency in case there were any ABI differences.) >> > Hello Kim , do you have an estimation when your patch will be in ? > > Or would you suggest to do a separate change and bring in into jdk/jdk (and jdk12) already? I'd recommend a separate change to remove the -xc99=%none%. That's trivial and can be done immediately, to the benefit of everyone. Getting C++14 working is not happening quickly. /Magnus > > Best regards, Matthias > > >> -----Original Message----- >> From: David Holmes <david.holmes at oracle.com> >> Sent: Dienstag, 11. Dezember 2018 23:16 >> To: Erik Joelsson <erik.joelsson at oracle.com>; Baesken, Matthias >> <matthias.baesken at sap.com>; 'build-dev at openjdk.java.net' > dev at openjdk.java.net> >> Subject: Re: disabled c99 in Solaris builds >> >> On 12/12/2018 3:27 am, Erik Joelsson wrote: >>> Hello, >>> >>> I do not know why this flag was introduced, but it has been there for a >>> long time. In JDK7 it's listed in jdk/make/common/Defs-solaris.gmk: >>> >>> # -xc99=%none Do NOT allow for c99 extensions to be used. >>> # e.g. declarations must precede statements >>> >>> and was there since the first mercurial change. >> I can reasonably imagine that this was added to prevent introducing >> shared code, developed on Solaris, that would not compile on Windows. >> But those days are long gone. >> >> I was bitten by this just this week when an enum declaration compiled >> fine everywhere but Solaris! >> >>> I personally wouldn't mind ditching it. >> +1 >> >> David >> >>> /Erik >>> >>> On 2018-12-11 08:17, Baesken, Matthias wrote: >>>> Hello , it seems that currently the Solaris Oracle Studio Build >>>> environment is the only one that explicitly >>>> forbids C99 C code by setting -xc99=%none . >>>> The current Linux/Mac/AIX/Windows build envs had no issues with the >>>> coding. >>>> >>>> For example I was running into an error with the C variable >>>> declaration order issue (small example below) today in my coding. >>>> Is this still a wanted behavior ? What was the reason behind setting >>>> -xc99=%none , and is the reason still valid ? >>>> I remember we had issues with C99 compatibility back then when VS2010 >>>> was used on Windows, but I think these days we use VS2013+, is this >>>> correct ? >>>> >>>> The example program mixes declarations and "other statements" , >>>> which needs C99, I compile with Oracle Studio 12u4 . >>>> >>>> /compiler/SS12u4-Oct2017/SUNWspro/bin/cc vardecl.c -o vardecl >>>> >>>> No settings -> works nicely >>>> >>>> >>>> - with C99 disabled as OpenJDK does : >>>> ---------------------------------------------------------- >>>> >>>> /compiler/SS12u4-Oct2017/SUNWspro/bin/cc -xc99=%none vardecl.c - o >>>> vardecl >>>> "vardecl.c", line 8: warning: declaration can not follow a statement >>>> >>>> >>>> - with C99 disabled + errwarn as OpenJDK does : >>>> ------------------------------------------------------------------------ >>>> >>>> /compiler/SS12u4-Oct2017/SUNWspro/bin/cc -xc99=%none - >> errwarn=%all >>>> vardecl.c -o vardecl >>>> "vardecl.c", line 8: declaration can not follow a statement >>>> cc: acomp failed for vardecl.c >>>> >>>> example program : >>>> --------------------------------------- >>>> >>>> bash-3.2$ more vardecl.c >>>> #include <stdio.h> >>>> >>>> int main(void) { >>>> int a = 0; >>>> printf("a: %d \n", a); >>>> >>>> int b = 1; >>>> printf("b: %d \n", b); >>>> return 0; >>>> } >>>> >>>> >>>> Best regards, Matthias
- Previous message (by thread): disabled c99 in Solaris builds
- Next message (by thread): disabled c99 in Solaris builds
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]