Commit Graph

93391 Commits

Author SHA1 Message Date
Arnaud Charlet
9fcf2a0bdc [multiple changes]
2009-04-20  Arnaud Charlet  <charlet@adacore.com>

	* gnat_ugn.texi: Fix typos.

2009-04-20  Robert Dewar  <dewar@adacore.com>

	* debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
	Validate_Unchecked_Warnings to suppress warnings about size or
	alignment or extra bits if either type involved has pragma Warnings
	(Off) set for the type entity.

From-SVN: r146366
2009-04-20 10:09:46 +02:00
GCC Administrator
76974327ad Daily bump.
From-SVN: r146363
2009-04-20 00:17:01 +00:00
Dave Korn
8e208874c7 cygwin-stdint.h (INTPTR_TYPE): Remove "long".
* config/i386/cygwin-stdint.h (INTPTR_TYPE):  Remove "long".
	(UINTPTR_TYPE):  Likewise.

From-SVN: r146360
2009-04-19 21:15:01 +00:00
Joseph Myers
a45e580b25 re PR c/37481 (-pedantic accepts flexible array member = "string" initialization)
PR c/37481
	* c-typeck.c (digest_init): Check for initializing an array with a
	string literal.

testsuite:
	* gcc.dg/c99-flex-array-7.c: New test.

From-SVN: r146359
2009-04-19 21:38:53 +01:00
Joseph Myers
20845d3582 re PR c/19771 (VLA deallocation)
PR c/19771
	* c-semantics.c (pop_stmt_list): Propagate
	STATEMENT_LIST_HAS_LABEL to parent statement list.

testsuite:
	* gcc.c-torture/execute/vla-dealloc-1.c: New test.

From-SVN: r146358
2009-04-19 21:19:54 +01:00
Adam Nemet
28143fdd2f mips.h (mips_tune_attr): New macro.
* config/mips/mips.h (mips_tune_attr): New macro.
	* config/mips/mips.md (cpu): Use it.

From-SVN: r146357
2009-04-19 19:56:14 +00:00
Joseph Myers
da377db901 re PR c/38243 (Restrict constraint violation not an error with -pedantic-errors)
PR c/38243
	* c-decl.c (shadow_tag_warned): Diagnose use of restrict when
	declaring a tag.

testsuite:
	* gcc.dg/c99-restrict-3.c: New test.

From-SVN: r146356
2009-04-19 19:25:07 +01:00
Diego Novillo
3baf459d85 toplev.c (compile_file): Move call to coverage_finish ...
* toplev.c (compile_file): Move call to coverage_finish ...
	* cgraphunit.c (ipa_passes): ... here.
	Call cgraph_process_new_functions.
	* ipa-utils.c (get_base_var): Handle CONSTRUCTOR.
	* Makefile.in (cgraphunit.o): Add dependency on COVERAGE_H.

