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
Simon Baldwin
4e53d196cc
toplev.c (default_tree_printer): Add handling for %E format.
...
2009-04-17 Simon Baldwin <simonb@google.com>
* toplev.c (default_tree_printer): Add handling for %E format.
From-SVN: r146294
2009-04-17 17:30:22 -04:00
Diego Novillo
413d3aa89d
tree-pretty-print.c (dump_generic_node): Add break after TREE_BINFO handler.
...
* tree-pretty-print.c (dump_generic_node): Add break
after TREE_BINFO handler.
Handle COMPLEX_TYPE, REAL_TYPE and FIXED_POINT_TYPE
Handle NULL TREE_TYPEs.
Handle METHOD_TYPE and FUNCTION_TYPE together.
Call print_struct_decl when printing structures and
TDF_SLIM is not given.
(print_struct_decl): Fix logic for detecting recursion.
From-SVN: r146293
2009-04-17 17:28:01 -04:00
Rafael Avila de Espindola
5a691e9862
re PR other/31567 (cc1, cc1plus, etc. don't support @file mechanism)
...
PR 31567
* gcc.c (create_at_file): New.
(compile_input_file_p): New.
(do_spec_1): Use @args files for %i. Use create_at_file for %o.
* main.c (main): Update call to toplev_main.
* toplev.c (toplev_main): Change signature. Call expandargv.
* toplev.h (toplev_main): Change signature.
From-SVN: r146292
2009-04-17 17:11:46 -04:00
Eric Botcazou
9eacf7a62a
dwarf2out.c (field_byte_offset): Use the type size as the field size if the latter is not constant.
...
* dwarf2out.c (field_byte_offset): Use the type size as the field size
if the latter is not constant.
From-SVN: r146291
2009-04-17 20:42:16 +00:00
David Edelsohn
5829817786
* dbxout.c (xcoff_debug_hooks): Add set_name_debug_nothing.
...
From-SVN: r146290
2009-04-17 16:38:38 -04:00