Johannes Singler [Tue, 15 Jul 2008 10:06:58 +0000 (10:06 +0000)]
find_selectors.h: Correct name for include guard #ifndef.
2008-07-15 Johannes Singler <singler@ira.uka.de>
* include/parallel/find_selectors.h:
Correct name for include guard #ifndef.
* include/parallel/balanced_quicksort.h: Likewise.
* include/parallel/unique_copy.h: Likewise.
* include/parallel/multiway_mergesort.h: Likewise.
* include/parallel/checkers.h: Likewise.
* include/parallel/[various files]:
Add/correct comment for #endif of include guard (at end of file)
config.gcc (arm*-*-eabi*): Include arm/eabi.h and use additional option file arm/eabi.opt.
2008-07-14 Doug Kwan <dougkwan@google.com>
* config.gcc (arm*-*-eabi*): Include arm/eabi.h and use
additional option file arm/eabi.opt.
* config/arm/eabi.h (File): New configuration file for EABI targets.
* config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
SUBSUBTARGET_EXTRA_SPECS.
(SUBSUBTARGET_EXTRA_SPECS): Provide empty default.
* config/arm/unknown-elf.h (UNKNOWN_ELF_STARTFILE_SPEC): Renamed
from STARTFILE_SPEC so that it can be referenced in an override.
(STARTFILE_SPEC): Use UNKNOWN_ELF_STARTFILE_SPEC.
(UNKNOWN_ELF_ENDFILE_SPEC): Renamed from ENDFILE_SPEC so that it
can be referenced in an override.
(ENDFILE_SPEC): Use UNKNOWN_ELF_ENDFILE_SPEC.
* config/arm/bpabi.h (BPABI_LINK_SPEC): Renamed from LINK_SPEC
so that it can be referenced in an override.
(LINK_SPEC): Use BPABI_LINK_SPEC.
* config/arm/eabi.opt (File): New.
gcc/ada/
PR documentation/15479
* gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
Replace backets around optional parameters with @ovar
where possible, use @r{[}, @r{]} otherwise.
Replace some @r, @i, and @emph with @var where appropriate.
Makefile.in (write_entries_to_file, [...]): New macros.
gcc/
* Makefile.in (write_entries_to_file, write_entries_to_file_split):
New macros.
(s-gtyp-input): Use them to write tmp-gi.list.
(echo_to_gi.list): Remove.
Richard Guenther [Mon, 14 Jul 2008 15:38:49 +0000 (15:38 +0000)]
tree-ssa-sccvn.c (pre_info): Remove.
2008-07-14 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (pre_info): Remove.
(switch_to_PRE_table): Likewise.
(free_scc_vn): Do not clear SSA_NAME_VALUE.
Do not free pre_info.
(set_hashtable_value_ids): Do not create value-ids for the
optimistic tables.
(run_scc_vn): Remove double test. Remove bogus special-case
in value-number printing.
* tree-ssa-sccvn.h (switch_to_PRE_table): Remove.
* tree-ssa-ccp.c (get_symbol_constant_value): Do not look at
SSA_NAME_VALUE.
* tree-flow-inline.h (get_value_handle): Remove.
* tree-flow.h (get_value_handle): Remove.
Andreas Krebbel [Mon, 14 Jul 2008 06:56:46 +0000 (06:56 +0000)]
re PR target/36745 (ICE in gen_reg_rtx, at emit-rtl.c:868)
2008-07-14 Andreas Krebbel <krebbel1@de.ibm.com>
PR target/36745
* config/s390/s390.c: (s390_secondary_reload): Add a secondary
reload for symbol refs moved to r0 with -fPIC.
(legitimize_pic_address): Use the target register as temporary
reg if possible.
(emit_symbolic_move): Adjust comment.
* config/s390/s390.md (reloadsi_PIC_addr, reloaddi_PIC_addr):
New expanders.
2008-07-14 Andreas Krebbel <krebbel1@de.ibm.com>
PR target/36745
* g++.dg/torture/pr36745.C: New testcase.
Ben Elliston [Mon, 14 Jul 2008 05:09:48 +0000 (05:09 +0000)]
cpplib.h (NODE_CONDITIONAL): New.
libcpp/
* include/cpplib.h (NODE_CONDITIONAL): New.
(struct cpp_callbacks): New macro_to_expand field.
(struct cpp_hashnode): Adjust size of flags and type fields.
(cpp_peek_token): Prototype.
* lex.c (cpp_peek_token): New function.
(_cpp_temp_token): Protect pre-existing lookaheads.
* macro.c (cpp_get_token): Expand any conditional macros.
(_cpp_backup_tokens_direct): New.
(_cpp_backup_tokens): Call _cpp_backup_tokens_direct.
(warn_of_redefinition): Silently allow redefined conditional
macros.
(_cpp_create_definition): Remove the conditional flag when a user
defines one of the conditional macros.
* internal.h (_cpp_backup_tokens_direct): New prototype.
gcc/
* c-common.h (C_CPP_HASHNODE): New macro.
* coretypes.h (struct cpp_token): Forward declare.
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
the context-sensitive keyword method.
* config/rs6000/rs6000-c.c (__vector_keyword, vector_keyword,
__pixel_keyword, pixel_keyword, __bool_keyword, bool_keyword,
expand_bool_pixel): New.
(altivec_categorize_keyword): New function.
(init_vector_keywords): New function.
(rs6000_macro_to_expand): Likewise.
(rs6000_cpu_cpp_builtins): Enable context-sensitive macros if not
compiling an ISO C dialect.
gcc/testsuite/
* gcc.target/powerpc/altivec-macros.c: New test.
* gcc.target/powerpc/altviec-26.c: Likewise.
* gcc.dg/vmx/1b-06.c: Remove bool variable.
* gcc.dg/vmx/1b-07.c: Likewise.
* gcc.dg/vmx/1b-06-ansi.c: New test for the pre-define method.
* gcc.dg/vmx/1b-07-ansi.c: Likewise.
re PR target/35492 (ICE building kernel sk_stream_wait_connect output_operand: invalid operand for 'p' modifier)
PR target/35492.
* config/cris/cris.h (CRIS_CONST_OK_FOR_LETTER_P): Renamed from
CONST_OK_FOR_LETTER_P. All port-local users changed.
(CONST_OK_FOR_CONSTRAINT_P): Define; implement Kc as old K,
implement Kp matching power-of-two.
(CONSTRAINT_LEN): Define to match.
* config/cris/cris.md: Replace all use of constraint K with Kc.
("*btst*): Use Kp for operand 0 of last alternative.
gcc/
* doc/md.texi: Document the MIPS "v" constraint.
* config/mips/mips.h (reg_class): Revert last change.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
* config/mips/mips.c (mips_regno_to_class): Likewise.
* config/mips/constraints.md (v): Likewise, but add documentation.
Add a comment to say that this constraint should not be used in
gcc code.
Ian Lance Taylor [Fri, 11 Jul 2008 18:16:26 +0000 (18:16 +0000)]
c-common.h (enum rid): Add RID_CXX_COMPAT_WARN.
./: * c-common.h (enum rid): Add RID_CXX_COMPAT_WARN.
(struct c_common_resword): Define.
(D_CONLY, D_CXXONLY, D_C99, D_CXX0X, D_EXT, D_EXT89): Define.
(D_ASM, D_OBJC, D_CXX_OBJC, D_CXXWARN): Define.
(c_common_reswords, num_c_common_reswords): Declare.
* c-common.c (c_common_reswords): New global const array.
(num_c_common_reswords): New const int.
* c-parser.c (struct resword, reswords): Don't define.
(D_C89, D_EXT, D_EXT89, D_OBJC): Don't define.
(c_parse_init): Clarify mask code. Use c_common_reswords rather
than reswords. If warning about C++ keywords, give them a special
RID code.
(c_lex_one_token): Warn about C++ keywords. Call
objc_is_reserved_word rather than OBJC_IS_AT_KEYWORD.
(c_parser_external_declaration): Look for RID_xxx rather than
RID_AT_xxx, for ObjC++ keywords which are also C++ keywords.
(c_parser_statement_after_labels): Likewise.
(c_parser_objc_class_instance_variables): Likewise.
(c_parser_objc_class_declaration): Likewise.
(c_parser_objc_try_catch_statement): Likewise.
* c-decl.c (c_print_identifier): Ignore RID_CXX_COMPAT_WARN.
(declspecs_add_type): Likewise.
cp/:
* lex.c (struct resword, reswords): Don't define.
(D_EXT, D_ASM, D_OBJC, D_CXX0X): Don't define.
(init_reswords): Clarify mask code. Use c_common_reswords rather
than reswords.
objc/:
* objc-act.c (objc_is_reserved_word): Always check for RID_CLASS,
etc., not just when OBJCPLUS is defined.
testsuite/:
* gcc.dg/Wcxx-compat-2.c: New test.
re PR c++/13101 (incorrect warning on initialized extern const function pointer)
2008-07-11 Dodji Seketeli <dseketel@redhat.com>
PR c++/13101
* decl.c (grokdeclarator): Warn about initializing variables
of storage class 'extern' only after the type of the declarator
has been properly computed.
Joseph Myers [Thu, 10 Jul 2008 22:00:53 +0000 (23:00 +0100)]
re PR testsuite/29056 (gcc.target/powerpc/ppc-negeq0-1.c fails on powerpc64)
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.
Jakub Jelinek [Thu, 10 Jul 2008 07:39:54 +0000 (09:39 +0200)]
re PR rtl-optimization/36419 (Wrong unwind info with -Os -fasynchronous-unwind-tables)
PR rtl-optimization/36419
* combine-stack-adj.c (adjust_frame_related_expr): New function.
(combine_stack_adjustments_for_block): Call it if needed. Delete
correct insn.
* dwarf2out.c (dwarf2out_frame_debug_expr): Adjust
DW_CFA_GNU_args_size if CSA pass merged some adjustments into
prologue sp adjustment.
Peter Maydell [Thu, 10 Jul 2008 03:51:04 +0000 (03:51 +0000)]
re PR other/28322 (GCC new warnings and compatibility)
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.
Ian Lance Taylor [Thu, 10 Jul 2008 01:41:06 +0000 (01:41 +0000)]
no-asm-1.c: New test.
* 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.
Joseph Myers [Thu, 10 Jul 2008 00:57:16 +0000 (01:57 +0100)]
unwind-cxx.h (__is_gxx_forced_unwind_class, [...]): Define for ARM EABI unwinder.
* 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.
Joseph Myers [Wed, 9 Jul 2008 20:58:06 +0000 (21:58 +0100)]
typedefs-2.cc, [...]: Use -Wl,--no-enum-size-warning for arm*-*-linux*eabi.
* 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.
re PR target/35802 (MIPS64: Unable to find a register to spill in class ‘V1_REG’)
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.
invoke.texi (Option Summary): Mention new option -Wdisallowed-function-list=...
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.
* 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.
Martin Jambor [Tue, 8 Jul 2008 13:25:24 +0000 (15:25 +0200)]
ipa-cp.c (ipcp_init_cloned_node): Call ipa_check_create_node_params instead of ipa_create_node_params.
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.
* gcc.c-torture/compile/20080625-1.c: Skip for AVR target.
* gcc.dg/torture/pr36373-10.c: Correct test where target pointer is not same size as unsigned long.
PR fortran/36341
PR fortran/34670
* gfortran.dg/matmul_bounds_2.f90: New test.
* gfortran.dg/matmul_bounds_3.f90: New test.
* gfortran.dg/matmul_bounds_4.f90: New test.
* gfortran.dg/matmul_bounds_5.f90: New test.