From-SVN: r146354
2009-04-19 13:52:03 -04:00
Joseph Myers
aa50850225 re PR preprocessor/20078 (Gcc doesn't complain about non-benign macro definitions)
libcpp:
	PR preprocessor/20078
	* include/cpp-id-data.h (struct cpp_macro): Add extra_tokens
	field.
	* include/cpplib.h (SP_DIGRAPH, SP_PREV_WHITE): Define.
	(struct cpp_token): Change flags to unsigned short.
	* lex.c (_cpp_lex_direct): Initialize arg_no for CPP_PASTE tokens.
	(_cpp_equiv_tokens): Check arg_no for CPP_PASTE tokens.
	(cpp_token_val_index): Return CPP_TOKEN_FLD_ARG_NO for CPP_PASTE
	tokens.
	* macro.c (macro_real_token_count): New.
	(enter_macro_context, replace_args): Use macro_real_token_count.
	(create_iso_definition): Record whitespace surrounding and digraph
	spelling of # and ## tokens using SP_PREV_WHITE and SP_DIGRAPH.
	Set extra_tokens and save CPP_PASTE tokens with arg_no set for
	multiple consecutive ## tokens.
	(_cpp_create_definition): Initialize extra_tokens.
	(cpp_macro_definition): Use macro_real_token_count.

gcc/testsuite:
	* gcc.dg/cpp/paste16.c, gcc.dg/cpp/redef4.c: New tests.

From-SVN: r146352
2009-04-19 18:10:56 +01:00
Jan Hubicka
b6fa5b0101 cgraph.c (cgraph_create_edge, [...]): Set proper cfun.
* cgraph.c (cgraph_create_edge, cgraph_set_call_stmt): Set proper cfun.
	(dump_cgraph_node): Dump can throw external flag.
	* ipa-pure-const.c (propagate): Fix propagation of nothrow flags.

From-SVN: r146349
2009-04-19 13:27:28 +00:00
Jan Hubicka
9b074dc6c1 stdatomic.h (__atomic_flag_for_address): Use _GLIBCXX_NOTHROW.
* include/c_compatibility/stdatomic.h (__atomic_flag_for_address): Use
	_GLIBCXX_NOTHROW.

From-SVN: r146348
2009-04-19 13:16:34 +00:00
Eric Botcazou
f7ebc6a8c2 trans.c (gigi): Make the special IA-64 descriptor type a builtin type and give it a name.
* gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
	a builtin type and give it a name.

From-SVN: r146347
2009-04-19 13:02:14 +00:00
Eric Botcazou
743e3e4c8c gnat.exp (local_find_gnatmake): Pass --LINK to gnatlink.
* lib/gnat.exp (local_find_gnatmake): Pass --LINK to gnatlink.
	Do not pass -B$root after -margs.

From-SVN: r146345
2009-04-19 12:46:12 +00:00
Manuel López-Ibáñez
ca409efd92 re PR c/32061 ((Wlogical-op) wording of warning of constant logicials need improvement)
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
2009-04-19 11:04:13 +00:00
Paolo Carlini
c93c8cf442 2009-04-19 Paolo Carlini <paolo.carlini@oracle.com>
Trim last ChangeLog entry.

From-SVN: r146343
2009-04-19 10:34:40 +00:00
Jan Hubicka
3939adc2d6 Fix changelog entry.
From-SVN: r146342
2009-04-19 10:29:33 +00:00
Jan Hubicka
9225b33903 stdatomic.h (atomic_flag_test_and_set_explicit, [...]): Use _GLIBCXX_NOTHROW.
* c_compatibility/stdatomic.h (atomic_flag_test_and_set_explicit,
	atomic_flag_clear_explicit, __atomic_flag_wait_explicit): Use
	_GLIBCXX_NOTHROW.
	* bits/c++config (_GLIBCXX_NOTHROW): New.

From-SVN: r146341
2009-04-19 09:36:10 +00:00
Eric Botcazou
9db4cdd334 * tree.c (protected_set_expr_location): Fix formatting.
From-SVN: r146340
2009-04-19 08:39:05 +00:00
GCC Administrator
1af5a6b6da Daily bump.
From-SVN: r146339
2009-04-19 00:16:53 +00:00
Joseph Myers
f37acdf9b1 re PR c/27676 (gcc is overly strict in assignment to read-only data)
PR c/27676
	* c-typeck.c (readonly_warning): new.
	(build_unary_op, build_modify_expr): Use readonly_warning for
	storing into something readonly but not const-qualified.

testsuite:
	* gcc.dg/lvalue-5.c: New test.

From-SVN: r146336
2009-04-19 00:21:34 +01:00
Paolo Carlini
7d0a3061a8 2009-04-18 Paolo Carlini <paolo.carlini@oracle.com>
Trim overlong ChangeLog entry.

From-SVN: r146334
2009-04-18 23:03:53 +00:00
Joseph Myers
2b4b70360f re PR c/22367 (constraints on '&' not fully implemented)
PR c/22367
	* c-typeck.c (build_unary_op): Check for taking address of
	expression of type void.

testsuite:
	* gcc.dg/lvalue-6.c, gcc.dg/lvalue-7.c: New tests.

From-SVN: r146332
2009-04-18 23:34:10 +01:00
Jan Hubicka
5cf217fff1 * eh_type.cc (__cxa_current_exception_type) Mark throw().
* unwind-cxx.h (__cxa_get_globals, __cxa_get_globals_fast): Mark const.
	(__cxa_get_exception_ptr): Mark pure.
	(__cxa_bad_cast, __cxa_bad_typeid): Mark noreturn
	(__terminate): Makr throw ().
	* exception (terminate): Mark throw().
	(uncaught_exception): Mark pure.
	* eh_ptr.cc (_M_safe_bool_dummy): Mark throw().
	* guard.cc (__cxa_guard_abort, __cxa_guard_release): Mark throw().
	* eh_terminate.cc (__terminate, terminate): Mark throw().
	* vec.cc (__cxa_vec_cleanup): Mark throw().
	* cxxabi.h (__cxa_vec_cleanup, __cxa_guard_release, __cxa_guard_abort): Mark throw ().
	(__cxa_pure_virtual): Mark noreturn.
	(__cxa_current_exception_type): Mark throw and pure.
	* exception_ptr.h (operator ==, !=, _M_get, !, ==,
	__cxa_exception_type): Mark pure.
	(_M_safe_bool_dummy): Mark pure and const.

From-SVN: r146331
2009-04-18 22:18:21 +00:00
Jan Hubicka
5d51b87af4 pool_allocator.cc (_M_get_free_list, [...]): Mark throw ()
* src/pool_allocator.cc (_M_get_free_list, _M_get_mutex): Mark throw ()
	* src/mt_allocator.cc (_M_reclaim_block, _M_reclaim_block,
	_M_destroy_thread_key): Mark throw ()
	* debug.cc (_M_get_mutex, _M_attach_single, _M_detach_single,
	_M_singular, _M_can_compare _M_get_mutex, _M_message,
	_M_get_max_length): Mark throw ().
	* include/debug/formatter.h (_M_message, _M_format_word,
	_M_get_max_length): Mark throw ().
	* include/debug/safe_base.h (_M_get_mutex, _M_attach_single,
	_M_detach_single): Mark throw ().
	(_M_singular, _M_can_compare, _M_get_mutex): Mark pure and throw ().
	* include/ext/pool_allocator.h (_M_get_free_list): Mark const and
	throw ()
	(_M_get_mutex): Mark throw ().
	* include/ext/mt_allocator.h (_M_reclaim_block): Mark throw ();
	(_M_destroy_thread_key): Mark CONST and throw.
	* include/bits/stl_list.h (swap, transfer, reverse, hook, unhook): Mark
	throw ().

From-SVN: r146330
2009-04-18 22:02:19 +00:00
Jan Hubicka
50a681c4ee condition_variable.cc (condition_variable, [...]): Mark throw()
* src/condition_variable.cc (condition_variable,
	condition_variable_any constructors): Mark throw()
	* src/hash.cc (operator() for long double, string, and wstring): Mark
	throw ().
	* src/strstream.cc (strstreambuf constructors, freeze, str, pcount,
	_M_setup, rdbuf, str): Mark throw ().
	* src/chrono.cc (new): Mark throw ().
	* include/std/system_error (system_category, generic_category): Mark
	throw () and const.
	* include/std/chrono (now): Mark throw ().
	* include/std/condition_variable (condition_variable,
	~condition_variable, condition_variable_any,
	~condition_variable_any): Mark throw ().
	* include/std/mutex (mutex): Mark throw ().
	* include/bits/stl_list.h (swap, transfer, reverse, hook, unhook): Mark
	throw.
	* include/bits/functional_hash.h (operator()  on size_t): Mark pure and throw ().
	* include/bits/locale_facets.tcc (__verify_grouping): Mark pure.
	* include/bits/locale_classes.h (_S_initialize_once,
	_S_clone_c_locale): Mark throw ().
	(_S_get_c_name): Mark const and throw ().
	(_M_id, _M_compare, _M_transform, _M_compare, _M_transform): Mark throw ().
	* include/bits/locale_facets.h (__convert_to_v explicit instances):
	Mark throw ().
	(_M_convert_to_wmask, _M_initialize_ctype, _S_format_float): Mark throw ().
	* include/bits/ios_base.h (_M_dispose_callbacks, _M_init, imbue,
	ios_base): Mark throw ()
	* include/bits/locale_facets_nonio.h (_M_put): Mark throw.
	* include/backward/strstream (strstreambuf constructors): Mark throw ().
	(str, freeze, _M_setupf): Mark throw ().
	(pcount): Mark pure and throw ().
	(rdbuf): Mark const and throw ().

From-SVN: r146328
2009-04-18 21:19:18 +00:00
Joseph Myers
61cc82231b directives.c (parse_include): Pass true to check_eol.
libcpp:
	* directives.c (parse_include): Pass true to check_eol.

gcc/testsuite:
	* gcc.dg/cpp/include5.c: New test.

From-SVN: r146327
2009-04-18 21:25:07 +01:00
Kazu Hirata
149ccdd45d cp-tree.h: Remove the prototype for insert_block.
* cp-tree.h: Remove the prototype for insert_block.
	* decl.c (insert_block): Remove.

From-SVN: r146326
2009-04-18 20:23:05 +00:00
Joseph Myers
3ce6296587 re PR c/35210 (gcc incorrectly allows calling function returning "const void")
PR c/35210
	* c-typeck.c (build_function_call): Check for calling a function
	with qualified void return types.  Call require_complete_type when
	generating a trap.

testsuite:
	* gcc.dg/call-diag-2.c: New test.

From-SVN: r146324
2009-04-18 21:02:47 +01:00
Paolo Carlini
2daad65eaf re PR libstdc++/39802 (std::num_get fails to parse negative zero input correctly)
2009-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39802
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int
	(_InIter, _InIter, ios_base&, ios_base::iostate&, _ValueT&)):
	Always accept negative values, for unsigned types too.
	* testsuite/22_locale/num_get/get/char/39802.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.

