On Thu, Jan 10, 2019 at 2:47 PM Christian Jullien <eli...@orange.fr> wrote: > > Matthias, > > > I'm happy you like my patch. I was waiting for comments before pushing this > patch. > As you said, no one protested (or care), so it is committed in mod. > > It let you add the logic for the C11. > > Christian > > -----Original Message----- > From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] > On Behalf Of uso ewin > Sent: jeudi 10 janvier 2019 11:13 > To: tinycc-devel@nongnu.org > Subject: Re: [Tinycc-devel] Add max_align_t to stddef.h and C11 > > On Tue, Jan 8, 2019 at 6:02 PM Christian Jullien <eli...@orange.fr> wrote: > > > > > Maybe add a global variable > > > > Not global but a new member of TCCState, for example cversion > > > > If (s->cversion >= 201112) { > > /* Hello C11 */ > > } > > > > Diff becomes: > > > > jullien@sims3:~/new-tcc $ git diff > > diff --git a/libtcc.c b/libtcc.c > > index df7adab..7883734 100644 > > --- a/libtcc.c > > +++ b/libtcc.c > > @@ -1790,8 +1790,16 @@ reparse: > > s->static_link = 1; > > break; > > case TCC_OPTION_std: > > - /* silently ignore, a current purpose: > > - allow to use a tcc as a reference compiler for "make test" > */ > > + if (*optarg == '=') { > > + ++optarg; > > + if (strcmp(optarg, "c11") == 0) { > > + tcc_undefine_symbol(s, "__STDC_VERSION__"); > > + tcc_define_symbol(s, "__STDC_VERSION__", "201112L"); > > + s->cversion = 201112; > > + } > > + } > > + /* silently ignore other values, a current purpose: > > + allow to use a tcc as a reference compiler for "make > test" > > */ > > break; > > case TCC_OPTION_shared: > > x = TCC_OUTPUT_DLL; > > diff --git a/tcc.c b/tcc.c > > index f780389..2d4e1ea 100644 > > --- a/tcc.c > > +++ b/tcc.c > > @@ -33,6 +33,8 @@ static const char help[] = > > " -o outfile set output filename\n" > > " -run run compiled source\n" > > " -fflag set or reset (with 'no-' prefix) 'flag' (see tcc > -hh)\n" > > + " -std=c99 Conform to the ISO 1999 C standard (default).\n" > > + " -std=c11 Conform to the ISO 2011 C standard.\n" > > " -Wwarning set or reset (with 'no-' prefix) 'warning' (see tcc > > -hh)\n" > > " -w disable all warnings\n" > > " -v -vv show version, show search paths or loaded files\n" > > diff --git a/tcc.h b/tcc.h > > index cc85291..8416cc5 100644 > > --- a/tcc.h > > +++ b/tcc.h > > @@ -651,6 +651,7 @@ struct TCCState { > > int rdynamic; /* if true, all symbols are exported */ > > int symbolic; /* if true, resolve symbols in the current module first > > */ > > int filetype; /* file type for compilation (NONE,C,ASM) */ > > + int cversion; /* supported C ISO version, either 0 (199901), 201112, > > ... */ > > > > char *tcc_lib_path; /* CONFIG_TCCDIR or -B option */ > > char *soname; /* as specified on the command line (-soname) */ > > > > > > > > _______________________________________________ > > Tinycc-devel mailing list > > Tinycc-devel@nongnu.org > > https://lists.nongnu.org/mailman/listinfo/tinycc-devel > > I like the version with cversion in tcc state. > > As no one protest, I guess you can push. > Do you want to patch existing C11 code too ? > if not I can do it, but I need this patch to be merge. > > Matthias, > > _______________________________________________ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel > > > _______________________________________________ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Hi, I've push the patch to allow _Alignof and _Generic only when -std=c11 is use. Matthias, _______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel