1. 15 Feb, 2007 1 commit
    • re PR c/26494 (-pedantic-errors can be overridden by -W*) · dc90f45b
      2007-02-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR c/26494
      	* doc/invoke.texi (Warning Options): Remove
      	-Werror-implicit-function-declaration.
      	(Wimplicit-function-declaration): Update description.
      	* opts.c (common_handle_option): Move handling of -Werror=* to...
      	(enable_warning_as_error): ...here.
      	* opts.h (enable_warning_as_error): Declare.
      	* c-decl.c (implicit_decl_warning): Unless
      	-Wno-implicit-function-declaration is given, emit a pedwarn if
      	-std=c99 or emit a warning if -Wimplicit-function-declaration.
      	* c.opt (Wimplicit-function-declaration): Replace
      	mesg_implicit_function_declaration with
      	warn_implicit_function_declaration.
      	* c-opts.c (c_common_handle_option):
      	-Werror-implicit-function-declaration is exactly equal as
      	-Werror=implicit-function-declaration.
      	(set_Wimplicit): Replace mesg_implicit_function_declaration with
      	warn_implicit_function_declaration.
      	(c_common_post_options): -Wimplict-function-declaration is enabled
      	by default by -std=c99, otherwise is disabled by default.
      	* c-objc-common.c (c_objc_common_init): Remove flawed logic.
      testsuite/
      	* gcc.dg/Wimplicit-function-declaration-c89.c: New.
      	* gcc.dg/Wimplicit-function-declaration-c89-default.c: New.
      	* gcc.dg/Wimplicit-function-declaration-c89-pedantic.c: New.
      	* gcc.dg/Wimplicit-function-declaration-c99.c: New.
      	* gcc.dg/Wimplicit-function-declaration-c99-pedantic.c: New.
      	* gcc.dg/Werror-implicit-function-declaration.c: New.
      
      From-SVN: r122017
      Manuel López-Ibáñez committed
  2. 12 Feb, 2007 1 commit
    • invoke.texi (Overall Options): Document --help=. · c662432e
      * doc/invoke.texi (Overall Options): Document --help=.                                                        
      * gcc.c (target_help_flag): Rename to print_subprocess_flag.                                                  
        (cc1_options): Pass --help= on to cc1.                                                                      
        (display_help): Add description of --help=.                                                                 
        (process_command): Add code to handle --help=.  Allow translated                                            
        --help and --target-help switches to be passed on to compiler sub-process.                                                                                               
        (main): Remove unused if statement.                                                                         
      * opts.c (columns): Remove.                                                                                   
        (LEFT_COLUMN): Define.                                                                                      
        (wrap_help): Add columns argument.                                                                          
        (print_filtered_help): Change parameters to be an include bitmask,                                          
        an exclude bitmask, an any bitmask and the column width.  Move the                                          
        code to display the params list here.  Add code to display the                                              
        status of options rather than their descriptions if the quiet flag                                          
        is not active.                                                                                              
        (print_specific_help): Change parameters to be an include bitmask,                                          
        an exclude bitmask and an any bitmask.  Move code to look up the                                            
        column width here.  Decide upon the title for an options listing.                                           
        (common_handle_options): Add code to handle --help=.  Adapt code                                            
        for --help and --target-help to use the revised form of the                                                 
        print_specific_help function.                                                                               
        (print_help): Delete.                                                                                       
        (print_param_help): Delete.                                                                                 
        (print_switch): Delete.                                                                                     
      * opts.h (cl_lang_count): Add prototype.                                                                      
       (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_MIN_OPTION_CLASS, CL_MAX_OPTION_CLASS): New defines.            
      * optc-gen.awk: Add construction of cl_lang_count.                                                            
      * c.opt: Add Warning attribute to warning options and Optimization attribute to optimization options.         
      * common.opt: Likewise.                                                                                       
        Add --help=.                                                                                                
        Add -fhelp and -ftarget-help as aliases for the transformed --help and --target-help options.               
      * opt-functions.awk: Add code to handle Warning and Optimization attributes.
      
      From-SVN: r121849
      Nick Clifton committed
  3. 25 Jan, 2007 1 commit
    • c-common.h (RID_FIRST_CXX0X): New. · e1f1ee86
      2007-01-24  Douglas Gregor  <dgregor@osl.iu.edu>
      
      	* c-common.h (RID_FIRST_CXX0X): New.
      	(RID_LAST_CXX0X): New.
      	* c-opts.c (c_common_handle_option): -Wc++0x-compat is triggered
      	by -Wall.
      	* c.opt (Wc++0x-compat): New.
      	* doc/invoke.texi (-Wc++0x-compat): Document.
      
      From-SVN: r121162
      Douglas Gregor committed
  4. 08 Jan, 2007 1 commit
    • c.opt: Add -flax-vector-conversions. · 00c8e9f6
      	gcc/
      	* c.opt: Add -flax-vector-conversions.
      	* c-typeck.c (convert_for_assignment): Pass flag to
      	vector_types_convertible_p to allow emission of note.
      	(digest_init): Likewise.
      	(comptypes_internal): Use vector_types_convertible_p.
      	* c-opts.c: Handle -flax-vector-conversions.
      	* c-common.c (flag_lax_vector_conversions): New.
      	(vector_types_convertible_p): Unless -flax-vector conversions
      	has been passed, disallow conversions between vectors with
      	differing numbers of subparts and/or element types.  If such
      	a conversion is disallowed, possibly emit a note on the first
      	occasion only to inform the user of -flax-vector-conversions.
      	The new last argument specifies this.
      	* c-common.h (flag_lax_vector_conversions): New.
      	(vector_types_convertible_p): Add extra argument.
      	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
      	char_type_node for V*QI type vectors.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
      	Update to satisfy new typechecking rules.
      	* config/rs6000/altivec.h (vec_cmple): Use vec_cmpge.
      	* doc/invoke.texi (C Dialect Options): Document
      	-flax-vector-conversions.
      
      	gcc/cp/
      	* call.c (standard_conversion): Pass flag to
      	vector_types_convertible_p to disallow emission of note.
      	* typeck.c (convert_for_assignment): Pass flag to
      	vector_types_convertible_p to allow emission of note.
      	(ptr_reasonably_similar): Pass flag to vector_types_convertible_p
      	to disallow emission of note.
      
      	gcc/testsuite/
      	* gcc.target/i386/20020531-1.c: Use "char" not "unsigned char"
      	in __v8qi typedef.
      	* gcc.target/powerpc/altivec-vec-merge.c (foo): Add casts.
      	* gcc.dg/simd-1.c: Update dg-error directives to reflect new
      	compiler behaviour.
      	* gcc.dg/simd-5.c: Likewise.
      	* gcc.dg/simd-6.c: Likewise.
      	* g++.dg/conversion/simd1.C: Likewise.
      	* g++.dg/conversion/simd3.C: Likewise.
      	* g++.dg/ext/attribute-test-2.C (data): Add "vs" member.
      	(main): Use it.
      
      From-SVN: r120572
      Mark Shinwell committed
  5. 02 Jan, 2007 1 commit
    • re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags) · b1ed4cb4
      2007-01-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR middle-end/7651
      	* c.opt (Wold-style-declaration): New.
      	* doc/invoke.texi (C-only Warning Options): New.
      	(Wold-style-declaration): Document it.
      	(Wextra): Enabled by -Wextra.
      	* c-opts.c (c_common_post_options): Enabled by -Wextra.
      	* c-decl.c (declspecs_add_scspec): Replace -Wextra with
      	-Wold-style-declaration.
      
      testsuite/
      	* gcc.dg/declspec-3.c: Replace -W with -Wold-style-declaration.
      	* gcc.dg/declspec-3-Wextra.c: New.
      	* gcc.dg/declspec-3-no.c: New
      
      From-SVN: r120347
      Manuel López-Ibáñez committed
  6. 23 Dec, 2006 1 commit
    • re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags) · cb4af25a
      2006-12-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR middle-end/7651
      	* c.opt (Wmissing-parameter-type): New.
      	* doc/invoke.texi (Wmissing-parameter-type): Document it.
      	(Wextra): Enabled by -Wextra.
      	* c-opts.c (c_common_post_options): Enabled by -Wextra.
      	* c-decl.c (store_parm_decls_oldstyle): Replace Wextra with
      	Wmissing-parameter-type.
      	
      testsuite/
      
      	* gcc.dg/Wmissing-parameter-type.c: New.
      	* gcc.dg/Wmissing-parameter-type-Wextra.c: New.
      	* gcc.dg/Wmissing-parameter-type-no.c: New.
      
      From-SVN: r120173
      Manuel López-Ibáñez committed
  7. 22 Dec, 2006 1 commit
    • re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags) · 2b001724
      2006-12-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR middle-end/7651
      	* c.opt (Wclobbered): New.
      	* doc/invoke.texi (Wclobbered): Document it.
      	(Wextra): Enabled by -Wextra.
      	* c-opts.c (c_common_post_options): Enabled by -Wextra.
      	* flow.c (rest_of_handle_life): Replace Wextra with Wclobbered.
      	* function.c (setjmp_vars_warning): Only warn for Wclobbered.
      	(setjmp_args_warning): Likewise.
      
      testsuite/
      
      	* gcc.dg/attr-returns_twice-1.c: Replace Wextra with Wclobbered.
      	* gcc.dg/setjmp-1.c: Add explicit Wclobbered.
      
      From-SVN: r120151
      Manuel López-Ibáñez committed
  8. 18 Dec, 2006 1 commit
    • c.opt (Wmissing-declarations): Add C++ and ObjC++. · dfdec7a7
      ./:	* c.opt (Wmissing-declarations): Add C++ and ObjC++.
      	* doc/invoke.texi (Warning Options): -Wmissing-declarations now
      	works for C++.
      cp/:
      	* decl.c (start_preparsed_function): Add support for
      	-Wmissing-declarations.
      testsuite:
      	* g++.dg/warn/Wmissing-declarations-1.C: New test.
      
      From-SVN: r120012
      Ian Lance Taylor committed
  9. 16 Dec, 2006 1 commit
    • re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags) · b3b433c5
      2006-12-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR middle-end/7651
      	* c.opt (Wempty-body): New.
      	* doc/invoke.texi (Wempty-body): Document it.
      	(Wextra): Enabled by -Wextra.
      	* c-opts.c (c_common_post_options): Enabled by -Wextra.
      	* c-common.c (empty_body_warning): Replace Wextra with Wempty-body.
      	* c-parser.c (c_parser_c99_block_statement): Likewise.
      testsuite/
      	* gcc.dg/20001116-1.c: Replace -Wextra with -Wempty-body.
      	* gcc.dg/if-empty-1.c: Likewise.
      	* gcc.dg/pr23165.c: Likewise.
      	* g++.dg/warn/empty-body.C: Likewise.
      
      From-SVN: r119963
      Manuel López-Ibáñez committed
  10. 25 Nov, 2006 1 commit
  11. 23 Nov, 2006 1 commit
    • re PR c/9072 (-Wconversion should be split into two distinct flags) · 05170031
      2006-11-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR c/9072 
      	* c.opt (Wtraditional-conversion): New.
      	(Wconversion): Update description.
      	* c-typeck.c (convert_arguments): Warnings for prototypes causing
      	type conversions different from what would happen in the absence
      	of prototype are now handled by Wtraditional-conversion.
      	* doc/invoke.texi (Wtraditional-conversion): New.
      	(Wconversion): Update description.
      	* doc/trouble.texi (Wconversion): Replace Wconversion by
      	Wtraditional-conversion.
      
      testsuite/
      
      	PR c/9072 
      	* gcc.dg/builtin-protos-1.c: Replace Wconversion by
      	Wtraditional-conversion.
      	* gcc.dg/overflow-warn-2.c: Likewise.
      	* gcc.dg/Wconversion.c: Likewise. Renamed as
      	Wtraditional-conversion.c .
      	* gcc.dg/Wconversion-2.c: Likewise. Renamed as
      	Wtraditional-conversion-2.c .
      	* gcc.dg/dfp/Wconversion-2.c: Likewise. Renamed as
      	Wtraditional-conversion-2.c 
      	* gcc.dg/Wconversion-negative-constants.c: New.
      
      From-SVN: r119129
      Manuel López-Ibáñez committed
  12. 01 Nov, 2006 1 commit
    • c-common.c (flag_cpp0x): New. · 966541e3
      2006-11-01	Douglas Gregor <doug.gregor@gmail.com>
      
      	* c-common.c (flag_cpp0x): New.
      	* c-common.h (flag_cpp0x): New.
      	* c-cppbuiltin.c (c_cpp_builtins): If C++0x extensions are
      	supported, define __GXX_EXPERIMENTAL_CPP0X__.
      	* c-opts.c (set_std_cxx0x): New.
      	(c_common_handle_option): Handle -std=c++0x, -std=gnu++0x.
      	* c.opt (std=c++0x): Document.
      	(std=gnu++0x): Ditto.
      	* doc/cpp.texi: Document __GXX_EXPERIMENTAL_CPP0X__.
      	* doc/invoke.texi: Document -std=c++0x, -std=gnu++0x.
      
      From-SVN: r118386
      Doug Gregor committed
  13. 30 Sep, 2006 1 commit
    • re PR c/24010 (Duplicate C99 dot initializer warning missing) · 7ed322d7
      	PR c/24010
      	* c.opt (Woverride-init): New.
      	* c-opts.c (c_common_post_options): Default warn_override_init to
      	extra_warnings.
      	* c-typeck.c (add_pending_init, output_init_element): Warn for
      	overriding initializers without side effects.
      	* doc/invoke.texi (-Woverride-init): Document.
      	(-Wextra): Update.
      
      testsuite:
      	* gcc.dg/Woverride-init-1.c, gcc.dg/Woverride-init-2.c,
      	gcc.dg/Woverride-init-3.c: New tests.
      
      From-SVN: r117334
      Joseph Myers committed
  14. 18 May, 2006 1 commit
  15. 24 Feb, 2006 1 commit
    • Index: gcc/ChangeLog · c7b5e395
      2006-02-24  Geoffrey Keating  <geoffk@apple.com>
      
      	* doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS.
      	* doc/invoke.texi (C++ Dialect Options): Document 
      	-fno-use-cxa-get-exception-ptr.
      	* configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1.
      	* configure: Regenerate.
      	* c.opt (fuse-cxa-get-exception-ptr): New.
      	* c-opts.c (c_common_handle_option): Handle
      	OPT_fuse_cxa_get_exception_ptr.
      	* c-common.c (flag_use_cxa_atexit): Update documentation.
      	(flag_use_cxa_get_exception_ptr): New.
      	* c-common.h (flag_use_cxa_get_exception_ptr): New.
      	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve
      	documentation.
      	(C_COMMON_OVERRIDE_OPTIONS): New.
      
      Index: gcc/testsuite/ChangeLog
      2006-02-24  Geoffrey Keating  <geoffk@apple.com>
      
      	* g++.dg/eh/uncaught1.C: Add dg-options for ppc-darwin.
      	* g++.dg/eh/uncaught2.C: New.
      	* g++.dg/eh/uncaught3.C: New.
      
      Index: gcc/cp/ChangeLog
      2006-02-24  Geoffrey Keating  <geoffk@apple.com>
      
      	* except.c (expand_start_catch_block): Handle
      	flag_use_cxa_get_exception_ptr.
      
      From-SVN: r111427
      Geoffrey Keating committed
  16. 13 Feb, 2006 1 commit
    • invoke.texi (-Write-strings): Document that it is enabled by default. · d539b114
      2006-02-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>
      
              * doc/invoke.texi (-Write-strings): Document that it is
      	enabled by
              default. 
              * c.opt (-Wwrite-strings): Declare variable
      	warn_write_strings.
              Clarify documentation.
              * c-common.h (warn_write_strings): Remove.
              * c-common.c (warn_write_strings): Likewise.
              * c-opts.c (c_common_init_options): Enable -Wwrite-strings by
              default for C++.
      
      testsuite/
      2006-02-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>
      
              * g++.dg/warn/no-write-strings.C: New test.
              * g++.dg/warn/write-strings.C: Likewise.
              * g++.dg/warn/write-strings-default.C: Likewise.
      
      From-SVN: r110907
      Gabriel Dos Reis committed
  17. 09 Feb, 2006 1 commit
    • c-common.h (flag_const_strings): Don't declare. · cfb10bd3
      2006-02-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
      
              * c-common.h (flag_const_strings): Don't declare.
              * c-common.c (flag_const_strings): Remove.
              * c.opt (fconst_strings): Remove.
              * c-opts.c (c_common_handle_option): Remove
              * <OPT_fconst_strings>.
              <OPT_Wwrite_strings>: Don't set flag_const_strings.
              (c_common_init_options): Don't set flag_const_strings.
              * doc/invoke.texi (-fno-const-strings): Remove documentation.
      
      cp/
      2006-02-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
      
              * typeck.c (string_conv_p): Don't test for flag_const_strings.
      
      testsuite/ 
      2006-02-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
      
              * g++.old-deja/g++.benjamin/15351-2.C: Likewise.
              * g++.old-deja/g++.benjamin/15351-1.C: Remove.
      
      From-SVN: r110804
      Gabriel Dos Reis committed
  18. 07 Feb, 2006 1 commit
    • c.opt: C++ frontend supports -Wdiv-by-zero. · 1104b28b
      2006-02-07  Dirk Mueller <dmueller@suse.com>
      
              * c.opt: C++ frontend supports -Wdiv-by-zero.
              * c-opts.c (c_common_handle_option): Remove dead case.
      
              * typeck.c (build_binary_op): Annotate div-by-zero
              warnings to make -Wno-div-by-zero have an effect.
      
              g++.dg/warn/Wdiv-by-zero.C: New test.
              g++.dg/warn/Wno-div-by-zero.C: New.
      
      From-SVN: r110712
      Dirk Mueller committed
  19. 29 Jan, 2006 1 commit
    • c.opt: Add -W(no-)overlength-strings. · 89a42ac8
      gcc:
      	* c.opt: Add -W(no-)overlength-strings.
      	* doc/invoke.texi: Document it.
      	* c-opts.c (c_common_handle_option): -pedantic implies
      	-Woverlength-strings, if not explicitly disabled already.
      	(c_common_post_options): -Woverlength-strings defaults to off, and
      	is always off for C++.
      	* c-common.c (fix_string_type): Issue warning about strings longer
      	than is portable only if warn_overlength_strings.  Rearrange code
      	a little for clarity.
      	* configure.in: Check for -Wno-overlength-strings as well before
      	enabling -pedantic in stage 1.
      	* Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings.
      	(gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete.
      
      	* genconditions.c (write_header, write_one_condition)
      	(write_conditions, write_writer): Consolidate very long strings
      	that were broken up to fit in C89 portable limit.  Don't use
      	printf when fputs will do.
      
      gcc/testsuite:
      	* gcc.dg/Woverlength-strings.c
      	* gcc.dg/Woverlength-strings-pedantic-c89.c
      	* gcc.dg/Woverlength-strings-pedantic-c89-no.c
      	* gcc.dg/Woverlength-strings-pedantic-c99.c
      	* gcc.dg/Woverlength-strings-pedantic-c99-no.c: New tests.
      
      ==================================================================
      
      From-SVN: r110360
      Zack Weinberg committed
  20. 26 Jan, 2006 1 commit
    • re PR c/25892 (-Wpointer-sign creates problems for Emacs) · f4e9414e
      gcc/ChangeLog:
      PR c/25892
      * c.opt (Wpointer-sign): Init to -1.
      * c-opts.c (c_common_handle_option): Set to 1 on OPT_Wall and
      OPT_pedantic, to 0 otherwise.
      * doc/invoke.texi: Update.
      gcc/testsuite/ChangeLog:
      PR c/25892
      * gcc.dg/Wpointer-sign.c: New.
      * gcc.dg/Wpointer-sign-Wall.c: New.
      * gcc.dg/Wpointer-sign-Wall-no.c: New.
      * gcc.dg/Wpointer-sign-pedantic.c: New.
      * gcc.dg/Wpointer-sign-pedantic-no.c: New.
      * gcc.dg/conv-2.c: Use -Wpointer-sign.
      
      From-SVN: r110265
      Alexandre Oliva committed
  21. 20 Jan, 2006 1 commit
    • re PR libstdc++/25524 (libstdc++ headers should go in multilib directories) · 2b6dd222
      	PR libstdc++/25524
      	* cppdefault.h (struct default_include): Add multilib flag.
      	* cppdefault.c (cpp_include_defaults): Set it.
      	* c.opt (-imultilib): New option.
      	* c-opts.c (imultilib): New.
      	(c_common_handle_option): Handle -imultilib.
      	(c_common_post_options): Likewise.
      	* c-incpath.c (add_standard_paths, register_include_chains):
      	Likewise.
      	* c-incpath.h (register_include_chains): Add extra parameter.
      	* gcc.c (do_spec_1): Generate -imultilib option.
      	(The Specs Language): Update %I description.
      	(process_command): Update copyright notice.
      	* doc/cppopts.texi (-imultilib): Document.
      	* doc/invoke.texi (-imultilib): Include in option summary.
      	(%I): Update specs documentation.
      
      libstdc++-v3:
      	* include/Makefile.am: Install host-specific headers in multilib
      	subdirectory.
      	* include/Makefile.in: Regenerate.
      
      From-SVN: r110037
      Joseph Myers committed
  22. 18 Jan, 2006 1 commit
    • [multiple changes] · 953ff289
      2006-01-18  Richard Henderson  <rth@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
      
      	* libgomp: New directory.
      	* Makefile.def: Add target_module libgomp.
      	* Makefile.in: Regenerate.
      	* configure.in (target_libraries): Add target-libgomp.
      	* configure: Regenerate.
      
      
      contrib/
      
      2006-01-18  Richard Henderson  <rth@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
      
      	* gcc_update (files_and_dependencies): Add libgomp files.
      
      
      gcc/
      
      2006-01-18  Richard Henderson  <rth@redhat.com>
                  Aldy Hernandez  <aldyh@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
      
      	* omp-low.c: New file.
      	* c-omp.c: New file.
      
      2006-01-18  Richard Henderson  <rth@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
      
      	* doc/invoke.texi: Document -fopenmp.
      	* tree-dump.h (debug_function): Declare.
      
      	* hooks.c (hook_bool_tree_bool_false): New function.
      	(hook_tree_tree_null): Remove.
      	(hook_tree_tree_tree_null): New.
      	* hooks.h: Update to match.
      
      	* tree-pretty-print.c (debug_tree_chain): New.
      	(print_generic_expr): Handle TDF_CHAIN.
      	(dump_generic_node): Handle BLOCK.
      	Do not abort with incomplete SWITCH_EXPRs.
      	Do not dump body of an OpenMP directive if TDF_SLIM is given.
      	<case OMP_PARALLEL, OMP_FOR, OMP_SECTIONS>: Don't
      	print space after directive name.
      	<OMP_FOR>: Handle printing OMP_FOR_PRE_BODY.
      	Handle OMP_MASTER and OMP_ORDERED.
      	Handle printing of OMP_BODY just in one place, goto
      	dump_omp_body in the rest of OMP_* nodes that have
      	OMP_BODY.
      	Don't handle clause nodes here.  Update omp statements to
      	use dump_omp_clauses.
      	Handle OMP_SINGLE, OMP_SECTIONS, OMP_SECTION,
      	OMP_CLAUSE_ORDERED, OMP_CLAUSE_SCHEDULE, OMP_ATOMIC,
      	OMP_CRITICAL, OMP_CLAUSE_NOWAIT, GOMP_CLAUSE_IF,
      	GOMP_CLAUSE_NUM_THREADS, GOMP_FOR, GOMP_CLAUSE_SHARED,
      	GOMP_CLAUSE_FIRSTPRIVATE, GOMP_CLAUSE_LASTPRIVATE,
      	GOMP_CLAUSE_COPYIN and GOMP_CLAUSE_COPYPRIVATE.
      	Adjust output for GOMP_PARALLEL.
      	(dump_omp_clauses): New.
      	(print_declaration): Dump DECL_VALUE_EXPR.
      	(op_symbol_1): Split out of op_symbol.
      	(dumping_stmts): Remove.  Update all users.
      
      	* cgraph.c (cgraph_analyze_queue): New.
      	(cgraph_add_new_function): New.
      	* cgraph.h (cgraph_analyze_queue): Declare.
      	(cgraph_add_new_function): Declare.
      	(cgraph_lower_function): Remove.
      
      	* tree.c (walk_tree): Walk OMP_CLAUSE_CHAIN of OMP_CLAUSE_*
      	nodes.  Use switch for all nodes, handle most of IS_EXPR_CODE_CLASS
      	and TYPE_P nodes in its default clause.
      	(empty_body_p): New.
      	(tree_range_check_failed): New.
      	(build5_stat): New.
      
      	* tree.h (OMP_CLAUSE_REDUCTION_INIT,
      	OMP_CLAUSE_REDUCTION_MERGE,
      	OMP_CLAUSE_REDUCTION_PLACEHOLDER,
      	OMP_CLAUSE_PRIVATE_DEBUG,
      	OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE, OMP_FOR_PRE_BODY,
      	OMP_MASTER_BODY, OMP_ORDERED_BODY OMP_BODY,
      	OMP_CLAUSES, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT_KIND,
      	OMP_CLAUSE_CHAIN, OMP_CLAUSE_OUTER_DECL,
      	OMP_CLAUSE_INNER_DECL, OMP_CLAUSE_NUM_THREADS_EXPR,
      	OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR,
      	OMP_CLAUSE_SCHEDULE_CHUNK_SIZE. OMP_PARALLEL_VAR_INIT,
      	OMP_PARALLEL_VAR_REDUC, OMP_FOR_VAR_INIT,
      	OMP_FOR_VAR_LAST, OMP_FOR_VAR_REDUC,
      	OMP_SECTIONS_VAR_INIT, OMP_SECTIONS_VAR_LAST,
      	OMP_SECTIONS_VAR_REDUC, OMP_CLAUSE_REDUCTION_CODE
      	OMP_SINGLE_CLAUSES, OMP_SINGLE_BODY,
      	OMP_CLAUSE_SCHEDULE_CHUNK_SIZE, OMP_SECTION_BODY,
      	OMP_CRITICAL_NAME, OMP_CRITICAL_BODY): New.
      	(TREE_RANGE_CHECK): New.
      	(empty_body_p): Declare.
      	(enum omp_clause_default_kind): New.
      	(build_string_literal): Declare.
      	(enum omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_KIND): New.
      	(build5_stat, build5): Declare.
      
      	* tree-pass.h (TDF_CHAIN): Define.
      	* tree-pass.h (PROP_gimple_lomp): Define.
      	(pass_lower_omp): Declare.
      
      	* diagnostic.h (debug_tree_chain): Declare.
      
      	* builtins.c (get_builtin_sync_mode): Use 0 as last argument to
      	mode_for_size.
      	(expand_builtin): Handle sync BUILT_IN_*_16 builtins.
      	* builtins.c (build_string_literal): Make extern.
      
      	* gcc.c (include_spec_function): New.
      	(static_spec_functions): Add it.
      	(main): Move load of libgomp.spec ...
      	(LINK_COMMAND_SPEC): ... here.
      	(link_gomp_spec): New.
      	(static_specs): Include it.
      	(LINK_COMMAND_SPEC): Add link_gomp.
      	(GOMP_SELF_SPECS): New.
      	(driver_self_specs): Include it.
      	(switch_matches): Don't mark inline.
      	(main): Load libgomp.spec.
      
      	* tree-gimple.c (is_gimple_stmt): True for OMP_MASTER,
      	OMP_ORDERED, OMP_CRITICAL, OMP_SECTIONS, OMP_SECTION,
      	and OMP_SINGLE, OMP_FOR and OMP_PARALLEL.
      
      	* tree-gimple.h (enum omp_parallel): Declare.
      	(determine_parallel_type): Declare.
      	(omp_firstprivatize_variable): Declare.
      	(omp_reduction_init): Declare.
      	(diagnose_omp_structured_block_errors): Declare.
      	(struct walk_stmt_info): Add want_return_expr.
      	(struct walk_stmt_info): Add want_bind_expr, want_locations.
      	(find_omp_clause): Declare.
      	(insert_field_into_struct): Declare.
      	(struct walk_stmt_info): Move from tree-nested.c
      	(walk_stmts): Declare.
      
      	* c-cppbuiltin.c (c_cpp_builtins): If -fopenmp, #define _OPENMP
      	to 200505.
      
      	* cgraphunit.c (cgraph_lower_function): Make static.
      	(cgraph_finalize_pending_functions): New.
      	(cgraph_finalize_function): Call it.
      	(cgraph_finalize_compilation_unit): Likewise.
      
      	* builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16,
      	BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.
      	(BT_FN_UINT_UINT): New.
      	(DEF_FUNCTION_TYPE_6, DEF_FUNCTION_TYPE_7,
      	DEF_FUNCTION_TYPE_VAR_4): Document.
      	(BT_PTR_LONG, BT_PTR_PTR, BT_FN_BOOL, BT_FN_INT,
      	BT_FN_VOID_PTRPTR, BT_PTR_FN_VOID_PTR,
      	BT_FN_BOOL_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT,
      	BT_FN_VOID_OMPFN_PTR_UINT_UINT,
      	BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
      	BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
      	BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
      	BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG): New.
      
      	* builtins.def: Update DEF_BUILTIN comment to include COND argument.
      	Move all DEF_SYNC_BUILTIN () and DEF_GOMP_BUILTIN () builtins
      	into separate files.
      	(DEF_GOMP_BUILTIN): New.
      	(BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_GOMP_BARRIER,
      	BUILT_IN_GOMP_CRITICAL_START, BUILT_IN_GOMP_CRITICAL_END,
      	BUILT_IN_GOMP_CRITICAL_NAME_START, BUILT_IN_GOMP_CRITICAL_NAME_END,
      	BUILT_IN_GOMP_LOOP_STATIC_START, BUILT_IN_GOMP_LOOP_DYNAMIC_START,
      	BUILT_IN_GOMP_LOOP_GUIDED_START, BUILT_IN_GOMP_LOOP_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START,
      	BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START,
      	BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START,
      	BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_STATIC_NEXT, BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT,
      	BUILT_IN_GOMP_LOOP_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_RUNTIME_NEXT,
      	BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT,
      	BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT,
      	BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT,
      	BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT,
      	BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
      	BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
      	BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
      	BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_END, BUILT_IN_GOMP_LOOP_END_NOWAIT,
      	BUILT_IN_GOMP_ORDERED_START, BUILT_IN_GOMP_ORDERED_END,
      	BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END,
      	BUILT_IN_GOMP_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_NEXT,
      	BUILT_IN_GOMP_PARALLEL_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_END,
      	BUILT_IN_GOMP_SECTIONS_END_NOWAIT, BUILT_IN_GOMP_SINGLE_START,
      	BUILT_IN_GOMP_SINGLE_COPY_START, BUILT_IN_GOMP_SINGLE_COPY_END): New.
      	* sync-builtins.def: New file, moved from builtins.def.
      	* omp-builtins.def: New file, moved from builtins.def.
      
      	* c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine.
      
      	* gimple-low.c (lower_function_body): Clear data.
      	(lower_stmt): Do not handle COMPOUND_EXPR.
      	Remove call to print_node_brief.
      
      	* c-tree.h (c_finish_omp_clauses): New prototype.
      	(C_DECL_THREADPRIVATE_P): Define.
      	(lookup_name_no_remap, c_omp_remap_private): Remove
      	(c_begin_omp_parallel, c_finish_omp_parallel): Update.
      	(check_for_loop_decls): Update decl.
      	(lookup_name_no_remap, c_omp_remap_private): Declare.
      	(build_indirect_ref, build_modify_expr, pushdecl,
      	pushdecl_top_level): Move to c-common.h.
      
      	* dwarf2out.c (loc_descriptor_from_tree_1): Don't set unsignedp
      	before the switch, but just in the 2 places that need it.
      
      	* c-decl.c (diagnose_mismatched_decls): Do not check for
      	mismatched thread-local attributes when OLDDECL is marked
      	threadprivate and NEWDECL has no thread-local attributes.
      	(merge_decls): Merge C_DECL_THREADPRIVATE_P.
      	(c_gimple_diagnostics_recursively): Rename from
      	c_warn_unused_result_recursively.  Invoke
      	diagnose_omp_structured_block_errors.
      	(check_for_loop_decls): Return a singular decl found.
      
      	* langhooks.c (lhd_omp_predetermined_sharing): Return
      	OMP_CLAUSE_DEFAULT_SHARED for DECL_ARTIFICIAL decls.
      	(lhd_omp_firstprivatize_type_sizes): New.
      	(lhd_omp_assignment): New.
      	(lhd_omp_predetermined_sharing): New.
      
      	* langhooks.h (struct gimplify_omp_ctx): Forward declare.
      	(struct lang_hooks_for_types): Add
      	omp_firstprivatize_type_sizes, omp_privatize_by_reference,
      	omp_predetermined_sharing, omp_disregard_value_expr,
      	omp_private_debug_clause, omp_clause_default_ctor,
      	omp_clause_copy_ctor, omp_clause_assign_op, omp_clause_dtor.
      
      	(c_finish_omp_clauses): New.
      	(c_finish_bc_stmt): Diagnose break within omp for.
      	(c_begin_omp_parallel, c_finish_omp_parallel): New.
      	(build_unary_op): Return error_mark after reporting
      	a readonly_error.
      	(build_modify_expr): Likewise.
      
      	* gimplify.c: Include optabs.h and pointer-set.h.
      	(enum gimplify_omp_var_data): Declare.
      	(struct gimplify_omp_ctx): Declare.
      	(struct gimplify_ctx): Add fields prev_context, combined_pre_p
      	and combined_ctxp.
      	(gimplify_ctxp, gimplify_omp_ctxp): New local variables.
      	(push_gimplify_context, pop_gimplify_context): Allow nesting.
      	(splay_tree_compare_decl_uid): New.
      	(new_omp_context): New.
      	(delete_omp_context): New.
      	(gimple_add_tmp_var): Call omp_add_variable.
      	(gimplify_bind_expr): Likewise.
      	(gimplify_var_or_parm_decl): If omp_notice_variable returned
      	true, disregard DECL_VALUE_EXPR on the decl if any.
      	(gimplify_expr_in_ctx): New.
      	(omp_firstprivatize_variable, omp_firstprivatize_type_sizes
      	omp_add_variable, omp_notice_variable, omp_is_private
      	gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1
      	gimplify_adjust_omp_clauses, gimplify_omp_parallel
      	gimplify_omp_for, gimplify_omp_workshare, goa_lhs_expr_p
      	gimplify_omp_atomic_fetch_op, goa_stabilize_expr
      	gimplify_omp_atomic_pipeline, gimplify_omp_atomic_mutex
      	gimplify_omp_atomic): New.
      	(gimplify_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
      	OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
      	OMP_CRITICAL and OMP_ATOMIC.
      	(gimplify_body): Verify gimplify_ctxp is empty after gimplification.
      
      	* c-pragma.h (enum pragma_kind): Add
      	PRAGMA_OMP_ATOMIC, PRAGMA_OMP_BARRIER,
      	PRAGMA_OMP_CRITICAL, PRAGMA_OMP_FLUSH, PRAGMA_OMP_FOR,
      	PRAGMA_OMP_MASTER, PRAGMA_OMP_ORDERED,
      	PRAGMA_OMP_PARALLEL, PRAGMA_OMP_PARALLEL_FOR,
      	PRAGMA_OMP_PARALLEL_SECTIONS, PRAGMA_OMP_SECTION,
      	PRAGMA_OMP_SECTIONS, PRAGMA_OMP_SINGLE,
      	PRAGMA_OMP_THREADPRIVATE.
      
      	* tree.def (OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
      	OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
      	OMP_CRITICAL, OMP_ATOMIC, OMP_CLAUSE_PRIVATE,
      	OMP_CLAUSE_SHARED, OMP_CLAUSE_FIRSTPRIVATE,
      	OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION,
      	OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE,
      	OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
      	OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT,
      	OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Define.
      
      	* print-tree.c (print_node): Dump DECL_VALUE_EXPR.
      
      	* tree-ssa-dce.c (find_control_dependence): Do not assume that
      	ENTRY_BLOCK_PTR->next_bb == single_succ (ENTRY_BLOCK_PTR).
      
      	* tree-nested.c (convert_call_expr): Call walk_body on OMP_BODY for
      	OpenMP directives.
      	(struct nesting_info): Add field_map,
      	suppress_expansion, debug_var_chain.
      	(create_nesting_tree): Initialize them.
      	(lookup_field_for_decl): Use field_map.
      	(get_nonlocal_debug_decl, get_local_debug_decl): New.
      	(convert_local_omp_clauses): New.
      	(finalize_nesting_tree_1): Add debug_var_chain to toplevel block.
      	(walk_body): Split out of walk_function.
      	(convert_nonlocal_omp_clauses, convert_local_omp_clauses): New.
      	(convert_nonlocal_reference): Handle omp statements.
      	(convert_local_reference): Likewise.
      	(unnest_nesting_tree_1): Split out of finalize_nesting_tree_1.
      	(unnest_nesting_tree): New.
      	(lower_nested_functions): Call it.
      	(insert_field_into_struct): Make extern.
      	(struct walk_stmt_info): Move to tree-gimple.h.
      	(walk_stmts): Make extern.
      
      	* omp-builtins.def: New file.
      
      	* tree-iterator.c (expr_only): Clarify comment.
      
      	* c-common.h (pushdecl_top_level, pushdecl,
      	build_modify_expr, build_indirect_ref,
      	c_finish_omp_master, c_finish_omp_critical,
      	c_finish_omp_ordered, c_finish_omp_barrier,
      	c_finish_omp_atomic, c_finish_omp_flush,
      	c_finish_omp_for, c_split_parallel_clauses,
      	omp_clause_default_kind, c_omp_sharing_predetermined,
      	c_omp_remap_decl): Declare.
      
      	* Makefile.in (BUILTINS_DEF): Add omp-builtins.def.
      	(OBJS-common): Add omp-low.o.
      	(c-omp.o, omp-low.o): Add.
      	(gimplify.o): Add dependency on $(OPTABS_H).
      	(GTFILES): Add omp-low.c.
      	(gt-stringpool.h): Add.
      
      	* tree-cfg.c (set_bb_for_stmt): Do not update the
      	block-to-labels map if we are currently expanding to RTL.
      	(tree_node_can_be_shared): Remove unnecessary CONSTANT_CLASS_P
      	checks.
      	Handle IDENTIFIER_NODE.
      	(tree_verify_flow_info): Do not ICE when emitting error
      	messages about invalid labels.
      	(dump_function_to_file): Reset CFUN before emitting the body
      	of the function.
      	(debug_function): New.
      
      	* passes.c (init_optimization_passes): Schedule
      	pass_lower_omp.
      
      	* langhooks-def.h (lhd_omp_predetermined_sharing,
      	lhd_omp_assignment, lhd_omp_firstprivatize_type_sizes):
      	Declare.
      	(LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define.
      	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
      	(LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE,
      	LANG_HOOKS_OMP_PREDETERMINED_SHARING,
      	LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR,
      	LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE,
      	LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR,
      	LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
      	LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP,
      	LANG_HOOKS_OMP_CLAUSE_DTOR): Define.
      	(LANG_HOOK_DECLS): Use them.
      
      
      2006-01-18  Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
      	    Richard Henderson  <rth@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
      
      	* c-parser.c (pragma_omp_clause): Define.
      	(c_parser_declaration_or_fndef): Document OpenMP syntax.
      	(c_parser_compound_statement): Likewise.
      	(c_parser_statement): Likewise.
      	(c_parser_pragma): Handle omp pragmas.
      	(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
      	OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK): Define.
      	(c_parser_omp_clause_name, check_no_duplicate_clause,
      	c_parser_omp_variable_list,
      	c_parser_omp_var_list_parens, c_parser_omp_clause_copyin,
      	c_parser_omp_clause_copyprivate,
      	c_parser_omp_clause_default,
      	c_parser_omp_clause_firstprivate, c_parser_omp_clause_if,
      	c_parser_omp_clause_lastprivate,
      	c_parser_omp_clause_nowait,
      	c_parser_omp_clause_num_threads,
      	c_parser_omp_clause_ordered, c_parser_omp_clause_private,
      	c_parser_omp_clause_reduction,
      	c_parser_omp_clause_schedule, c_parser_omp_clause_shared,
      	c_parser_omp_all_clauses, c_parser_omp_structured_block,
      	c_parser_omp_atomic, c_parser_omp_barrier,
      	c_parser_omp_critical, c_parser_omp_flush,
      	c_parser_omp_for_loop, c_parser_omp_for,
      	c_parser_omp_master, c_parser_omp_ordered,
      	c_parser_omp_sections_scope, c_parser_omp_sections,
      	c_parser_omp_parallel, c_parser_omp_single,
      	c_parser_omp_construct, c_parser_omp_threadprivate): New.
      	* c-pragma.c (init_pragma): Do omp pragma registration here.
      	* c.opt (fopenmp): New flag.
      
      
      2006-01-18  Eric Christopher  <echristo@apple.com>
      
      	* gcc.c (GOMP_SELF_SPECS): Bracket in #ifndef/#endif.
      	* config/darwin.h (GOMP_SELF_SPECS): Define.
      
      
      testsuite/
      
      2006-01-18  Richard Henderson  <rth@redhat.com>
                  Aldy Hernandez  <aldyh@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
                  Uros Bizjak  <uros@kss-loka.si>
      
      	* testsuite/gcc.dg/gomp: New directory.
      
      From-SVN: r109902
      Diego Novillo committed
  23. 15 Nov, 2005 1 commit
  24. 04 Nov, 2005 1 commit
  25. 20 Sep, 2005 1 commit
    • c.opt (fextended-identifiers): New. · af15a2fe
      gcc:
      	* c.opt (fextended-identifiers): New.
      	* c-opts.c (c_common_handle_option): Handle
      	-fextended-identifiers.
      	* doc/cpp.texi: Update documentation of extended identifiers.
      	* doc/cppopts.texi (-fextended-identifiers): Document.
      
      gcc/testsuite:
      	* g++.dg/cpp/ucnid-1.C, g++.dg/cpp/normalize-1.C,
      	g++.dg/other/ucnid-1.C, gcc.dg/cpp/normalize-1.c,
      	gcc.dg/cpp/normalize-2.c, gcc.dg/cpp/normalize-3.c,
      	gcc.dg/cpp/normalize-4.c, gcc.dg/cpp/ucnid-1.c,
      	gcc.dg/cpp/ucnid-2.c, gcc.dg/cpp/ucnid-3.c, gcc.dg/cpp/ucnid-4.c,
      	gcc.dg/cpp/ucnid-5.c, gcc.dg/cpp/ucnid-7.c,gcc.dg/ucnid-1.c,
      	gcc.dg/ucnid-2.c, gcc.dg/ucnid-3.c, gcc.dg/ucnid-4.c,
      	gcc.dg/ucnid-5.c, gcc.dg/ucnid-6.c: Add -fextended-identifiers.
      	* gcc.dg/cpp/ucnid-8.c: New test.
      
      libcpp:
      	* include/cpplib.h (struct cpp_options): Add extended_identifiers.
      	* init.c (struct lang_flags, lang_defaults): Add
      	extended_identifiers.
      	(cpp_set_lang): Use it.
      	* lex.c (forms_identifier_p): Check extended_identifiers.
      
      From-SVN: r104462
      Joseph Myers committed
  26. 12 Sep, 2005 1 commit
    • re PR c++/7874 (g++ finds friend functions defined in class-definition but not… · d63d5d0c
      re PR c++/7874 (g++ finds friend functions defined in class-definition but not declared in the enclosing namespace)
      
      ./	PR g++/7874
      	* c.opt (ffriend-injection): New C++ option.
      	* doc/invoke.texi (Option Summary): Mention -ffriend-injection.
      	(C++ Dialect Options): Document -ffriend-injection.
      cp/
      	PR g++/7874
      	* cp-tree.h (struct lang_decl_flags): Add hidden_friend_p
      	bitfield.  Make dummy bitfield one bit smaller.
      	(DECL_HIDDEN_FRIEND_P): Define.
      	(pushdecl_maybe_friend): Declare.
      	(pushdecl_top_level_maybe_friend): Declare.
      	* decl.c (duplicate_decls): Add newdecl_is_friend parameter.
      	Change prototype and all callers.  Add assertion that a
      	DECL_ARTIFICIAL FUNCTION_DECL is not DECL_HIDDEN_FRIEND_P.  Set
      	DECL_ANTICIPATED and DECL_HIDDEN_FRIEND_P in duplicated decl if
      	appropriate.
      	* name-lookup.c (supplement_binding): Don't ignore a
      	DECL_HIDDEN_FRIEND_P.
      	(pushdecl_maybe_friend): Break out contents of pushdecl.  Add
      	is_friend parameter.  Set DECL_ANTICIPATED and
      	DECL_HIDDEN_FRIEND_P for a friend function.
      	(pushdecl): Just call pushdecl_maybe_friend.
      	(pushdecl_with_scope): Add is_friend parameter.  Change prototype
      	and all callers.
      	(pushdecl_namespace_level): Likewise.
      	(push_overloaded_decl): Likewise.  Check DECL_HIDDEN_FRIEND_P as
      	well as DECL_ANTICIPATED when checking for a builtin.
      	(do_nonmember_using_decl): Check DECL_HIDDEN_FRIEND_P as well as
      	DECL_ANTICIPATED when checking for a builtin.
      	(do_nonmember_using_decl): Likewise.
      	(pushdecl_top_level_1): Add is_friend parameter.  Change all
      	callers.
      	(pushdecl_top_level_maybe_friend): New function.
      	(remove_hidden_names): New function.
      	(struct arg_lookup): Add args field.
      	(friend_of_associated_class_p): New static function.
      	(arg_assoc_namespace): Ignore hidden functions which are not
      	friends of an associated class of some argument.
      	(lookup_arg_dependent): Remove hidden functions from list passed
      	in.  Initialize k.args.
      	* name-lookup.h (remove_hidden_names): Declare.
      	* friend.c (do_friend): Call pushdecl_maybe_friend instead of
      	pushdecl.
      	* call.c (add_function_candidate): Change DECL_ANTICIPATED test to
      	an assertion, with a check for DECL_HIDDEN_FRIEND_P.
      	(build_new_function_call): Add koenig_p parameter.  Change
      	prototype and callers.
      	* pt.c (register_specialization): Add is_friend parameter.  Change
      	all callers.
      	(push_template_decl_real): Change is_friend parameter to bool.
      	Change prototype and all callers.
      	(tsubst_friend_class): Call pushdecl_top_level_maybe_friend
      	instead of pushdecl_top_level.
      testsuite/
      	PR g++/7874
      	* g++.dg/lookup/friend7.C: New test.
      	* g++.dg/lookup/friend8.C: New test.
      	* g++.dg/parse/defarg4.C: Add a parameter to the friend function,
      	so that it will be found via argument dependent lookup.
      	* g++.old-deja/g++.brendan/crash56.C: Don't expect errors for
      	friend functions which will no longer be found.
      	* g++.old-deja/g++.jason/friend.C: Add a parameter to the friend
      	function g, so that it will be found via argument dependent
      	lookup.
      	* g++.old-deja/g++.jason/scoping15.C: Use -ffriend-injection.
      	* g++.old-deja/g++.mike/net43.C: Likewise.
      
      From-SVN: r104188
      Ian Lance Taylor committed
  27. 19 Jul, 2005 1 commit
    • toplev.h: Add comment about the first parameter for warning(). · b9b8dde3
      * toplev.h: Add comment about the first parameter for warning().
      * errors.h: Likewise.
      
      * c.opt (Wpragmas): New.
      * doc/invoke.texi: Document it.
      
      * function.c (do_warn_unused_parameter): Add warning control to
      warning call.
      * c-decl.c (warn_if_shadowing): Likewise.
      * c-lex.c (cb_def_pragma): Likewise.
      * c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
      (pop_alignment): Likewise.
      (handle_pragma_pack): Likewise.
      (apply_pragma_weak): Likewise.
      (handle_pragma_weak): Likewise.
      (handle_pragma_redefine_extname): Likewise.
      (add_to_renaming_pragma_list): Likewise.
      (handle_pragma_extern_prefix): Likewise.
      (maybe_apply_renaming_pragma): Likewise.
      (handle_pragma_visibility): Likewise.
      
      * config/c4x/c4x-c.c (BAD): Likewise.
      (c4x_parse_pragma): Likewise.
      * config/ia64/ia64-c.c (ia64_hpux_handle_builtin_pragma): Likewise.
      * config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
      (rs6000_pragma_longcall): Likewise.
      * config/v850/v850-c.c (pop_data_area): Likewise.
      (ghs_pragma_section): Likewise.
      (ghs_pragma_section): Likewise.
      (ghs_pragma_interrupt): Likewise.
      (ghs_pragma_starttda): Likewise.
      (ghs_pragma_startsda): Likewise.
      (ghs_pragma_startzda): Likewise.
      (ghs_pragma_endtda): Likewise.
      (ghs_pragma_endsda): Likewise.
      (ghs_pragma_endzda): Likewise.
      
      From-SVN: r102168
      DJ Delorie committed
  28. 03 Jul, 2005 1 commit
    • bb-reorder.c, [...]: Avoid "." or "\n" at end of diagnostics and capital letters… · ab532386
      bb-reorder.c, [...]: Avoid "." or "\n" at end of diagnostics and capital letters at start of diagnostics.
      
      	* bb-reorder.c, c-pch.c, c-pragma.c, c.opt, cfghooks.c, cfgloop.c,
      	cfgrtl.c, cgraphunit.c, config/c4x/c4x.c, config/cris/cris.c,
      	config/frv/frv.c, config/host-darwin.c, config/iq2000/iq2000.c,
      	config/lynx.h, config/m68k/m68k.c, config/pa/pa.c, config/sh/sh.h,
      	config/stormy16/stormy16.c, config/v850/v850.c,
      	config/vax/netbsd-elf.h, coverage.c, dwarf2out.c, emit-rtl.c,
      	except.c, gcc.c, tree-cfg.c, tree-eh.c, tree-ssa.c, xcoffout.c:
      	Avoid "." or "\n" at end of diagnostics and capital letters at
      	start of diagnostics.
      	* combine.c, cse.c: Don't translate dump file output.
      	* toplev.c (print_version): Only translate output if going to
      	stderr.
      
      From-SVN: r101561
      Joseph Myers committed
  29. 02 Jul, 2005 1 commit
    • c.opt, [...]: Remove "." from end of help texts. · c85ce869
      	* c.opt, common.opt, config/bfin/bfin.opt, config/pa/pa.opt,
      	config/rs6000/rs6000.opt, params.def: Remove "." from end of help
      	texts.
      	* config/avr/avr.c: Do not use '`' as left quote.
      	* config/rs6000/rs6000.c, config/s390/s390.c, opts.c, tree.c:
      	Remove "." from end of diagnostics.  Make diagnostics start with
      	lowercase letter.
      
      cp:
      	* name-lookup.c, parser.c: Use %q, %< and %> to quote in
      	diagnostics.
      
      fortran:
      	* lang.opt: Remove "." from end of help texts.
      
      objc:
      	* objc-act.c: Use %q to quote in diagnostics.
      
      From-SVN: r101533
      Joseph Myers committed
  30. 25 Jun, 2005 1 commit
  31. 09 Jun, 2005 1 commit
  32. 25 May, 2005 1 commit
    • c-common.c (unsigned_conversion_warning): Move warning control from if() to warning(OPT_*). · 44c21c7f
      * c-common.c (unsigned_conversion_warning): Move warning control
      from if() to warning(OPT_*).
      (c_common_truthvalue_conversion): Likewise.
      (c_do_switch_warnings): Likewise.
      * c-decl.c (diagnose_mismatched_decls): Likewise.
      (diagnose_mismatched_decls): Likewise.
      (define_label): Likewise.
      (grokdeclarator): Likewise.
      * c-format.c (check_format_info): Likewise.
      * c-lex.c (interpret_integer): Likwise.
      (lex_string): Likewise.
      * c-opts.c (c_common_post_options): Likewise.
      * c-parser.c (c_parser_unary_expression): Likewise.
      * c-pragma.c (handle_pragma_redefine_extname): Likewise.
      (handle_pragma_extern_prefix): Likewise.
      * c-typeck.c (build_binary_op): Likewise.
      * gcse.c (is_too_expensive): Likewise.
      * opts.c (decode_options): Likewise.
      * stor-layout.c (place_field): Likewise.
      * tree-cfg.c (remove_bb): Likewise.
      
      * c.opt (-Wreturn-type): Add Var(warn_return_type).
      * flags.h (warn_return_type): Remove.
      * toplev.c (warn_return_type): Likewise.
      
      From-SVN: r100135
      DJ Delorie committed
  33. 18 May, 2005 1 commit
    • dummy-checksum.c: New. · 3fd30b88
      2005-05-18  Geoffrey Keating  <geoffk@apple.com>
      
      	* dummy-checksum.c: New.
      	* genchecksum.c: New.
      	* c.opt (print_pch_checksum): New flag.
      	* c-pch.c (struct c_pch_validity): Make much shorter.
      	(no_checksum): New.
      	(host_machine): Remove.
      	(target_machine): Remove.
      	(get_ident): Change PCH version number.
      	(pch_init): When -fverbose-asm, print out the compiler fingerprint.
      	Don't put triplets or version string in PCH validity data.
      	Do put the compiler checksum in the validity data.
      	(c_common_valid_pch): Don't check triplets or version string.  Do
      	check checksum.
      	(c_common_print_pch_checksum): New.
      	* c-opts.c (c_common_handle_option): Add OPT_print_pch_checksum.
      	Print fingerprint with -v.
      	* c-common.h (c_common_print_pch_checksum): New.
      	(executable_checksum): New.
      	* Makefile.in (STAGEMOVESTUFF): Add cc1*-dummy, *-checksum.c.
      	(cc1-dummy): New rule.
      	(cc1-checksum.c): New rule.
      	(cc1-checksum.o): New rule.
      	(cc1): Add checksum support.
      	(build/genchecksum): New.
      	(build/genchecksum.o): New.
      	(dummy-checksum.o): New.
      	(genobjnames): Add genchecksum.o.
      	(mostlyclean): Remove *-checksum.c.
      	(gnucompare): Add libgcc to list of directories checked.
      	Make comparison problems in libgcc/ and with checksum files only
      	be warnings.
      	* doc/invoke.texi (Precompiled Headers): Remove caution.
      	Document that it must be the exact same binary.  Add a few
      	known-safe flags to the list.
      
      In cp/:
      2005-05-18  Geoffrey Keating  <geoffk@apple.com>
      
      	* Make-lang.in (cc1plus-dummy): New.
      	(cc1plus-checksum.c): New.
      	(cc1plus-checksum.o): New.
      	(cc1plus): Add cc1plus-checksum.o.
      
      In objc/:
      2005-05-18  Geoffrey Keating  <geoffk@apple.com>
      
      	* Make-lang.in (cc1obj-dummy): New.
      	(cc1obj-checksum.c): New.
      	(cc1obj-checksum.o): New.
      	(cc1obj): Add cc1obj-checksum.o.
      
      In objcp/:
      2005-05-18  Geoffrey Keating  <geoffk@apple.com>
      
      	* Make-lang.in (cc1objplus-dummy): New.
      	(cc1objplus-checksum.c): New.
      	(cc1objplus-checksum.o): New.
      	(cc1objplus): Add cc1objplus-checksum.o.
      
      From-SVN: r99928
      Geoffrey Keating committed
  34. 17 May, 2005 1 commit
    • Yet more Objective-C++... · 6e955430
              * c-common.h (objc_finish_try_stmt): Add.
              (objc_build_synchronized): Add.
              (objc_generate_write_barrier): Add.
              * stub-objc.c (objc_build_synchronized): Add return value.
              (objc_finish_try_stmt): Likewise.
              (objc_generate_write_barrier): Add.
      
              * c-common.h (objc_rewrite_function_call): Add.
              * c-typeck.c (build_function_call): Allow objc to rewrite
              FUNCTION_DECLs.
              (build_modify_expr): Allow objc to generate write barriers.
              * c.opt (Wassign-intercept): Add.
              (Wstrict-selector-match): Add.
              (fobjc-call-cxx-cdtors): Add.
              (fobjc-direct-dispatch): Add.
              (fobjc-gc): Add.
              * dbxout.c (get_lang_number): Add Objective-C++ support.
              * doc/invoke.texi (-fobjc-call-cxx-cdtors): Likewise.
              (-Wstrict-selector-match): Likewise.
              (-fobjc-direct-dispatch): Likewise.
              (-Wassign-intercept): Likewise.
              (Overall Options): Likewise.
              * gengtype.c (get_output_file_with_visibility): Likewise.
              * stub-objc.c (objc_rewrite_function_call): Add.
              * config/darwin.h (ASM_OUTPUT_LABELREF): Improved quoting support.
      
              * c-common.c (flag_objc_exceptions): Remove.
              (flag_objc_sjlj_exceptions): Remove.
              * c-decl.c (objc_mark_locals_volatile): Don't change decls
              that are already ok.
              * c-opts.c (c_common_handle_option, case
              OPT_fobjc_exceptions): Remove.
              (case OPT_fobjc_sjlj_exceptions): Remove
              * c.opt (fobjc-call-cxx-cdtors): Have opt create the flag.
              (fobjc-exceptions): Likewise.
              (fobjc-sjlj-exceptions): Likewise.
              * config/rs6000/darwin.h (OFFS_MSGSEND_FAST): Add.
              (OFFS_ASSIGNIVAR_FAST): Add.
      
      From-SVN: r99858
      Ziemowit Laski committed
  35. 02 May, 2005 1 commit
    • re PR c++/19542 (attribute(sentinel) has problems with C++ __null) · b2f97e4a
              PR c++/19542
              * c-common.c (c_common_nodes_and_builtins): Create global null_node.
              (warn_strict_null_sentinel): Define.
              (check_function_sentinel): Check for null_node as valid sentinel too.
              * c-common.h (c_tree_index): Added CTI_NULL.
              (null_node) Define global_tree[CTI_NULL].
              (warn_strict_null_sentinel): Declare.
              * c-opts.c: (c_common_handle_option): Handle -Wstrict-null-sentinel.
              * c.opt: (Wstrict-null-sentinel): New C++ option.
              * doc/invoke.texi (C++ Options): Document -Wstrict-null-sentinel.
      
              * cp-tree.h (cp_tree_index): Remove CPTI_NULL, to be defined in C
              common frontend.
              (null_node): Remove.
              * lex.c (cxx_init): Move null_node initialisation to C common frontend.
      
              * g++.dg/warn/sentinel.C: New testcase for __null sentinels added.
      
      From-SVN: r99091
      Michael Matz committed
  36. 20 Apr, 2005 1 commit
    • c.opt (Wint-to-pointer-cast, [...]): New options. · 53a2494e
      2005-04-20  Michael Pogue  <michael.pogue@sun.com>
                  Joseph S. Myers  <joseph@codesourcery.com>
      
      	* c.opt (Wint-to-pointer-cast, Wpointer-to-int-cast): New options.
      	* c-typeck.c (build_c_cast): Check these options.
      	* doc/invoke.texi: Document these options.
      
      testsuite:
      	* gcc.dg/Wint-to-pointer-cast-1.c,
      	gcc.dg/Wint-to-pointer-cast-2.c, gcc.dg/Wint-to-pointer-cast-3.c,
      	gcc.dg/Wpointer-to-int-cast-1.c, gcc.dg/Wpointer-to-int-cast-2.c,
      	gcc.dg/Wpointer-to-int-cast-3.c: New tests.
      
      From-SVN: r98429
      Joseph Myers committed
  37. 06 Apr, 2005 1 commit
  38. 28 Mar, 2005 1 commit
  39. 24 Mar, 2005 1 commit
    • --text follows this line-- · d0b07283
      This is the one case in c.opt where 'C++' appeared without 'ObjC++',
      and it's annoying that it was this important option.
      
      Bootstrapped & tested on powerpc-darwin8.  (It's actually been tested
      much more extensively than that internally.)
      
      --
      - Geoffrey Keating <geoffk@apple.com>
      
      ===File ~/patches/gcc-3973957.patch=========================
      2005-03-24  Geoffrey Keating  <geoffk@apple.com>
      
      	* c.opt (fvisibility-inlines-hidden): Allow for ObjC++.
      
      From-SVN: r97015
      Geoffrey Keating committed
  40. 19 Mar, 2005 1 commit