[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
--- Comment #18 from pinskia at gcc dot gnu dot org 2008-01-11 04:50 --- 2 -- What does constraint #3 of section 6.7.4 mean? It is not fully as 6.7.4/3 is not diagnosed, I filed this as PR 34735. I guess Geoff forgot about this constraint. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added BugsThisDependsOn||34735 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16622
[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
--- Comment #18 from chaoyingfu at gcc dot gnu dot org 2006-11-30 19:25 --- Subject: Bug 16622 Author: chaoyingfu Date: Thu Nov 30 19:24:37 2006 New Revision: 119373 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119373 Log: Merged revisions 118337-118377 via svnmerge from svn+ssh://[EMAIL PROTECTED]/svn/gcc/trunk r118337 | charlet | 2006-10-31 12:11:46 -0800 (Tue, 31 Oct 2006) | 2 lines Resync. r118338 | fxcoudert | 2006-10-31 12:15:22 -0800 (Tue, 31 Oct 2006) | 12 lines PR fortran/29067 * decl.c (gfc_set_constant_character_len): NULL-terminate the character constant string. * data.c (create_character_intializer): Likewise. * expr.c (gfc_simplify_expr): NULL-terminate the substring character constant. * primary.c (match_hollerith_constant): NULL-terminate the character constant string. * gfortran.dg/pr29067.f: New test. r118339 | fxcoudert | 2006-10-31 12:17:11 -0800 (Tue, 31 Oct 2006) | 2 lines * ChangeLog: Forgotten ChangeLog entry for previous commit. r118340 | charlet | 2006-10-31 12:43:39 -0800 (Tue, 31 Oct 2006) | 2 lines Fix typo. r118341 | tkoenig | 2006-10-31 12:58:26 -0800 (Tue, 31 Oct 2006) | 18 lines 2006-10-31 Thomas Koenig [EMAIL PROTECTED] PR libfortran/29627 * libgfortran.h: Add ERROR_SHORT_RECORD * runtime/error.c (translate_error): Add case for ERROR_SHORT_RECORD. * io/transfer.c (read_block_direct): Separate codepaths for stream and record unformatted I/O. Remove unneeded tests for standard input, padding and formatted I/O. If the record is short, read in as much data as possible, then raise the error. 2006-10-31 Thomas Koenig [EMAIL PROTECTED] PR libfortran/29627 * gfortran.dg/unf_short_record_1.f90: New test. r118343 | sje | 2006-10-31 14:28:18 -0800 (Tue, 31 Oct 2006) | 4 lines * inclhack.def (hpux11_extern_sendfile): New. (hpux11_extern_sendpath): New. * fixincl.x: Regenerate. r118344 | ebotcazou | 2006-10-31 15:29:06 -0800 (Tue, 31 Oct 2006) | 3 lines * gcc.c-torture/execute/20061031-1.c: New test. r118347 | aldot | 2006-10-31 15:38:58 -0800 (Tue, 31 Oct 2006) | 20 lines fortran/ChangeLog: 2006-11-01 Bernhard Fischer [EMAIL PROTECTED] PR fortran/29537 * trans-common.c (gfc_trans_common): If the blank common is in a procedure or program without a name then proc_name is null, so use the locus of the common. (gfc_sym_mangled_common_id): Fix whitespace. * match.c (gfc_match_common): Emit warning about blank common in block data. testsuite/ChangeLog: 2006-11-01 Bernhard Fischer [EMAIL PROTECTED] PR fortran/29537 * gfortran.dg/blockdata_1.f90: Add warning about blank common in block data. * gfortran.dg/blockdata_2.f90: New testcase. r118353 | gccadmin | 2006-10-31 16:17:53 -0800 (Tue, 31 Oct 2006) | 1 line Daily bump. r118355 | sayle | 2006-10-31 18:56:45 -0800 (Tue, 31 Oct 2006) | 10 lines PR middle-end/23470 * tree.h (tree_expr_nonnegative_p): Return bool instead of int. * fold-const.c (tree_expr_nonnegative_p): Likewise. Consider pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative or y is an even integer. * gcc.dg/pr23470-1.c: New test case. r118356 | geoffk | 2006-10-31 20:47:30 -0800 (Tue, 31 Oct 2006) | 27 lines * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on inline static functions in c99 mode. PR 16622 * doc/extend.texi (Inline): Update. * c-tree.h (struct language_function): Remove field 'extern_inline'. * c-decl.c (current_extern_inline): Delete. (pop_scope): Adjust test for an undefined nested function. Add warning about undeclared inline function. (diagnose_mismatched_decls): Update comments. Disallow overriding of inline functions in a translation unit in C99. Allow inline declarations in C99 at any time. (merge_decls): Boolize variables. Handle C99 'extern inline' semantics. (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle C99 inline semantics. (start_function): Don't clear current_extern_inline. Don't set DECL_EXTERNAL. (c_push_function_context): Don't push current_extern_inline. (c_pop_function_context): Don't restore current_extern_inline. PR 11377 * c-typeck.c (build_external_ref): Warn about static variables used in extern inline functions. * c-decl.c (start_decl): Warn about static variables declared in extern inline functions. r118357 | geoffk | 2006-10-31 20:48:15 -0800 (Tue, 31
[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
--- Comment #13 from geoffk at gcc dot gnu dot org 2006-11-01 04:47 --- Subject: Bug 16622 Author: geoffk Date: Wed Nov 1 04:47:30 2006 New Revision: 118356 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118356 Log: * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on inline static functions in c99 mode. PR 16622 * doc/extend.texi (Inline): Update. * c-tree.h (struct language_function): Remove field 'extern_inline'. * c-decl.c (current_extern_inline): Delete. (pop_scope): Adjust test for an undefined nested function. Add warning about undeclared inline function. (diagnose_mismatched_decls): Update comments. Disallow overriding of inline functions in a translation unit in C99. Allow inline declarations in C99 at any time. (merge_decls): Boolize variables. Handle C99 'extern inline' semantics. (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle C99 inline semantics. (start_function): Don't clear current_extern_inline. Don't set DECL_EXTERNAL. (c_push_function_context): Don't push current_extern_inline. (c_pop_function_context): Don't restore current_extern_inline. PR 11377 * c-typeck.c (build_external_ref): Warn about static variables used in extern inline functions. * c-decl.c (start_decl): Warn about static variables declared in extern inline functions. Added: trunk/gcc/testsuite/gcc.dg/inline-13.c trunk/gcc/testsuite/gcc.dg/inline-14.c trunk/gcc/testsuite/gcc.dg/inline-15.c trunk/gcc/testsuite/gcc.dg/inline-16.c trunk/gcc/testsuite/gcc.dg/inline6.c trunk/gcc/testsuite/gcc.dg/inline7.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-decl.c trunk/gcc/c-tree.h trunk/gcc/c-typeck.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/inline-10.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16622
[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
--- Comment #14 from geoffk at gcc dot gnu dot org 2006-11-01 04:48 --- Subject: Bug 16622 Author: geoffk Date: Wed Nov 1 04:48:15 2006 New Revision: 118357 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118357 Log: * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on inline static functions in c99 mode. PR 16622 * doc/extend.texi (Inline): Update. * c-tree.h (struct language_function): Remove field 'extern_inline'. * c-decl.c (current_extern_inline): Delete. (pop_scope): Adjust test for an undefined nested function. Add warning about undeclared inline function. (diagnose_mismatched_decls): Update comments. Disallow overriding of inline functions in a translation unit in C99. Allow inline declarations in C99 at any time. (merge_decls): Boolize variables. Handle C99 'extern inline' semantics. (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle C99 inline semantics. (start_function): Don't clear current_extern_inline. Don't set DECL_EXTERNAL. (c_push_function_context): Don't push current_extern_inline. (c_pop_function_context): Don't restore current_extern_inline. PR 11377 * c-typeck.c (build_external_ref): Warn about static variables used in extern inline functions. * c-decl.c (start_decl): Warn about static variables declared in extern inline functions. Modified: trunk/gcc/doc/extend.texi -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16622
[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
--- Comment #15 from pinskia at gcc dot gnu dot org 2006-11-01 05:07 --- Why was this applied without a fixincludes for glibc? and a patch to glibc? Since GCC is the GNU Compiler Collection and glibc is the GNU libc so you need to also fix glibc at the same time and now you just broke compiling 95% of the programs that compile with -std=c99. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16622
[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
--- Comment #16 from pinskia at gcc dot gnu dot org 2006-11-01 05:07 --- http://gcc.gnu.org/ml/gcc-patches/2006-05/msg00331.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16622
[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
--- Comment #17 from geoffk at gcc dot gnu dot org 2006-11-01 05:38 --- This should now be behaving correctly. -- geoffk at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16622
[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
-- geoffk at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16622
[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
--- Comment #12 from geoffk at gcc dot gnu dot org 2006-05-09 08:20 --- Fix posted as http://gcc.gnu.org/ml/gcc-patches/2006-05/msg00328.html. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16622
[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
--- Comment #11 from geoffk at gcc dot gnu dot org 2006-05-04 21:57 --- I am working on this (the original reported problem). -- geoffk at gcc dot gnu dot org changed: What|Removed |Added CC||geoffk at gcc dot gnu dot ||org AssignedTo|unassigned at gcc dot gnu |geoffk at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2005-12-18 00:41:11 |2006-05-04 21:57:20 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16622
[Bug c/16622] [C99] extern inline is handled wrong in C99 mode
--- Comment #10 from pinskia at gcc dot gnu dot org 2006-03-24 13:26 --- *** Bug 26841 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||algrant at acm dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16622