From-SVN: r146323
2009-04-18 19:28:40 +00:00
Jan Hubicka
2505c5edca cgraph.c (cgraph_make_edge, [...]): Set nothrow flag.
* cgraph.c (cgraph_make_edge, dump_cgraph_node, cgraph_set_call_stmt):
	Set nothrow flag.
	* cgraph.h (struct function): Reduce loop_nest to 30 bits; add
	can_throw_external flag.
	* ipa-reference.c (ipa_utils_reduced_inorder): Update call.
	* ipa-pure-const.c (ignore_edge): New function.
	(propagate): Compute order for NOTHROW computation; set NOTHROWs
	only over can_throw_external edges.
	(local_pure_const): Add nothrow flag.
	* ipa-utils.c (searchc): Add ignore_edge callback.
	(ipa_utils_reduced_inorder): Add ignore_edge callback.
	* ipa-utils.h (ipa_utils_reduced_inorder): Update prototype.
	(set_nothrow_function_flags): Update cgraph.
	* tree-cfg.c (verify_stmt): Relax nothrow checking when in IPA mode.

From-SVN: r146322
2009-04-18 18:39:52 +00:00
Joseph Myers
c7f9c0b983 re PR preprocessor/39646 (__FILE__ breaks for empty file name)
libcpp:
	PR preprocessor/39646
	* include/line-map.h (enum lc_reason): Add LC_RENAME_VERBATIM.
	* line-map.c (linemap_add): Handle LC_RENAME_VERBATIM.
	* directives.c (do_line, do_linemarker): Use LC_RENAME_VERBATIM in
	place of LC_RENAME.

