1. 25 Apr, 2010 1 commit
    • c-common.c (flag_isoc1x): New. · 2778d766
      gcc:
      	* c-common.c (flag_isoc1x): New.
      	(flag_isoc99): Update comment.
      	* c-common.h (flag_isoc1x): New.
      	(flag_isoc99): Update comment.
      	* c-cppbuiltin.c (builtin_define_float_constants): Also define
      	__<type>_DECIMAL_DIG__.
      	* c-opts.c (set_std_c1x): New.
      	(c_common_handle_option): Handle -std=c1x and -std=gnu1x.
      	(set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
      	* c.opt (-std=c1x, -std=gnu1x): New options.
      	* doc/cpp.texi: Mention -std=c1x.
      	* doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
      	* doc/extend.texi: Mention -std=c1x and -std=gnu1x.
      	* doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
      	* doc/standards.texi: Mention C1X.
      	* ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
      	LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
      	LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
      	Define for C1X.
      
      gcc/testsuite:
      	* gcc.dg/c90-float-1.c: Also test that C1X macros are not defined.
      	* gcc.dg/c99-float-1.c: Also test that C1X macros are not defined.
      	* gcc.dg/c1x-float-1.c: New test.
      
      libcpp:
      	* include/cpplib.h (enum c_lang): Add CLK_GNUC1X and CLK_STDC1X.
      	* init.c (lang_defaults): Add entries for new language variants.
      	(cpp_init_builtins): Define __STDC_VERSION__ to 201000L for C1X
      	variants.
      
      From-SVN: r158711
      Joseph Myers committed
  2. 09 Apr, 2010 1 commit
    • re PR c++/28584 (Cast to pointer from integer of different size) · dc8d2739
      2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c++/28584
      	* c.opt (Wint-to-pointer-cast): Available in C++.
      	* doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
      cp/
      	* typeck.c (cp_build_c_cast): Warn for casting integer to larger
      	pointer type.
      testsuite/
      	* gcc.dg/Wint-to-pointer-cast-1.c: Move to...
      	* c-c++-common/Wint-to-pointer-cast-1.c: ...  here.
      	* gcc.dg/Wint-to-pointer-cast-2.c: Move to...	
      	* c-c++-common/Wint-to-pointer-cast-2.c: ...  here.
      	* gcc.dg/Wint-to-pointer-cast-3.c: Move to...	
      	* c-c++-common/Wint-to-pointer-cast-3.c: ...  here. Update.
      	* g++.old-deja/g++.mike/warn1.C: Add -Wno-int-to-pointer-cast.
      	* g++.dg/other/increment1.C: Likewise.
      
      From-SVN: r158150
      Manuel López-Ibáñez committed
  3. 02 Apr, 2010 1 commit
    • Make-lang.in, [...]: Update copyright years. · c75c517d
      	* ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, 
      	basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
      	collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
      	config/alpha/predicates.md, config/arm/arm.md,
      	config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
      	config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
      	config/darwin9.h, config/darwin.c, config/darwin.h,
      	config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
      	config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
      	config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
      	config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
      	config/mips/mips.md, config/mn10300/mn10300.c,
      	config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
      	config/rs6000/aix.h, config/rs6000/dfp.md,
      	config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
      	config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
      	config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
      	config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
      	config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
      	config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
      	c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
      	diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
      	doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
      	doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
      	fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
      	gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
      	graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
      	graphite-dependences.c, graphite-poly.c, graphite-poly.h,
      	graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
      	graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
      	intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
      	ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
      	ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
      	loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
      	objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
      	opt-functions.awk, opth-gen.awk, params.def, passes.c,
      	postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
      	rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
      	store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
      	tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
      	tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
      	tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
      	tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
      	tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
      	tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
      	tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
      	tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
      	tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
      	tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
      	unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
      
      From-SVN: r157950
      Steven Bosscher committed
  4. 26 Feb, 2010 1 commit
    • re PR c/20631 (Support -std=c90 as alias for -std=c89) · 7e1542b9
      2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c/20631
      	* doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
      	* doc/standards.texi: Likewise.
      	* doc/extend.texi: Likewise.
      	* doc/trouble.texi: Likewise.
      	* doc/cppopts.texi: Likewise. 
      	* doc/install.texi: Likewise.
      	* c.opt (std=c90,std=gnu90): New options.
      	* c-opts.c (c_common_handle_option): Handle them.
      testsuite/
      	* gcc.dg/cpp/c90-pedantic.c: New.
      	* gcc.dg/cpp/c90.c: New.
      	* gcc.dg/gnu90-const-expr-1.c: New.
      	* gcc.dg/Woverlength-strings-pedantic-c90.c: New.
      
      From-SVN: r157096
      Manuel López-Ibáñez committed
  5. 24 Feb, 2010 1 commit
    • c.opt (-ftemplate-depth=): New. · 124e0d27
      2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* c.opt (-ftemplate-depth=): New.
      	(-ftemplate-depth-): Deprecate.
      	* optc-gen.awk: Handle -ftemplate-depth=.
      	* opth-gen.awk: Likewise.
      	* c-opts.c (c_common_handle_option): Likewise.
      	* doc/invoke.texi (-ftemplate-depth-): Replace with
      	-ftemplate-depth=.
      cp/
      	* pt.c (push_tinst_level): Replace -ftemplate-depth- with 
      	-ftemplate-depth=.
      
      From-SVN: r157054
      Manuel López-Ibáñez committed
  6. 20 Feb, 2010 1 commit
    • re PR c++/35669 (NULL (__null) not considered different from 0 with C++) · 17251338
      2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c++/35669
      	* c.opt (Wconversion-null): New option.
      	* doc/invoke.texi (Wconversion-null): Document.
      
      cp/
      	* call.c (conversion_null_warnings): Replace -Wconversion with
      	-Wconversion-null.
      	* cvt.c (build_expr_type_conversion): Likewise.
      
      testsuite/
      	* g++.dg/warn/Wconversion2.C: Replace -Wconversion with
      	-Wconversion-null.
      	* g++.dg/warn/Wconversion-null.C: New test.
      	* g++.old-deja/g++.other/null1.C: Move to...
      	* g++.dg/warn/Wconversion-null-2.C: ... here. Remove -Wconversion.
      
      libstdc++-v3/	
      	* testsuite/18_support/headers/cstddef/macros.cc: Add
      	-Wno-conversion-null.
      
      From-SVN: r156928
      Manuel López-Ibáñez committed
  7. 11 Jan, 2010 1 commit
    • re PR translation/42467 (exgettext should not remove TABs from option help strings) · f94e1d66
      gcc/po/
      2010-01-11  Joseph Myers  <joseph@codesourcery.com>
                  Shujing Zhao  <pearly.zhao@oracle.com>
      
              PR translation/42467
              * exgettext: Keep the text before tab character in the option help
              string at *.opt file.
      
      gcc/
      2010-01-11  Joseph Myers  <joseph@codesourcery.com>
                  Shujing Zhao  <pearly.zhao@oracle.com>
      
              PR translation/42469
              * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
              fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
              character between option name and help text.
              * c.opt (imultilib): Likewise.
      
      gcc/fortran
      2010-01-11  Joseph Myers  <joseph@codesourcery.com>
                  Shujing Zhao  <pearly.zhao@oracle.com>
              
              PR translation/42469
              * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
              finit-logical=, finit-real=, fmax-array-constructor=): Use tab
              character between option name and help text.
      
      
      Co-Authored-By: Shujing Zhao <pearly.zhao@oracle.com>
      
      From-SVN: r155801
      Joseph Myers committed
  8. 08 Jan, 2010 1 commit
    • re PR lto/42528 (ICE with -flto and -fsigned-char) · c59449fa
      2010-01-08  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/42528
      	* c.opt (fsigned-char): Also let LTO handle this option.
      	(funsigned-char): Likewise.
      
      	lto/
      	* lto-lang.c (lto_handle_option): Handle -f[un]signed-char.
      	(lto_init): Do not init char_type_node in a standard way
      	but according to flag_signed_char.
      
      	* gcc.dg/lto/20100103-1_0.c: New testcase.
      	* gcc.dg/lto/20100103-2_0.c: Likewise.
      
      From-SVN: r155740
      Richard Guenther committed
  9. 05 Oct, 2009 1 commit
  10. 03 Oct, 2009 1 commit
  11. 18 Sep, 2009 1 commit
    • c.opt: Add -fno-deduce-init-list. · 5f5babf1
      	* c.opt: Add -fno-deduce-init-list.
      	* pt.c (get_pattern_parm): New.
      	(listify): Split out from...
      	(listify_autos): ...here.
      	(unify): Deduce std::initializer_list for T.
      	* call.c (build_over_call): Warn about it.
      
      From-SVN: r151867
      Jason Merrill committed
  12. 10 Jul, 2009 1 commit
  13. 16 Jun, 2009 1 commit
    • df-problems.c (df_simulate_one_insn_forwards): Fix braces in switch. · e1b7793c
      ./:	* df-problems.c (df_simulate_one_insn_forwards): Fix braces in
      	switch.
      	* gcov.c (read_count_file): Add braces around variables declared
      	before label.
      
      	* c.opt (Wjump-misses-init): New warning.
      	* c-opts.c (c_common_handle_option): Set warn_jump_misses_init for
      	-Wall and -Wc++-compat if not already set.
      	(c_common_post_options): Clear warn_jump_misses_init if it was not
      	set.
      	* c-decl.c (struct c_binding): Change type field to a union with
      	new label field.  Make it the first field in the struct.  Update
      	references to type to use u.type instead.
      	(struct c_spot_bindings): Define.
      	(struct c_goto_bindings): Define.
      	(c_goto_bindings_p): Define, along with VECs.
      	(struct c_label_vars): Define.
      	(struct c_scope): Add has_label_bindings field.
      	(bind_label, set_spot_bindings): New static functions.
      	(decl_jump_unsafe, update_spot_bindings): New static functions.
      	(update_label_decls): New static function.
      	(pop_scope): Call update_label_decls.  Don't call c_end_vm_scope.
      	Update binding u.label field to shadowed field.
      	(c_binding_start_stmt_expr): New function.
      	(c_binding_end_stmt_expr): New function.
      	(pushdecl): Don't call c_begin_vm_scope.
      	(make_label): Add defining and p_label_vars parameters.  Change
      	all callers.
      	(lookup_label): Correct test for whether a label has not yet been
      	defined.  Call bind_label rather than bind.
      	(warn_about_goto): New static function.
      	(lookup_label_for_goto): New function.
      	(declare_label): Call bind_label rather than bind.
      	(check_earlier_gotos): New static function.
      	(define_label): Don't give errors about jumping into statement
      	expressions or scopes of variably modified types.  Call
      	set_spot_bindings and check_earlier_gotos.  Call bind_label
      	instead of bind.  Don't set label_context_stack_se or
      	label_context_stack_vm.
      	(c_get_switch_bindings): New function.
      	(c_release_switch_bindings): New function.
      	(c_check_switch_jump_warnings): New function.
      	(start_function): Don't set label_context_stack_se or
      	label_context_stack_vm.
      	(finish_function): Likewise.
      	* c-typeck.c (label_context_stack_se): Don't define.
      	(label_context_stack_vm): Don't define.
      	(c_finish_goto_label): Call lookup_label_for_goto rather than
      	lookup_label.  Don't give errors about jumping into a statement
      	expression or the scope of a variably modified type.  Don't set
      	label_context_stack_se or label_context_stack_vm.
      	(struct c_switch): Remove blocked_stmt_expr and blocked_vm
      	fields.  Add bindings field.
      	(c_start_case): Don't set deleted fields.  Set bindings field.
      	(do_case): Rework order of tests.  Don't check blocked_stmt_expr
      	or blocked_vm.  Call c_check_switch_jump_warnings.
      	(c_finish_case): Don't test blocked_stmt_expr field.  Call
      	c_release_switch_bindings.
      	(c_begin_stmt_expr): Don't increment blocked_stmt_expr in
      	c_switch_stack.  Don't walk label_context_stack_se labels.  Don't
      	set label_context_stack_se.  Call c_bindings_start_stmt_expr.
      	(c_finish_stmt_expr): Don't decrement blocked_stmt_expr in
      	c_switch_stack.  Don't walk label_context_stack_se labels.  Don't
      	set label_context_stack_se.  Call c_bindings_end_stmt_expr.
      	(c_begin_vm_scope, c_end_vm_scope): Don't define.
      	* c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR): Don't define.
      	(C_DECL_UNDEFINABLE_STMT_EXPR): Don't define.
      	(C_DECL_UNJUMPABLE_VM): Don't define.
      	(C_DECL_UNDEFINABLE_VM): Don't define.
      	(struct c_label_list): Don't define.
      	(struct c_label_context_se): Don't define.
      	(struct c_label_context_vm): Don't define.
      	(struct c_spot_bindings): Declare.
      	(c_bindings_start_stmt_expr): Declare.
      	(c_bindings_end_stmt_expr): Declare.
      	(lookup_label_for_goto): Declare.
      	(c_get_switch_bindings, c_release_switch_bindings): Declare.
      	(c_check_switch_jump_warnings): Declare.
      	(label_context_stack_se, label_context_stack_vm): Don't declare.
      	(c_finish_goto_label): Update declaration.
      	(c_begin_vm_scope, c_end_vm_scope): Don't declare.
      	* doc/invoke.texi (Option Summary): Mention -Wjump-misses-init.
      	(Warning Options): Document -Wjump-misses-init.
      cp/:
      	* parser.c (cp_parser_direct_declarator): Add braces around
      	variables declared before label.
      objc/:
      	* objc-act.c (objc_start_function): Don't set
      	label_context_stack_se or label_context_stack_vm.
      testsuite/:
      	* gcc.dg/Wjump-misses-init-1.c: New testcase.
      	* gcc.dg/Wjump-misses-init-2.c: New testcase.
      	* gcc.dg/c99-vla-jump-5.c: Adjust expected error messages.
      	Recognize new notes.
      	* gcc.dg/stmt-expr-label-2.c: Likewise.
      	* gcc.dg/c99-vla-jump-1.c: Recognize new notes.  Fix column
      	numbers.
      	* gcc.dg/c99-vla-jump-2.c: Recognize new notes.
      	* gcc.dg/c99-vla-jump-3.c: Recognize new notes.
      	* gcc.dg/c99-vla-jump-4.c: Likewise.
      	* gcc.dg/stmt-expr-label-1.c: Likewise.
      	* gcc.dg/stmt-expr-label-3.c: Likewise.
      	* gcc.dg/vla-8.c: Likewise.  Move error message to different
      	line.
      
      From-SVN: r148512
      Ian Lance Taylor committed
  14. 19 May, 2009 1 commit
  15. 07 May, 2009 1 commit
    • re PR c/39037 (FLOAT_CONST_DECIMAL64 pragma not supported) · 6ec637a4
      gcc/
      	PR c/39037
      	* c-common.h (mark_valid_location_for_stdc_pragma,
      	valid_location_for_stdc_pragma_p, set_float_const_decimal64,
      	clear_float_const_decimal64, float_const_decimal64_p): New.
      	* c.opt (Wunsuffixed-float-constants): New.
      	* c-lex.c (interpret_float): Use pragma FLOAT_CONST_DECIMAL64 for
      	unsuffixed float constant, handle new warning.
      	* c-cppbuiltin.c (c_cpp_builtins): Use cast for double constants.
      	* c-decl.c (c_scope): New flag float_const_decimal64.
      	(set_float_const_decimal64, clear_float_const_decimal64,
      	float_const_decimal64_p): New.
      	(push_scope): Set new flag.
      	* c-parser.c (c_parser_translation_unit): Mark when it's valid
      	to use STDC pragmas.
      	(c_parser_external_declaration): Ditto.
      	(c_parser_compound_statement_nostart): Ditto.
      	* c-pragma.c (valid_location_for_stdc_pragma,
      	mark_valid_location_for_stdc_pragma,
      	valid_location_for_stdc_pragma_p, handle_stdc_pragma,
      	handle_pragma_float_const_decimal64): New.
      	(init_pragma): Register new pragma FLOAT_CONST_DECIMAL64.
      	* cp/semantics.c (valid_location_for_stdc_pragma_p,
      	set_float_const_decimal64, clear_float_const_decimal64,
      	float_const_decimal64_p): New dummy functions.
      	* doc/extend.texi (Decimal Float): Remove statement that the
      	pragma, and suffix for double constants, are not supported.
      	* doc/invoke.texi (Warning Options): List new option.
      	(-Wunsuffixed-float-constants): New.
      
      gcc/testsuite
      	PR c/39037
      	* gcc.dg/Wunsuffixed-float-constants-1.c: New test.
      	* gcc.dg/cpp/pragma-float-const-decimal64-1.c: New test.
      	* gcc.dg/dfp/float-constant-double.c: New test.
      	* gcc.dg/dfp/pragma-float-const-decimal64-1.c: New test.
      	* gcc.dg/dfp/pragma-float-const-decimal64-2.c: New test.
      	* gcc.dg/dfp/pragma-float-const-decimal64-3.c: New test.
      	* gcc.dg/dfp/pragma-float-const-decimal64-4.c: New test.
      	* gcc.dg/dfp/pragma-float-const-decimal64-5.c: New test.
      	* gcc.dg/dfp/pragma-float-const-decimal64-6.c: New test.
      	* gcc.dg/dfp/pragma-float-const-decimal64-7.c: New test.
      	* gcc.dg/dfp/pragma-float-const-decimal64-8.c: New test.
      	* g++.dg/cpp/pragma-float-const-decimal64-1.C: New test.
      
      From-SVN: r147259
      Janis Johnson committed
  16. 20 Apr, 2009 1 commit
    • re PR c++/13358 (long long and C++ do not mix well) · 9c650d90
      2009-04-21  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR c++/13358
      	* doc/invoke.texi (-Wlong-long): Update description.
      	* c-lex (interpret_integer): Only warn if there was no previous
      	overflow and -Wlong-long is enabled.
      	* c-decl.c (declspecs_add_type): Drop redundant flags.
      	* c.opt (Wlong-long): Init to -1.
      	* c-opts.c (sanitize_cpp_opts): Synchronize cpp's warn_long_long
      	and front-end warn_long_long. Wlong-long only depends on other
      	flags if it is uninitialized.
      	* c-parser.c (disable_extension_diagnostics): warn_long_long is
      	the same for CPP and FE.
      	(restore_extension_diagnostics): Likewise.
      libcpp/
      	* init.c (cpp_create_reader): Wlong_long is disabled by default.
      	* expr.c (cpp_classify_number): Give different messages for C and
      	C++ front-ends.
      cp/
      	* parser.c (cp_parser_check_decl_spec): Drop redundant flags.
      	* error.c (pedwarn_cxx98): New.
      	* cp-tree.h (pedwarn_cxx98): Declare.
      testsuite/
      	* gcc.dg/wtr-int-type-1.c: Use two dg-warning to match two
      	messages. Test for "long long" in system headers.
      	* gcc.dg/c99-longlong-2.c: New.
      	* g++.dg/warn/pr13358.C: New.
      	* g++.dg/warn/pr13358-2.C: New.
      	* g++.dg/warn/pr13358-3.C: New.
      	* g++.dg/warn/pr13358-4.C: New.
      
      From-SVN: r146459
      Manuel López-Ibáñez committed
  17. 19 Apr, 2009 1 commit
    • re PR c/32061 ((Wlogical-op) wording of warning of constant logicials need improvement) · ca409efd
      2009-04-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c/32061
      	PR c++/36954
      	* doc/invoke.texi: Add -Wlogical-op to -Wextra.
      	* common.opt (Wlogical-op): Move from here...
      	* c.opt (Wlogical-op): ... to here.
      	* c-typeck.c (parser_build_binary_op): Update call to
      	warn_logical_operator.
      	* c-opts.c (c_common_post_options): Enable warn_logical_op with
      	extra_warnings.
      	* c-common.c (warn_logical_op): Update.
      	* c-common.h (warn_logical_op): Update declaration.
      cp/
      	* call.c (build_new_op): Save the original codes of operands
      	before folding.
      	
      testsuite/
      	* gcc.dg/pr32061.c: New.
      	* gcc.dg/Wlogical-op-1.c: Update.
      	* g++.dg/warn/Wlogical-op-1.C: Update.
      	* g++.dg/warn/pr36954.C: New.
      
      From-SVN: r146344
      Manuel López-Ibáñez committed
  18. 15 Apr, 2009 1 commit
    • c.opt (Wenum-compare): Enable for C and Objc. · 6866c6e8
      gcc/:
      	* c.opt (Wenum-compare): Enable for C and Objc.  Initialize to -1.
      	* c-opts.c (c_common_handle_option): For C, set warn_enum_compare
      	for -Wall and for -Wc++-compat.
      	(c_common_post_options): For C++, set warn_enum_compare if not
      	already set.
      	* c-tree.h (struct c_expr): Add field original_type.
      	(build_external_ref): Update declaration.
      	* c-parser.c (c_parser_braced_init): Set original_type.
      	(c_parser_initelt): Likewise.
      	(c_parser_expr_no_commas): Likewise.
      	(c_parser_conditional_expression): Likewise.
      	(c_parser_cast_expression): Likewise.
      	(c_parser_unary_expression): Likewise.  Pull setting of
      	original_code to top of function.
      	(c_parser_sizeof_expression): Set original_type.
      	(c_parser_alignof_expression): Likewise.
      	(c_parser_postfix_expression): Likewise.  Pull setting of
      	original_code to top of function.
      	(c_parser_postfix_expression_after_paren_type): Set
      	original_type.
      	(c_parser_postfix_expression_after_primary): Likewise.
      	(c_parser_expression): Likewise.
      	* c-typeck.c (build_external_ref): Add type parameter.  Change all
      	callers.
      	(c_expr_sizeof_expr): Set original_type field.
      	(parser_build_unary_op): Likewise.
      	(parser_build_binary_op): Likewise.  Optionally warn about
      	comparisons of enums of different types.
      	(digest_init): Set original_type field.
      	(really_start_incremental_init): Likewise.
      	(push_init_level, pop_init_level): Likewise.
      	* doc/invoke.texi (Warning Options): -Wenum-compare now
      	supported in C.
      gcc/testsuite/:
      	* gcc.dg/Wenum-compare-1.c: New testcase.
      
      From-SVN: r146127
      Ian Lance Taylor committed
  19. 07 Apr, 2009 1 commit
    • re PR c++/25185 (deep typedef substitution in error message) · 6ea2bd47
      	PR c++/25185
      	* c-common.h, c-common.c: Add flag_pretty_templates.
      	* c-opts.c (c_common_handle_option): Set it.
      	* c.opt: Add -fno-pretty-templates.
      	* doc/invoke.texi (C++ Dialect Options): Likewise.
      
      	* error.c (dump_function_decl): Don't pretty-print templates
      	if -fno-pretty-templates.
      	(count_non_default_template_args): Print all args if
      	-fno-pretty-templates.
      
      From-SVN: r145697
      Jason Merrill committed
  20. 18 Mar, 2009 1 commit
  21. 20 Feb, 2009 1 commit
  22. 18 Feb, 2009 1 commit
    • re PR target/39082 (union with long double doesn't follow x86-64 psABI) · bce08d50
      gcc/
      
      2009-02-17  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/39082
      	* c.opt (Wabi): Support C and ObjC.
      	(Wpsabi): New.
      
      	* c-opts.c (c_common_handle_option): Handle OPT_Wabi.
      
      	* config/i386/i386.c (classify_argument): Warn once about the ABI
      	change when passing union with long double.
      
      	* doc/invoke.texi: Update -Wabi for warning psABI changes.
      
      gcc/testsuite/
      
      2009-02-17  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/39082
      	* g++.dg/compat/struct-layout-1_generate.c (dg_options): Add
      	-Wno-abi for x86.
      	* gcc.dg/compat/struct-layout-1_generate.c (dg_options): Likewise.
      
      	* gcc.target/i386/pr39082-1.c: New.
      
      	* gcc.target/x86_64/abi/abi-x86_64.exp (additional_flags): Add
      	-Wno-abi.
      
      	* gcc.target/x86_64/abi/args.h (XMM_T): Add _m64 and _m128 if
      	CHECK_M64_M128 is defined.
      	(check_f_arguments): Add "do".
      	(check_vector_arguments): New.
      	(check_m64_arguments): Likewise.
      	(check_m128_arguments): Likewise.
      
      	* gcc.target/x86_64/abi/defines.h: Include <xmmintrin.h>.
      	(CHECK_M64_M128): Define.
      
      	* gcc.target/x86_64/abi/test_m64m128_returning.c: New.  Based
      	on abitest.
      	* gcc.target/x86_64/abi/test_passing_m64m128.c: Likewise.
      
      	* gcc.target/x86_64/abi/test_passing_structs.c: Define __m128
      	tests only if CHECK_M64_M128 is defined.
      
      	* gcc.target/x86_64/abi/test_passing_structs.c (m128_struct): New.
      	(m128_2_struct): Likewise.
      	(check_struct_passing5): Likewise.
      	(check_struct_passing6): Likewise.
      	(main): Test struct with __m128 if CHECK_M64_M128 is defined.
      
      	* gcc.target/x86_64/abi/test_passing_unions.c (un4): New.
      	(un5): Likewise.
      	(check_union_passing4): Likewise.
      	(main): Test union with __m128 if CHECK_M64_M128 is defined.
      
      From-SVN: r144257
      H.J. Lu committed
  23. 28 Jan, 2009 1 commit
    • c.opt (Wpacked-bitfield-compat): Change init value to -1. · bee6fa6d
      	* c.opt (Wpacked-bitfield-compat): Change init value to -1.
      	* c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
      	was not supplied then set warn_packed_bitfield_compat to the
      	default value of 1.
      	* stor-layout.c (place_field): Check warn_packed_bitfield_compat
      	against 1.
      
      From-SVN: r143718
      Adam Nemet committed
  24. 23 Jan, 2009 1 commit
    • c-decl.c (finish_struct): Move code to set DECL_PACKED after DECL_BIT_FIELD is alreay known. · 2cd36c22
      	* c-decl.c (finish_struct): Move code to set DECL_PACKED after
      	DECL_BIT_FIELD is alreay known.  Also inherit packed for bitfields
      	regardless of their type.
      	* c-common.c (handle_packed_attribute): Don't ignore packed on
      	bitfields.
      	* c.opt (Wpacked-bitfield-compat): New warning option.
      	* stor-layout.c (place_field): Warn if offset of a field changed.
      	* doc/extend.texi (packed): Mention the ABI change.
      	* doc/invoke.texi (-Wpacked-bitfield-compat): Document.
      	(Warning Options): Add it to the list.
      
      cp/
      	* class.c (check_field_decls): Also inherit packed for bitfields
      	regardless of their type.
      
      testsuite/
      	* gcc.dg/bitfld-15.c, gcc.dg/bitfld-16.c,
      	gcc.dg/bitfld-17.c,gcc.dg/bitfld-18.c: New tests.
      	* g++.dg/ext/bitfield2.C, g++.dg/ext/bitfield3.C,
      	g++.dg/ext/bitfield4.C, g++.dg/ext/bitfield5.C: New tests.
      
      From-SVN: r143584
      Adam Nemet committed
  25. 17 Nov, 2008 1 commit
    • re PR middle-end/37908 (atomic NAND op generate wrong code;… · 23462d4d
      re PR middle-end/37908 (atomic NAND op generate wrong code; __sync_nand_and_fetch, __sync_fetch_and_nand)
      
      	PR middle-end/37908
      	* optabs.c (expand_sync_operation): Properly handle NAND case
      	by calculating ~(t1 & val) instead of (~t1 & val).
      	* builtins.c (expand_builtin_sync_operation): Warn for changed
      	semantics in NAND builtins.
      	* c.opt (Wsync-nand): New warning option.  Describe -Wsync-nand.
      	
      	* doc/invoke.texi (Warning options): Add Wsync-nand.
      	* doc/extend.texi (Atomic Builtins) [__sync_fetch_and_nand]: Correct
      	__sync_fetch_and_nand builtin operation in the example.  Add a note
      	about changed semantics in GCC 4.4.
      	[__sync_nand_and_fetch]: Correct __sync_nand_and_fetch builtin
      	operation in the example.  Add a note about changed semantics in
      	GCC 4.4.
      
      testsuite/ChangeLog:
      
      	PR middle-end/37908
      	* gcc.dg/pr37908.c: New test.
      	* gcc.dg/ia64-sync-1.c: Correct __sync_fetch_and_nand and
      	__sync_nand_and_fetch results.  Add dg-message to look for the warning
      	about changed semantics of NAND builtin.
      	(init_si, init_di): Change init value for __sync_fetch_and_nand to -1.
      	(test_si, test_di): Change expected result of
      	__sync_nand_and_fetch to ~7.
      	* gcc.dg/ia64-sync-2.c: Correct __sync_fetch_and_nand and
      	__sync_nand_and_fetch results.  Add dg-message to look for the warning
      	about changed semantics of NAND builtin.
      	(init_noret_si, init_noret_di): Change init value for
      	__sync_fetch_and_nand to -1.
      	(init_noret_si, init_noret_di): Change expected result of
      	__sync_nand_and_fetch to ~7.
      	* gcc.dg/sync-2.c: Correct __sync_fetch_and_nand and
      	__sync_nand_and_fetch results.  Add dg-message to look for the warning
      	about changed semantics of NAND builtin.
      	(init_qi, init_qi): Change init value for __sync_fetch_and_nand to -1.
      	(init_hi, init_hi): Change expected result of
      	__sync_nand_and_fetch to ~7.
      	* gcc.dg/sync-3.c: Copy from sync-2.c instead of including
      	the c source file.
      	* gcc.c-torture/compile/sync-1.c: Add dg-message to look for the
      	warning about changed semantics of NAND builtin.
      	* gcc.c-torture/compile/sync-2.c: Ditto.
      	* gcc.c-torture/compile/sync-3.c: Ditto.
      
      From-SVN: r141942
      Uros Bizjak committed
  26. 18 Sep, 2008 1 commit
    • cpplib.h (struct cpp_options): Add new boolean flag warn_builtin_macro_redefined. · c047ce93
      	* include/cpplib.h (struct cpp_options): Add new boolean flag
      	warn_builtin_macro_redefined.
      	* init.c (cpp_create_reader): Initialize warn_builtin_macro_redefined.
      	* (struct builtin_operator): Split out from previous struct builtin,
      	enhance extra const correctness.
      	* (struct builtin_macro): Split out from previous struct builtin, add
      	new always_warn_if_redefined flag, enhance const correctness.
      	* (mark_named_operators): Use struct builtin_operator.
      	* (cpp_init_special_builtins): Use struct builtin_macro, add NODE_WARN
      	to builtins selectively.
      	* macro.c (warn_of_redefinition): Return false if a builtin macro
      	is not flagged with NODE_WARN.
      
      	* c-opts.c (c_common_handle_option): Add handling for
      	-Wbuiltin-macro-redefined command line option.
      	* c.opt: Added builtin-macro-redefined option.
      	* doc/invoke.texi (Warning Options): Add -Wbuiltin-macro-redefined
      	documentation.
      
      	* gcc.dg/builtin-redefine.c: New.
      
      From-SVN: r140461
      Simon Baldwin committed
  27. 13 Aug, 2008 1 commit
    • re PR c/30551 (-pedantic does not include -Wmain, but -pedantic-errors does make… · 4003301d
      re PR c/30551 (-pedantic does not include -Wmain, but -pedantic-errors does make -Wmain cause error messages)
      
      2008-08-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR 30551
      	* doc/invoke.texi (Wmain): Update.
      	* c-decl.c (start_decl): warn_main is only 0 or 1.
      	(start_function): Likewise. Fix formatting.
      	(finish_function): Delete redundant warning.
      	* c.opt (Wmain): Add Var(warn_main) and Init(-1).
      	* c-opts (c_common_handle_option): -Wall only has effect if
      	warn_main is uninitialized. OPT_Wmain is automatically
      	handled. -pedantic also enables Wmain.
      	(c_common_post_options): Handle all logic for Wmain here.
      	* c-common.c (warn_main): Delete.
      	(check_main_parameter_types): Make pedwarns conditional on
      	OPT_Wmain.
      	* c-common.h (warn_main): Delete.
      cp/	
      	* decl.c (grokfndecl): Call check_main_parameters_type only if
      	-Wmain.
      testsuite/
      	* gcc.dg/pr30551.c: New.
      	* gcc.dg/pr30551-2.c: New.
      	* gcc.dg/pr30551-3.c: New.
      	* gcc.dg/pr30551-4.c: New.
      	* gcc.dg/pr30551-5.c: New.
      	* gcc.dg/pr30551-6.c: New.
      	* gcc.dg/tree-ssa/reassoc-3.c: Don't compile with -pedantic-errors.
      	* g++.dg/warn/pr30551.C: New.
      	* g++.dg/warn/pr30551-2.C: New.
      
      From-SVN: r139063
      Manuel López-Ibáñez committed
  28. 15 Jun, 2008 1 commit
  29. 27 May, 2008 1 commit
    • Fix c++/27975. · a3299096
              * c.opt (Wenum-compare): New warning option.
              * doc/invoke.texi (Warning Options): Document -Wenum-compare.
      
      cp/
              * call.c (build_new_op): Make warning conditional on OPT_Wenum_compare.
      
      testsuite/
              * g++.dg/warn/Wenum-compare.C: New testcase.
              * g++.dg/warn/Wenum-compare-no.C: Ditto.
      
      From-SVN: r136035
      Michael Matz committed
  30. 25 May, 2008 1 commit
    • re PR fortran/18428 (No preprocessing option -cpp for gfortran) · 670637ee
      gcc:
      2008-05-26  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/18428
      	* c.opt: Removed undocumented option '-lang-fortran'.
      	* c-common.h: Removed global variable 'lang_fortran'.
      	* c-opts.c (c_common_handle_option): Removed code to handle
      	option '-lang-fortran'. Updated includes.
      	* c-cppbuiltin.c (c_cpp_builtins): Removed conditional
      	definition of '__GFORTRAN__'.
      	(define__GNUC__): Reimplemented to use BASEVER and
      	cpp_define_formatted.
      	(builtin_define_with_value_n): Removed.
      	* c-incpath.h: Renamed to ...
      	* incpath.h: ... this.
      	* c-incpath.c: Renamed to ...
      	* incpath.c: ... this. Updated includes.
      	* fix-header.c: Updated includes.
      	* Makefile.in: Replaced c-incpath.[ch] by incpath.[ch].
      	(c-cppbuiltin.o): Added dependency on and definition of BASEVER.
      	(OBJ-archive): Added cppdefault.o, incpath.o and prefix.o.
      
      
      gcc/cp:
      2008-05-26  Daniel Franke  <franke.daniel@gmail.com>
      
      	* Makefile.in: Adjusted dependencies on c-incpath.o.
      
      
      gcc/fortran:
      2008-05-26  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/18428
      	* lang.opt (A, C, CC, D, E, H, P, U, cpp, d, fworking-directory,
      	imultilib, iprefix, iquote, isysroot, isystem, nocpp, nostdinc,
      	o, undef, v): New options.
      	* options.c (gfc_init_options): Also initialize preprocessor
      	options.
      	(gfc_post_options): Also handle post-initialization of preprocessor
      	options.
      	(gfc_handle_option): Check if option is a preprocessor option.
      	If yes, let gfc_cpp_handle_option() handle the option.
      	* lang-specs.h: Reorganized to handle new options.
      	* scanner.c (gfc_new_file): Read temporary file instead of
      	input source if preprocessing is enabled.
      	* f95-lang.c (gfc_init): Initialize preprocessor.
      	(gfc_finish): Clean up preprocessor.
      	* cpp.c: New.
      	* cpp.h: New.
      	* Make-lang.in: Added new objects and dependencies.
      	* gfortran.texi: Updated section "Preprocessing and
      	conditional compilation".
      	* invoke.texi: Added new section "Preprocessing Options",
      	listed and documented the preprocessing options handled by gfortran.
      
      From-SVN: r135882
      Daniel Franke committed
  31. 22 May, 2008 1 commit
  32. 13 May, 2008 1 commit
    • re PR preprocessor/22168 (#if #A == #B should have a diagnostic in ISO C mode) · 899015a0
      libcpp
      	PR preprocessor/22168:
      	* include/cpplib.h (struct cpp_options) <objc>: Update
      	documentation.
      	* expr.c (eval_token): Warn for use of assertions.
      	* directives.c (directive_diagnostics): Warn about extensions.
      	(DEPRECATED): New define.
      	(DIRECTIVE_TABLE): Use it.
      gcc
      	PR preprocessor/22168:
      	* doc/cpp.texi (Top): Update menu.
      	(Alternatives to Wrapper #ifndef): New node.
      	(Other Directives): Document deprecation.
      	(Obsolete Features): Remove menu.
      	(Assertions): Merge node into Obsolete Features.
      	(Obsolete once-only headers): Move earlier; rename to Alternatives
      	to Wrapper #ifndef.
      	* doc/cppopts.texi: Update.
      	* c.opt (Wdeprecated): Enable for C and ObjC.
      	* doc/invoke.texi (Option Summary): Move -Wno-deprecated.
      	(C++ Dialect Options): Move -Wno-deprecated from here to...
      	(Warning Options): ... here.
      gcc/testsuite
      	PR preprocessor/22168:
      	* gcc.dg/pch/import-2.hs: Add -Wno-deprecated.
      	* gcc.dg/pch/import-1.hs: Add -Wno-deprecated.
      	* gcc.dg/pch/import-2.c: Add -Wno-deprecated.
      	* gcc.dg/pch/import-1.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/import2.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/import1.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/trad/assert3.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/trad/assert2.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/trad/assert1.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/ident.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/ident-1.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/extratokens.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/assert3.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/assert2.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/assert1.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/assert4.c: Compile with -ansi and not -pedantic.  Add
      	-Wno-deprecated.
      	* gcc.dg/cpp/pr22168.c: New file.
      	* gcc.dg/cpp/pr22168-2.c: New file.
      
      From-SVN: r135264
      Tom Tromey committed
  33. 09 Mar, 2008 1 commit
    • c.opt (Wsynth): Deprecate. · 802e3f8c
      gcc/
      
      	* c.opt (Wsynth): Deprecate.
      	* doc/invoke.texi (Option Summary, Warning Options): Document
      	-Wno-format-contains-nul.
      
      gcc/fortran/
      
      	* invoke.texi (Error and Warning Options): Document
      	-Wline-truncation.
      
      contrib/
      
      	* check_warning_flags.sh: Instead of invoke.texi, take the path
      	to the doc directory as argument.  Check that warnings listed in
      	'gcc --help' are accepted by the compiler, and listed in the
      	manuals.
      
      From-SVN: r133059
      Ralf Wildenhues committed
  34. 26 Feb, 2008 1 commit
  35. 24 Feb, 2008 1 commit
    • http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01094.html · faebccf9
      	PR 33738
      	* tree-vrp.c (vrp_evaluate_conditional): With
      	-Wtype-limits, emit a warning when comparing against a
      	constant outside the natural range of OP0's type.
      	* c.opt (Wtype-limits): Move ...
      	* common.opt (Wtype-limits): ... here.
      
      testsuite/ChangeLog
      
      	PR 33738
      	* g++.dg/warn/pr33738.C: New.
      
      From-SVN: r132591
      Diego Novillo committed
  36. 19 Feb, 2008 1 commit
    • re PR other/31349 (gcc -v --help returns no options for C, C++) · b3eaaf1a
              PR other/31349
              * opts.c (undocumented_msg): Leave blank unless checking is
              enabled.
              (handle_options): Fix indentation.
              (print_filtered_help): If no language-specific options were
              displayed tell the user how to list all the options supported by
              the language's front-end.
              (print_specific_help): Fix indentation and remove duplicate line.
              (common_handle_option): Handle the -v option.
              For --help enable the display of undocumented options if the -v
              switch has been included on the command line.
              For --help= check for overlaps in the arguments between the option
              classes and the language names and issue a warning when they
              cannot be disambiguated.
              * c.opt (v): Pass on to the common option handler.
      
      From-SVN: r132427
      Nick Clifton committed
  37. 13 Jan, 2008 1 commit
    • c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers instead of OPT_Wreturn_type in... · 5db2e9ca
      ChangeLog:
      
      2008-01-12  Doug Kwan  <dougkwan@google.com>
      
      	* c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
      	instead of OPT_Wreturn_type in warning due to ignored return type
      	qualifiers.
      	* c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
      	options included in -Wextra.
      	* c.opt: New option -Wignored_qualifiers.
      	* doc/invoke.texi (Warning Options, -Wextra): Add new option
      	-Wignore_qualifiers.
      	(-Wignored-qualifiers): Document.
      	(-Wreturn-type): Remove description of functionality now handled
      	by -Wignored-qualifiers.
      
      cp/ChangeLog:
      
      2008-01-12  Doug Kwan  <dougkwan@google.com>
      
      	* decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
      	instead of OPT_Wreturn_type in warning due to ignored return type
      	qualifiers.
      	* pt.c: (tsubst_function_type): Use OPT_Wignored_qualifiers
      	instead of OPT_Wreturn_type in warning due to ignored return type
      	qualifiers.
      
      testsuite/ChangeLog:
      
      2008-01-12  Doug Kwan  <dougkwan@google.com>
      
      	* gcc.dg/qual-return-1.c: Add -Wignored-qualifiers.
      	* g++.dg/warn/Wreturn-type-4.C: Replace -Wreturn-type by
      	-Wignored-qualifiers.
      
      From-SVN: r131499
      Doug Kwan committed
  38. 30 Jul, 2007 1 commit
    • directives-only.c: New file. · ccfc4c91
      	libcpp/
      	* directives-only.c: New file.
      	* internal.h (struct _cpp_dir_only_callbacks): New.
      	(_cpp_preprocess_dir_only): New function.
      	* directives.c (_cpp_handle_directive): Check directives_only before
      	disabling execution of indented directives.
      	* files.c (_cpp_stack_file): Add directives_only check.
      	* include/cpplib.h (struct cpp_options): Add directives_only.
      	(cpp_init_special_builtins): New function.
      	* init.c (cpp_init_special_builtins): New function.
      	(cpp_init_builtins): Move builtin_array initialization to
      	cpp_init_special_builtins.
      	(post_options): Check directives_only before setting
      	pfile->state.prevent_expansion = 1.
      	* macro.c (_cpp_builtin_macro_text): Print an error if __COUNTER__
      	is expanded inside a directive while -fdirectives-only is enabled.
      	* Makefile.in (libcpp_a_OBJS): Add directives-only.o.
      	(libcpp_a_SOURCES): Add directives-only.c.
      
      	gcc/
      	* c-ppoutput.c (print_lines_directives_only): New function.
      	(scan_translation_unit_directives_only): New function.
      	(preprocess_file): Add call to scan_translation_unit_directives_only.
      	* c-opts.c (c_common_handle_option): Add OPT_fdirectives_only.
      	(sanitize_cpp_opts): Add default flag_dump_macros setting for
      	-fdirectives-only.  Add errors for -fdirectives-only conflict with
      	-Wunused-macros and -traditional.
      	(finish_options): Add builtin macro initialization for
      	-fdirectives-only + -fpreprocessed.
      	* c.opt (fdirectives-only): New.
      	* doc/cppopts.texi (fdirectives-only): New.
      
      	gcc/testsuite/
      	* gcc.dg/cpp/counter-2.c: New test.
      	* gcc.dg/cpp/counter-3.c: New test.
      	* gcc.dg/cpp/dir-only-1.c: New test.
      	* gcc.dg/cpp/dir-only-1.h: New file.
      	* gcc.dg/cpp/dir-only-2.c: New test.
      	* gcc.dg/cpp/dir-only-3.c: New test.
      	* gcc.dg/cpp/dir-only-3a.h: New file.
      	* gcc.dg/cpp/dir-only-3b.h: New file.
      	* gcc.dg/cpp/dir-only-4.c: New test.
      	* gcc.dg/cpp/dir-only-5.c: New test.
      	* gcc.dg/cpp/dir-only-6.c: New test.
      
      From-SVN: r127066
      Ollie Wild committed
  39. 26 Jul, 2007 1 commit
  40. 28 Jun, 2007 1 commit
    • Index: gcc/ChangeLog · ddbfd28d
      2007-06-21  Geoffrey Keating  <geoffk@apple.com>
      
      	* doc/invoke.texi (C++ Dialect Options): Document
      	fvisibility-ms-compat.
      	* c.opt (fvisibility-ms-compat): New.
      
      Index: gcc/cp/ChangeLog
      2007-06-21  Geoffrey Keating  <geoffk@apple.com>
      
      	* decl2.c (determine_visibility): Implement
      	flag_visibility_ms_compat effect on type info.
      	* decl.c (cxx_init_decl_processing): Implement
      	global effect of flag_visibility_ms_compat.
      
      Index: gcc/testsuite/ChangeLog
      2007-06-26  Geoffrey Keating  <geoffk@apple.com>
      
      	* g++.dg/ext/visibility/ms-compat-1.C: New.
      
      From-SVN: r126088
      Geoffrey Keating committed