PR middle-end/29056
* gcc.target/powerpc/ppc-negeq0-1.c: Use long instead of int.
Adjust shift and scan-assembler-not pattern to allow for 64-bit
case.
From-SVN: r137704
2008-07-10 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-pre.c (create_expression_by_pieces): Add fold_convert
calls.
(eliminate): Ditto.
(execute_pre): Call loop_optimizer_finalize in early exit.
From-SVN: r137696
PR middle-end/36790
* omp-low.c (lower_omp_2): If task_shared_vars, test all DECL_P
uids in the bitmap, not just VAR_DECL uids.
* gcc.dg/gomp/pr36790.c: New test.
* g++.dg/gomp/pr36790.C: New test.
From-SVN: r137695
2008-07-10 Daniel Kraft <d@domob.eu>
* gfc-internals.texi (section gfc_expr): Created documentation about
the gfc_expr internal data structure.
From-SVN: r137688
2008-07-10 Peter Maydell <pmaydell@chiark.greenend.org.uk>
PR other/28322
* opts.c (print_ignored_options): report postponed diagnostics for
unknown -Wno-* options as warnings, not errors.
(postpone_unknown_option_error): renamed to
postpone_unknown_option_warning.
* gcc.dg/pr28322-2.c: check that emitted diagnostic for -Wno-foobar
is a warning and not an error.
From-SVN: r137687
* gcc.dg/no-asm-1.c: New test.
* gcc.dg/no-asm-2.c: New test.
* gcc.dg/no-asm-3.c: New test.
* gcc.dg/no-asm-4.c: New test.
* g++.dg/ext/no-asm-1.C: New test.
* g++.dg/ext/no-asm-2.C: New test.
* g++.dg/ext/no-gnu-keywords-1.C: New test.
From-SVN: r137684
* libsupc++/unwind-cxx.h (__is_gxx_forced_unwind_class,
__GXX_INIT_FORCED_UNWIND_CLASS): Define for ARM EABI unwinder.
* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Call
__GXX_INIT_FORCED_UNWIND_CLASS for forced unwind with ARM EABI
unwinder.
* libsupc++/eh_arm.cc (__cxa_type_match): Use
__is_gxx_forced_unwind_class to check for forced unwind.
From-SVN: r137683
* testsuite/20_util/make_signed/requirements/typedefs-2.cc,
testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Use
-Wl,--no-enum-size-warning for arm*-*-linux*eabi.
From-SVN: r137673
gcc/
PR target/35802
* config/mips/mips.h (reg_class): Remove V1_REG.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
* config/mips/mips.c (mips_regno_to_class): Map $3 to M16_NA_REGS
instead of V1_REGS.
(mips_get_tp): New function.
(mips_legitimize_tls_address): Use it.
* config/mips/constraints.md (v): Delete.
* config/mips/mips.md (TLS_GET_TP_REGNUM): New constant.
(tls_get_tp_<mode>): Allow any GPR destination and clobber $3.
After reload, split into a move and ...
(*tls_get_tp_<mode>_split): ...this new instruction.
gcc/testsuite/
PR target/35802
* gcc.target/mips/pr35802.c: New test.
From-SVN: r137670
/cp
2008-07-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36760
* pt.c (tsubst_function_type): Don't warn for type qualifiers
on function return type in case of system header.
/testsuite
2008-07-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36760
* g++.dg/warn/pragma-system_header5.C: New.
* g++.dg/warn/pragma-system_header5.h: Likewise.
From-SVN: r137660
2008-07-09 Raksit Ashok <raksit@google.com>
* doc/invoke.texi (Option Summary): Mention new option
-Wdisallowed-function-list=...
(Warning Options): Document -Wdisallowed-function-list=...
* common.opt (Wdisallowed-function-list=): New flag.
* flags.h (warn_disallowed_functions): External definition of new
boolean warning flag.
(warn_if_disallowed_function_p): Declare new function.
* opts.c (warning_disallowed_functions): New static variable.
(warn_disallowed_functions): New boolean warning flag.
(warn_if_disallowed_function_p): New function.
(add_comma_separated_to_vector): Rename
add_instrument_functions_exclude_list to this.
(common_handle_option): Handle new option. Rename calls to
add_instrument_functions_exclude_list into calls to
add_comma_separated_to_vector.
* c-parser.c (c_parser_postfix_expression_after_primary): New warning
based on flag warn_disallowed_functions.
gcc/cp/ChangeLog
2008-07-09 Raksit Ashok <raksit@google.com>
* parser.c (cp_parser_postfix_expression): New warning based on flag
warn_disallowed_functions.
gcc/testsuite/ChangeLog
2008-07-09 Raksit Ashok <raksit@google.com>
* gcc.dg/wdisallowed-functions-1.c: New test.
* gcc.dg/wdisallowed-functions-2.c: New test.
* g++.dg/warn/Wdisallowed-functions-1.C: New test.
* g++.dg/warn/Wdisallowed-functions-2.C: New test.
From-SVN: r137655
2008-07-08 Raksit Ashok <raksit@google.com>
* expr.c (emit_block_move_via_movmem): Fix expected_align parameter.
(set_storage_via_setmem): Fix expected_align parameter.
* doc/invoke.texi (i386 and x86-64 Options): Add a couple of options
missing from the list.
* doc/md.texi (movmem): Explicitly state that expected alignment is
to be expressed in bytes.
(setmem): Explicitly state that expected alignment is to be expressed
in bytes.
From-SVN: r137646
gcc/cp/
2008-07-08 Simon Martin <simartin@users.sourceforge.net>
PR c++/34963
* decl.c (grokdeclarator): Reset storage_class and staticp for friend
functions declared with a storage class qualifier.
gcc/testsuite/
2008-07-08 Simon Martin <simartin@users.sourceforge.net>
PR c++/34963
* g++.dg/parse/dtor13.C: New test.
From-SVN: r137637
2008-07-07 Tianwei Sheng <tianweis@google.com>
* df-core.c (df_remove_problem): Adjust the access to avoid out of
bounds array access.
From-SVN: r137634
2008-07-08 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipcp_init_cloned_node): Call ipa_check_create_node_params
instead of ipa_create_node_params.
(ipcp_driver): Allocate infos with ipa_check_create_node_params and
ipa_check_create_edge_args, free them with
free_all_ipa_structures_after_ipa_cp, call ipa_register_cgraph_hooks.
* ipa-prop.c: Include flags.h and tree-inline.h.
(ipa_node_params_vector): New variable.
(ipa_edge_args_vector): New variable.
(edge_removal_hook_holder): New variable.
(node_removal_hook_holder): New variable.
(edge_duplication_hook_holder): New variable.
(node_duplication_hook_holder): New variable.
(ipa_detect_param_modifications): Check for presence of modified flags.
(ipa_compute_jump_functions): Check for presence of jump functions.
(ipa_free_edge_args_substructures): New function.
(ipa_create_node_params): Removed.
(ipa_free_all_edge_args): Changed to deallocate the on-the-side vector.
(ipa_free_node_params_substructures): New function.
(ipa_free_all_node_params): Changed to deallocate the on-the-side
vector.
(ipa_edge_removal_hook): New function.
(ipa_node_removal_hook): New function.
(duplicate_array): New function.
(ipa_edge_duplication_hook): New function.
(ipa_node_duplication_hook): New function.
(ipa_register_cgraph_hooks): New function.
(ipa_unregister_cgraph_hooks): New function.
(free_all_ipa_structures_after_ipa_cp): New function.
* ipa-prop.h: Include vec.h.
(ipa_node_params_t): New typedef with vector types for it.
(ipa_edge_args_t): New typedef with vector types for it.
(IPA_NODE_REF): Changed to access an on-the-side vector.
(IPA_EDGE_REF): Changed to access an on-the-side vector.
(ipa_check_create_node_params): New function.
(ipa_check_create_edge_args): New function.
* Makefile.in (IPA_PROP_H): New variable for ipa-prop.h. Converted
all users.
From-SVN: r137620