Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r66473
|
|
ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
gcc:
* builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
(ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
New.
* builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
(BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
(BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
BUILT_IN_STRDUP): Add "nonnull" attribute.
testsuite:
* gcc.dg/nonnull-3.c: New test.
From-SVN: r66468
|
|
* expr.c (store_field): Don't clobber TEMP in shift: it might be
a variable.
(get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
whose purpose is to step up the alignment.
(expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
From-SVN: r66465
|
|
From-SVN: r66464
|
|
word boundaries forcing BLKmode.
* stor-layout.c (compute_record_mode): Relax restriction
on fields crossing word boundaries forcing BLKmode.
From-SVN: r66463
|
|
From-SVN: r66462
|
|
set or -trigraphs.
* cppinit.c (cpp_create_reader, post_options): Warn about
trigraphs unless explicity set or -trigraphs.
* cpplex.c (warn_in_comment): New.
(_cpp_process_line_notes): Better handling of -Wtrigraphs.
(_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
* doc/cppopts.texi, doc/cpp.texi: Update.
testsuite:
* gcc.dg/cpp/Wtrigraphs.c: Update.
* gcc.dg/cpp/Wtrigraphs-2.c: New tests.
From-SVN: r66459
|
|
* Makefile.in (LIBGCOV): Add _gcov_merge_add.
* gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
namespace clash.
(GCOV_MERGE_FUNCTIONS): New.
(gcov_merge_fn): Declare.
(struct gcov_ctr_info): New field "merge".
(__gcov_merge_add): Declare.
* coverage.c (ctr_merge_functions): New.
(build_ctr_info_type, build_ctr_info_value): Initialize merge field
of gcov_ctr_info type.
* libgcov.c (__gcov_merge_add): New.
(gcov_exit): Call a hook to merge values of counters.
From-SVN: r66457
|
|
* toplev.h (pedwarn_with_file_and_line): Don't declare.
* diagnostic.c (pedwarn_with_file_and_line): Remove.
From-SVN: r66456
|
|
From-SVN: r66454
|
|
* Make-lang.in (java/parse.o, java/parse-scan.o): Depend on input.h.
* lex.h: #include input.h.
* jv-scan.c (input_filename): Remove.
From-SVN: r66452
|
|
* builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
expand_builtin_frame_address): Update prototypes.
(expand_builtin_constant_p, expand_builtin_strlen,
expand_builtin_strcpy, expand_builtin_memset,
expand_builtin_bzero, expand_builtin_args_info,
expand_builtin_frame_address): Pass in just the argument(s)
needed, not the entire expression `exp'.
(expand_builtin): Update all calls to these functions.
From-SVN: r66448
|
|
* builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
<BUILT_IN_DWARF_SP_COLUMN>: New.
* builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
(BUILT_IN_DWARF_SP_COLUMN): New.
* dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
(expand_builtin_dwarf_sp_column): New.
* except.h: Update to match.
* unwind-dw2.c (execute_stack_op): Correct stack push typo.
(execute_cfa_program): Record location expression address
before extracting length.
(uw_update_context_1): Install old CFA into stack pointer column.
(uw_init_context_1): Set cfa_reg to stack pointer column.
From-SVN: r66447
|
|
* config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
return bool.
(toc_relative_expr_p): Likewise.
(SPE_CONST_OFFSET_OK): Move from rs6000.h.
(legitimate_constant_pool_address_p): Move from rs6000.h, change
into a function, downcase all users.
(legitimate_small_data_p): Likewise.
(legitimate_offset_address_p): Likewise.
(legitimate_indexed_address_p): Likewise.
(legitimate_indirect_address_p): Likewise.
(legitimate_lo_sum_address_p): Likewise.
(rs6000_mode_dependent_address): Likewise.
* rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
(SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
(LEGITIMATE_ADDRESS_INTEGER_P): Remove.
(GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
* config/rs6000/rs6000-protos.h: Update.
From-SVN: r66445
|
|
From-SVN: r66444
|
|
* config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
(REVERSE_CONDITION): Define.
* gcc.dg/ppc-fsel-1.c: New test.
From-SVN: r66442
|
|
branch_positive_comparison_operator.
* config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
to branch_positive_comparison_operator.
(ccr_bit): Check that sCOND conditions are actually a positive bit.
(print_operand): Remove %D substitution.
(rs6000_emit_sCOND): Generate complement operation to ensure that
sCOND input is a positive bit.
* config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
same order as bCOND, and add the missing ones. Remove the %D
substitutions from the scc patterns.
From-SVN: r66441
|
|
* simplify-rtx.c (simplify_relational_operation): Add case for
! (fabs(x) < 0.0).
From-SVN: r66440
|
|
From-SVN: r66439
|
|
2003-05-03 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
From-SVN: r66437
|
|
PR c/10604
* c-common.c (warn_sign_compare): Initialize to -1.
* c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
(c_common_decode_option <OPT_Wall>): Set warn_sign_compare
for C++ only.
(c_common_post_options): Set warn_sign_compare from extra_warnings
if it's still -1 at this point.
* toplev.c (maybe_warn_unused_parameter): New static variable.
(set_Wextra): New static function.
(W_options): Remove "extra".
(decode_W_option): Call set_Wextra.
(independent_decode_option): Likewise.
(set_Wunused): Cooperate with set_Wextra in setting
warn_unused_parameter.
(rest_of_compilation): No need to check extra_warnings as
well as warn_uninitialized.
* c-typeck.c (build_binary_op, build_conditional_expr):
No need to check extra_warnings as well as warn_sign_compare.
(internal_build_compound_expr): No need to check extra_warnings
as well as warn_unused_value.
* function.c (expand_function_end): No need to check extra_warnings
as well as warn_unused_parameter.
* stmt.c (expand_expr_stmt_value): No need to check extra_warnings
as well as warn_unused_value.
* cp/typeck.c (build_x_compound_expr): No need to check
extra_warnings as well as warn_unused_value.
* doc/invoke.texi: Clarify documentation of -Wsign-compare.
* gcc.dg/compare7.c, g++.dg/warn/compare1.C: New testcases.
* Makefile.in: Disable -Werror for gengtype-lex.o.
From-SVN: r66436
|
|
* trans.c (tree_transform): Use location_t and input_location
directly.
(build_unit_elab): Likewise.
* utils.c (create_label_decl): Likewise.
From-SVN: r66433
|
|
* com.c (ffecom_do_entry_): Use location_t and input_location
directly.
(ffecom_gen_sfuncdef_): Likewise.
(ffecom_start_progunit_): Likewise.
(ffecom_sym_transform_): Likewise.
(ffecom_sym_transform_assign_): Likewise.
* lex.c (ffelex_hash_): Likewise.
(ffelex_include_): Likewise.
* std.c (ffestd_exec_begin): Likewise.
(ffestd_exec_end): Likewise.
* ste.c (struct gbe_block): Likewise.
(ffeste_start_block_): Likewise.
(ffeste_start_stmt_): Likewise.
From-SVN: r66432
|
|
* expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
gen_lowpart on non-integer modes.
From-SVN: r66430
|
|
* emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
* rtl.h (last_call_insn, add_function_usage_to): New prototypes.
* builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
* calls.c (emit_call_1): Likewise.
(expand_call): For calls initializing constant memory, replace
emission of standalone mem /u clobber with function usage entry.
* expr.c (emit_block_move_via_libcall): Likewise.
* cse.c (count_reg_usage, case EXPR_LIST): New case.
* flow.c (propagate_one_insn): Pass entire operand of
CALL_INSN_FUNCTION_USAGE to mark_used_regs.
* integrate.c (try_constants): For CALL_INSNs, substitute constants
within the FUNCTION_USAGE also.
* loop.c (prescan_loop): Note clobbers of const mem mentioned in
FUNCTION_USAGE lists.
* reload1.c (replace_pseudos_in): Renamed.
(reload): Use it for clobbers surviving until the end of the reload.
From-SVN: r66429
|
|
not DECL_ALIGN.
* stor-layout.c (place_field): When adjusting offset_align, use
desired_align, not DECL_ALIGN.
From-SVN: r66428
|
|
From-SVN: r66426
|
|
* c-decl.c (pending_invalid_xref_file): Remove.
(pending_invalid_xref_line): Remove.
(pending_invalid_xref_location): New.
(lookup_label): Use location_t and input_location directly.
(lookup_tag): Likewise.
(pending_xref_error): Likewise.
(c_expand_body_1): Likewise.
* c-common.c (x_expand_start_cond): Likewise.
* c-semantics.c (genrtl_for_stmt): Likewise.
(find_reachable_label): Likewise.
* expr.c (expand_expr): Likewise.
* integrate.c (output_inline_function): Likewise.
* tree-inline.c (find_alloca_call): Likewise.
(find_builtin_longjmp_call): Likewise.
* gcc.c (input_filename): Make static.
From-SVN: r66425
|
|
PR c++/9364, c++/10553, c++/10586
* decl.c (make_typename_type): Don't crash on illegal code.
* g++.dg/parse/typename4.C: New test.
* g++.dg/parse/typename5.C: Likewise.
From-SVN: r66424
|
|
* class.c (finish_struct): Use location_t and input_location
directly.
* decl.c (make_label_decl): Likewise.
(use_label): Likewise.
* decl2.c (warn_if_unknown_interface): Likewise.
(start_static_initialization_or_destruction): Likewise.
(generate_ctor_or_dtor_function): Likewise.
(finish_file): Likewise.
* error.c (print_instantiation_full_context): Likewise.
* init.c (create_temporary_var): Likewise.
* method.c (synthesize_method): Likewise.
* parser.c (cp_token): Likewise.
(cp_lexer_set_source_position_from_token): Likewise.
(cp_lexer_get_preprocessor_token): Likewise.
(cp_parser_statement): Likewise.
* pt.c (tsubst_friend_function): Likewise.
(instantiate_class_template): Likewise.
(tsubst_decl): Likewise.
(tsubst): Likewise.
(instantiate_decl): Likewise.
* semantics.c (begin_class_definition): Likewise.
(expand_body): Likewise.
From-SVN: r66423
|
|
From-SVN: r66422
|
|
From-SVN: r66421
|
|
From-SVN: r66420
|
|
* config/mips/mips.c (mips_integer_op): New structure.
(MIPS_MAX_INTEGER_OPS): Define.
(mips_const_insns): Use mips_build_integer to determine the number
of instructions needed to load a CONST_INT.
(move_operand): Reject compound CONST_INTs.
(mips_build_shift, mips_build_lower, mips_build_integer): New fns.
(mips_move_integer): New fn.
(mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
(mips_legitimize_move): Only legitimize constants when moving
word or subword values.
From-SVN: r66419
|
|
From-SVN: r66417
|
|
PR java/10491:
* gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
(handle_inner_classes): New function.
From-SVN: r66416
|
|
PR java/10459:
* parse.y (finish_for_loop): Do nothing if update expression is a
EXPR_WFL_NODE wrapping nothing.
(java_complete_lhs) <COMPOUND_EXPR>: Likewise.
From-SVN: r66411
|
|
* builtins.c (expand_builtin_stpcpy): Copy `arglist' before
modifying it.
From-SVN: r66409
|
|
From-SVN: r66407
|
|
* doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
Hernandez, and Kazu Hirata. Update Richard Henderson.
Co-Authored-By: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
From-SVN: r66405
|
|
* config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
to tentative declaration.
From-SVN: r66396
|
|
* config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
(SYMBOL_FLAG_SMALL_V4): Delete.
* config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
(rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
(rs6000_elf_in_small_data_p): Add extra section names. Add
comment about TREE_PUBLIC test.
From-SVN: r66393
|
|
expand_unreachable_stmt.
* c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
expand_stmt on result of expand_unreachable_stmt.
From-SVN: r66392
|
|
From-SVN: r66388
|
|
* config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
number of automata.
* config/rs6000/rs6000.c (symbol_ref_operand): Check
SYMBOL_REF_FUNCTION_P on AIX.
(current_file_function_operand): Same.
* config/rs6000/rs6000.md (call,call_value): Force non-function
symbol_ref into register on AIX.
From-SVN: r66385
|
|
to struct locate_and_pad_arg_data.
* calls.c (struct arg_data): Move offset, slot_offset, size and
alignment_pad to struct locate_and_pad_arg_data. Update all refs.
(initialize_argument_information): Adjust call to locate_and_pad_parm.
Delete alignment_pad var. Don't calculate slot_offset here.
(emit_library_call_value_1): Delete alignment_pad, offset and size
vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
Adjust call to locate_and_pad_parm. Don't tweak arg size for
partial in-regs here. Formatting fixes.
* expr.h (struct locate_and_pad_arg_data): New struct.
(locate_and_pad_parm): Adjust declaration.
* function.c (assign_parms): Localize vars. Use "locate" instead of
other arg location vars. Don't invoke FUNCTION_ARG or
FUNCTION_INCOMING_ARG unless pretend_named is different from
named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
Use slot_offset for stack home of reg parms. Correct test for
parm passed in memory. Formatting fixes.
(locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
arg_size_ptr and alignment pad with "locate". Set slot_offset here.
Correct initial_offset_ptr handling. Localize vars. Always pad
locate->offset even when in_regs.
From-SVN: r66383
|
|
contains invalid formats.
From-SVN: r66381
|
|
From-SVN: r66380
|
|
* Makefile.in (TREE_H): Replace location.h with input.h.
(GTFILES) Remove location.h
(gt-lists.h): Replace gt-location.h with gt-input.h
* input.h (input_filename, input_line): Remove variables.
(location_s, location_t): Move from location.h.
(input_location): New.
(input_filename, input_line): New #defines.
* location.h: Remove.
* tree.h: Replace location.h with input.h.
(input_filename, input_line): Remove.
* diagnostic.h: Replace location.h with input.h.
* gcc.h (input_filename, input_filename_length): Remove declarations.
* toplev.c (input_filename, input_line): Remove.
(input_location): Define.
(push_srcloc, pop_srcloc): Adjust.
* diagnostic.c (diagnostic_report_current_module): Adjust.
f:
* lex.c (ffelex_file_pop_): Adjust file_stack member use.
(ffelex_file_push_): Likewise.
(ffelex_hash_): Likewise.
java:
* lex.h (input_lineno): Remove declaration.
* parse-scan.y: #include input.h.
(input_filename): Remove declaration.
(input_location): Add definition.
(input_line): Remove definition.
From-SVN: r66378
|
|
can...
Add xstormy16 to list of targets that has a nop instruction and hence which
can be tested to see if the assembler supports the --gdwarf2 switch.
From-SVN: r66374
|