gcc/testsuite:
	* gcc.dg/cpp/line8.c: New test.

From-SVN: r146319
2009-04-18 18:36:28 +01:00
Jan Hubicka
b8add5942c formater.h: Include bits/c++config.h.
* include/debug/formater.h: Include bits/c++config.h.
	(_M_error): Mark noreturn.
	* include/bits/c++config (_GLIBCXX_PURE, _GLIBCXX_CONST,
	_GLIBCXX_NORETURN): New.
	* include/bits/stl_tree.h (_Rb_tree_increment, _Rb_tree_increment,
	_Rb_tree_decrement, _Rb_tree_decrement, _Rb_tree_black_count): Mark pure.
	* include/c_compatibility/stdatomic.h (atomic_flag_test_and_set_explicit,
	atomic_flag_clear_explicit, __atomic_flag_wait_explicit,
	__atomic_flag_for_address): Mark by throw ().
	* src/atomic.cc (atomic_flag_test_and_set_explicit,
	atomic_flag_clear_explicit, __atomic_flag_wait_explicit,
	__atomic_flag_for_address): Mark by throw ().

From-SVN: r146317
2009-04-18 15:48:16 +00:00
Joseph Myers
a5cb563b79 re PR preprocessor/39647 (Syntax checks in #line not quite right)
libcpp:
	PR preprocessor/39647
	* directives.c (check_eol): Add parameter expand.
	(do_undef, parse_include, do_line, do_linemarker, do_ident,
	do_pragma_once, do_pragma_system_header, do_ifdef, do_ifndef,
	do_else, do_endif, do_assert, do_unassert): All callers changed.
	Pass true from do_line, false elsewhere.

gcc/testsuite:
	* gcc.dg/cpp/line7.c: New test.

From-SVN: r146316
2009-04-18 16:28:40 +01:00
Richard Guenther
2586ba4bda re PR tree-optimization/39804 (internal compiler error: in propagate_necessity, at tree-ssa-dce.c:754)
2009-04-18  Richard Guenther  <rguenther@suse.de>

	PR middle-end/39804
	* tree-ssa-ccp.c (fold_stmt_1): New function factored from ...
	(fold_stmt): ... this and ...
	(fold_stmt_inplace): ... this.
	(fold_stmt_1): Fold references in calls and asms.
	* tree-cfg.c (remove_useless_stmts_cond): Use fold_stmt.

	* gcc.target/i386/pr39804.c: New testcase.

From-SVN: r146314
2009-04-18 13:02:00 +00:00
Kazu Hirata
1eefab17a5 tree-vrp.c (ssa_name_nonzero_p): Remove.
* tree-vrp.c (ssa_name_nonzero_p): Remove.
	* tree.h: Remove the prototype for ssa_name_nonzero_p.

From-SVN: r146313
2009-04-18 11:49:20 +00:00
Kazu Hirata
aa424b01a1 tree.c (function_args_count): Remove.
* tree.c (function_args_count): Remove.
	* tree.h: Remove the prototype for function_args_count.

From-SVN: r146312
2009-04-18 11:48:19 +00:00
Kazu Hirata
613a896b58 tree-iterator.c (expr_only): Remove.
* tree-iterator.c (expr_only): Remove.
	* tree.h: Remove the prototype for expr_only.

From-SVN: r146311
2009-04-18 11:47:22 +00:00
Kazu Hirata
579e694c11 reginfo.c (cannot_change_mode_set_regs): Remove.
* reginfo.c (cannot_change_mode_set_regs): Remove.
	* rtl.h: Remove the prototype for cannot_change_mode_set_regs.

From-SVN: r146310
2009-04-18 11:45:08 +00:00
Anatoly Sokolov
ee7e3ad3d1 avr.md (*rotlsi3_8, [...]): Check whether operands 0 and 1 overlaps.
* config/avr/avr.md (*rotlsi3_8, *rotlsi3_16, *rotlsi3_24 ): Check
	whether operands 0 and 1 overlaps.

From-SVN: r146309
2009-04-18 15:16:37 +04:00
Janne Blomqvist
0a629857bc re PR fortran/39782 (IO depends on uninitialised value)
2009-04-18  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/39782
	* io/transfer.c (data_transfer_init): Don't flush before seek.
	(finalize_transfer): Remove extra flush.

From-SVN: r146308
2009-04-18 13:05:34 +03:00
Eric Botcazou
8dd07c4158 pr39496.c: Compile with -mtune=i686.
* gcc.target/i386/pr39496.c: Compile with -mtune=i686.
	* g++.dg/other/pr39496.C: Likewise.

From-SVN: r146306
2009-04-18 09:39:52 +00:00
Manuel López-Ibáñez
92ef7fb19a re PR middle-end/36902 (Array bound warning with dead code after optimization)
2009-04-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR middle-end/36902
	* tree-vrp.c (check_array_ref): Pass a location_t instead of a
	pointer. Use warning_at instead of warning.
	(search_for_addr_array): Likewise.
	(check_array_bounds): Likewise.
	(check_all_array_refs): Check that the incoming edge is not in the
	list of edges to be removed.
	(check_all_array_refs): Avoid the temporal pointer.
	(vrp_visit_cond_stmt): Fix typo.
	(simplify_switch_using_ranges): Handle the case where the switch
	index is an integer constant.
testsuite/
	* gcc.dg/pr36902.c: New.

From-SVN: r146305
2009-04-18 09:24:45 +00:00
Adam Nemet
0e097268ba * config/mips/mips.c (mips_final_postscan_insn): Make it static.
From-SVN: r146304
2009-04-18 07:44:39 +00:00
Kazu Hirata
c782f1dda4 * doc/extend.texi, doc/invoke.texi: Fix typos.
From-SVN: r146303
2009-04-18 02:10:37 +00:00
GCC Administrator
8d22d141f5 Daily bump.
From-SVN: r146302
2009-04-18 00:16:51 +00:00
Cary Coutant
668fb0e80c * tree-flow-inline.h (get_lineno): Fix inverted test.
From-SVN: r146299
2009-04-17 16:58:12 -07:00
Diego Novillo
4d4014c1cd tree-ssa-pre.c (create_expression_by_pieces): Remove assertion for AVAIL_OUT.
* tree-ssa-pre.c (create_expression_by_pieces): Remove
	assertion for AVAIL_OUT.

From-SVN: r146298
2009-04-17 18:28:51 -04:00
Mike Frysinger
2984e1b612 re PR target/38627 (SuperH libgcc.a lacks .note.GNU-stack markings in math funcs)
PR target/38627
	* config/sh/lib1funcs.asm [__ELF__ && __linux__]: Add .note.GNU-stack.
	* config/sh/linux-atomic.asm: Likewise.

From-SVN: r146297
2009-04-17 22:20:40 +00:00
Diego Novillo
9994a182c8 except.c (debug_eh_tree): New.
* except.c (debug_eh_tree): New.
	(struct eh_region, struct eh_status): Move ...
	* except.h: ... here.
	(add_type_for_runtime): Declare extern.
	(lookup_type_for_runtime): Likewise.
	(debug_eh_tree): Declare.
	* Makefile.in (GTFILES): List except.h before except.c

From-SVN: r146296
2009-04-17 18:05:09 -04:00
Diego Novillo
07485407e1 omp-low.c (create_omp_child_function): Set DECL_CONTEXT for DECL.
* omp-low.c (create_omp_child_function): Set DECL_CONTEXT
	for DECL.
	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
	* tree-dfa.c (find_referenced_vars_in): Factor out of ...
	(find_vars_r): ... here.
	* tree-flow.h (find_referenced_vars_in): Declare.
	* tree-ssa-pre.c (create_expression_by_pieces): Assert
	that AVAIL_OUT exists for BLOCK.
	* Makefile.in (CGRAPH_H): Add dependency on cif-code.def
	(tree-loop-distribution.o): Fix dependency on TREE_VECTORIZER_H.
	(tree-parloops.o): Likewise.

testsuite/ChangeLog

	* gcc.c-torture/execute/builtins/strlen-3.c: Fix ODR
	violation for variable 'inside_main'.

From-SVN: r146295
2009-04-17 17:45:56 -04:00