| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
a subset of the input class.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71128 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71127 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* config/i860/i860.h: Likewise.
* config/sh/sh.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71126 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71124 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
* config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71119 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
multiplication to implement division by constant integer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71116 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* call.c (perform_direct_initialization): Correct logic for
direct-initialization of a class type.
PR c++/12146
* pt.c (lookup_template_function): Robustify.
PR c++/12163
* g++.dg/expr/static_cast4.C: New test.
PR c++/12146
* g++.dg/template/crash9.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71115 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* g++.old-deja/g++.ext/pretty2.C: Update for change
in __FUNCTION__.
* g++.old-deja/g++.ext/pretty3.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71114 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
yesterday. This part of the patch adds support for a --target=v850e1-elf
configuration as well as --target=v850-elf --with-cpu=v850e1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71113 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR libstdc++/9028
* include/bits/fstream.tcc
(basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
(basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
_M_ext_buf_size, _M_ext_next and _M_ext_end.
(basic_filebuf::underflow): Handle variable-width stateless
encodings (codecvt::encoding() == 0), including UTF-8.
* include/std/std_fstream.h (basic_filebuf):
Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
* testsuite/27_io/objects/wchar_t/12.cc: New test.
* testsuite/27_io/objects/wchar_t/13.cc: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71111 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/11922
* pt.c (tsubst_qualified_id): Make sure we get a non-type.
(tsubst_expr, tsubst_copy_and_build): Pass false, not zero, as
is_type_p to lookup_qualified_name.
* semantics.c (finish_call_expr): Refactor some code.
testsuite:
PR c++/11922
* g++/dg/template/qualified-id1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71109 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/12037
* cp-tree.h (COMPOUND_EXPR_OVERLOADED): New.
(build_min_non_dep): Declare.
* tree.c (build_min): Propagate TREE_SIDE_EFFECTS.
(build_min_non_dep): New.
* cvt.c (convert_to_void): Don't explicitly copy
TREE_SIDE_EFFECTS, TREE_NO_UNUSED_WARNING.
* call.c (build_new_method_call): Use build_min_non_dep.
* decl2.c (grok_array_decl): Likewise.
(build_offset_ref_call_from_tree): Likewise.
* typeck.c (finish_class_member_access_expr,
build_x_indirect_ref, build_x_binary_op, build_x_unary_op,
build_x_conditional_expr, build_x_compound_expr): Likewise.
(build_static_cast, build_reinterpret_cast,
build_const_cast): Propagate TREE_SIDE_EFFECTS inside a template.
* typeck2.c (build_x_arrow): Use build_min_non_dep.
(build_functional_cast): Propagate TREE_SIDE_EFFECTS inside a
template.
* rtti.c (build_dynamic_cast_1): Set DECL_IS_PURE.
(build_dynamic_cast): Set TREE_SIDE_EFFECTS.
* pt.c (build_non_dependent_expr): Check COMPOUND_EXPR_OVERLOADED.
testsuite:
PR c++/12037
* g++.dg/warn/noeffect4.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71108 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* docs/html/faq/index.html: Note that a namespace alias can't be
used when specialising templates in extension namespace.
* docs/html/faq/index.txt: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71107 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* params.def (max-inline-insns-single): Set to 500
(max-inline-insns-auto): Set to 150
* invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71105 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(cgraph_mark_needed_node): Remove needed argument.
* cgraph.h: Update to match.
* cgraphunit.c (decide_is_function_needed): Split out from ...
(cgraph_finalize_function): Reorg. Avoid deferred_inline_function
if we generated the function.
(record_call_1): Update for cgraph_mark_reachable_node.
* varasm.c (mark_referenced): Likewise.
* objc/objc-act.c (mark_referenced_methods): Likewise.
* decl2.c (mark_member_pointers_and_eh_handlers): Update for
change in cgraph_mark_needed_node arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71104 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71103 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* libjava.lang/lang.exp: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71102 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
(test_libjava_from_source): Likewise.
(test_libjava_from_javac): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71101 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71100 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* config/frv/t-frv: Fix path for frv-abi.h.
* config/frv/frv-asm.h: Fix string concatenation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71099 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71097 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
(expand_builtin_apply_args_1): Likewise.
(expand_builtin_apply_args_1): Likewise.
(expand_builtin_apply): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71095 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71094 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
assembler supports Sun syntax for cmov.
* configure: Regenerate.
* config.in: Likewise.
* config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
HAVE_AS_IX86_CMOV_SUN_SYNTAX.
* config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
Fixes PR target/12101.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71089 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
with verbosity 0, instead of DECL_NAME, for human-readable string.
* g++.dg/ext/fnname1.C: New test. (__func__ for C++.)
* g++.dg/ext/fnname2.C: Likewise.
* g++.dg/ext/fnname3.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71088 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* targhooks.c (default_return_in_memory): Allow
unconverted ports.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71085 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* decl2.c (mark_used): Use ggc_push_context/ggc_pop_context.
* tree.c (cp_cannot_inline_tree_fn): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71084 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* targhooks.c (default_return_in_memory): Fix typo
in last checkin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71083 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* targhooks.c (default_return_in_memory): Fix default
definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71082 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
deleted function.
* config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
enable coff-only code in m68k.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71081 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* Makefile.am: Remove build rules for ffitest.
* Makefile.in: Rebuilt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71078 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71077 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
lvalue cast; use correct rvalue cast.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71076 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* Make-lang.in (misc.o): Add dependency on target.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71074 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71073 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
about implicit declaration of abort().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71071 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* include/Makefile.in: Built.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71070 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71069 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
* Makefile.in: Rebuilt.
* configure.in: Add dejagnu test framework.
* configure: Rebuilt.
* testsuite/Makefile.am: New file.
* testsuite/Makefile.in: Built
* testsuite/lib/libffi-dg.exp: New file.
* testsuite/config/default.exp: Likewise.
* testsuite/libffi.call/call.exp: Likewise.
* testsuite/libffi.call/ffitest.h: Likewise.
* testsuite/libffi.call/closure_fn0.c: Likewise.
* testsuite/libffi.call/closure_fn1.c: Likewise.
* testsuite/libffi.call/closure_fn2.c: Likewise.
* testsuite/libffi.call/closure_fn3.c: Likewise.
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
* testsuite/libffi.call/cls_2byte.c: Likewise.
* testsuite/libffi.call/cls_3byte1.c: Likewise.
* testsuite/libffi.call/cls_3byte2.c: Likewise.
* testsuite/libffi.call/cls_4byte.c: Likewise.
* testsuite/libffi.call/cls_5byte.c: Likewise.
* testsuite/libffi.call/cls_6byte.c: Likewise.
* testsuite/libffi.call/cls_7byte.c: Likewise.
* testsuite/libffi.call/cls_8byte.c: Likewise.
* testsuite/libffi.call/cls_12byte.c: Likewise.
* testsuite/libffi.call/cls_16byte.c: Likewise.
* testsuite/libffi.call/cls_20byte.c: Likewise.
* testsuite/libffi.call/cls_24byte.c: Likewise.
* testsuite/libffi.call/cls_double.c: Likewise.
* testsuite/libffi.call/cls_float.c: Likewise.
* testsuite/libffi.call/cls_uchar.c: Likewise.
* testsuite/libffi.call/cls_uint.c: Likewise.
* testsuite/libffi.call/cls_ulonglong.c: Likewise.
* testsuite/libffi.call/cls_ushort.c: Likewise.
* testsuite/libffi.call/float.c: Likewise.
* testsuite/libffi.call/float1.c: Likewise.
* testsuite/libffi.call/float2.c: Likewise.
* testsuite/libffi.call/many.c: Likewise.
* testsuite/libffi.call/many_win32.c: Likewise.
* testsuite/libffi.call/nested_struct.c: Likewise.
* testsuite/libffi.call/nested_struct1.c: Likewise.
* testsuite/libffi.call/pyobjc-tc.c: Likewise.
* testsuite/libffi.call/problem1.c: Likewise.
* testsuite/libffi.call/promotion.c: Likewise.
* testsuite/libffi.call/return_ll.c: Likewise.
* testsuite/libffi.call/return_sc.c: Likewise.
* testsuite/libffi.call/return_uc.c: Likewise.
* testsuite/libffi.call/strlen.c: Likewise.
* testsuite/libffi.call/strlen_win32.c: Likewise.
* testsuite/libffi.call/struct1.c: Likewise.
* testsuite/libffi.call/struct2.c: Likewise.
* testsuite/libffi.call/struct3.c: Likewise.
* testsuite/libffi.call/struct4.c: Likewise.
* testsuite/libffi.call/struct5.c: Likewise.
* testsuite/libffi.call/struct6.c: Likewise.
* testsuite/libffi.call/struct7.c: Likewise.
* testsuite/libffi.call/struct8.c: Likewise.
* testsuite/libffi.call/struct9.c: Likewise.
* testsuite/libffi.special/special.exp: New file.
* testsuite/libffi.special/ffitestcxx.h: Likewise.
* testsuite/libffi.special/unwindtest.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71068 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71063 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71058 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
* unwind.h (_Unwind_GetBSP): New prototype.
* libgcc-std.ver: Add empty GCC_3.3.2 version.
* mkmap-symver.awk: For symbol versions with no exported symbols,
don't put anything into version script, just change all symbol
versions which inherit from it to inherit from its ancestor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71057 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config/mips/mips.c (mips_expand_prologue): Convert to
calls.struct_value_rtx hook.
(reg_or_const_float_1_operand): New.
* config/mips/mips.h: Update Comments.
(mips_arg): Add reg_or_const_float_1_operand.
* config/mips/mips.md (divdf3); Convert to expander.
(divsf3): Ditto.
(*divdf3): New pattern.
(*divsf3): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71056 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cp-tree.h (finish_sizeof, finish_alignof): Remove.
(expr_sizeof): Replace with ...
(cxx_sizeof_or_alignof_expr): ... here.
(cxx_sizeof_or_alignof_type): Make complain parameter a bool.
* parser.c (cp_parser_unary_expression): Commonize alignof and
sizeof handling.
* pt.c (tsubst_copy_and_build): Adjust alignof and sizeof
substitution.
* semantics.c (finish_sizeof, finish_alignof): Remove.
* typeck.c (cxx_sizeof_or_alignof_type): Complain parameter
becomes bool. Set TREE_READONLY.
(expr_sizeof): Replace with ...
(cxx_sizeof_or_alignof_expr): ... here. Clear TREE_SIDE_EFFECTS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71054 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
unit-at-atime mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71052 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* call.c (build_conditional_expr): Correct formatting.
(convert_like_real): Use lvalue_p, not non_cast_lvalue_p.
(initialize_real): Use real_lvalue_p, not real_non_cast_lvalue_p.
* cp-tree.h (non_cast_lvalue_p): Remove.
(real_non_cast_lvalue_p): Remove.
(non_cast_lvalue_or_else): Remove.
* tree.c (lvalue_p_1): Remove allow_cast_as_lvalue parameter.
(real_lvalue_p): Adjust call to lvalue_p_1.
(non_cast_lvalue_p): Remove.
(non_cast_lvalue_or_else): Remove.
(lvalue_p): Adjust call to lvalue_p_1.
(lvalue_or_else): Simplify.
* typeck.c (build_unary_op): Use lvalue_or_else, not
non_cast_lvalue_or_else.
(build_static_cast): Use real_lvalue_p, not real_non_cast_lvalue_p.
* doc/extend.texi: Document removal of cast-as-lvalue extension in
C++.
* g++.dg/expr/lval1.C: New test.
* g++.dg/ext/lvcast.C: Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71051 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71050 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
optimization/11980
* config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
(PTRDIFF_TYPE): Likewise.
(WCHAR_TYPE_SIZE): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71049 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* targhooks.h: New file.
* Makefile.in: Add targhooks.o support.
(function.o): Depend on$(TARGET_H).
(stmt.o): Likewise.
(combine.o): Depend on $(TREE_H) and $(TARGET_H).
* builtins.c (apply_args_size, expand_builtin_apply_args_1,
expand_builtin_apply): Convert to calls.struct_value_rtx hook.
(expand_builtin_saveregs): Convert to
calls.expand_builtin_saveregs hook.
* c-decl.c (start_decl): Handle new calls.promote_prototypes hook
here, instead of ...
(get_parm_info) ... here.
(store_parm_decls_oldstyle): Convert to calls.promote_prototypes
hook.
(finish_function): Handle calls.promote_prototypes hook here too.
* c-typeck.c (convert_arguments): Convert to
calls.promote_prototypes hook.
(c_convert_parm_for_inlining): Likewise.
* calls.c (initialize_argument_information): Convert to
calls.promote_function_args hook.
(expand_call): Convert to calls.struct_value_rtx,
calls.strict_argument_naming,
calls.pretend_outgoing_varargs_named, and
calls.promote_function_return hooks. Pass fndecl to
aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
hooks, so they can use that.
(emit_library_call_value_1): Likewise.
* combine.c (setup_incoming_promotions): Convert to
calls.promote_function_args hook.
* emit-rtl.c: Convert to calls.struct_value_rtx hook.
* expr.c (expand_assignment): Pass call to aggregate_value_p.
(expand_expr): Likewise.
* expr.h: Remove support for SETUP_INCOMING_VARARGS,
STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
RETURN_IN_MEMORY macro defaults.
* final.c (profile_function): Convert to calls.struct_value_rtx
hook.
* function.c (aggregate_value_p): Accept function type tree as
second parameter; try to deduce fntype from it. Convert to
calls.return_in_memory hook.
(assign_parms): Convert to calls.setup_incoming_varargs,
calls.strict_argument_naming, calls.promote_function_args,
calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
aggregate_value_p.
(expand_function_start): Likewise. Convert to
calls.struct_value_rtx hook.
(expand_function_end): Convert to calls.promote_function_return hook.
(allocate_struct_function): Pass fndecl to aggregate_value_p.
* hard-reg-set.h: Update comments to new hook names.
* integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
* reg-stack.c (stack_result): Likewise.
* rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
* stmt.c (expand_value_return): Convert to
calls.promote_function_return hook.
* target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
TARGET_STRICT_ARGUMENT_NAMING,
TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
* target.h: Likewise.
* tree.h (aggregate_value_p): Also takes a tree to deduce function
attributes from (for target hooks).
* doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
to hooks.
* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
to aggregate_value_p.
* config/arm/arm.c (arm_init_cumulative_args,
arm_output_mi_thunk): Likewise.
* config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
Likewise.
* config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
mips_can_use_return_insn): Likewise.
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
* config/s390/s390.c (s390_output_mi_thunk): Likewise.
* config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
aggregate_value_p.
* config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
function to aggregate_value_p.
* objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
aggregate_value_p.
* config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
(sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
(sh_handle_renesas_attribute, sh_promote_prototypes,
sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
sh_setup_incoming_varargs, sh_strict_argument_naming,
sh_pretend_outgoing_varargs_named): New decls.
(targetm): Add new hooks.
(calc_live_regs): Save MACL and MACH if the function has the
renesas attribute.
(sh_expand_prologue): Support renesas attribute.
(sh_builtin_saveregs): Make static.
(sh_build_va_list): Support renesas attribute.
(sh_va_start): Likewise.
(sh_va_arg): Likewise.
(sh_promote_prototypes): New.
(sh_function_arg): New, moved from sh.h. Support renesas
attribute.
(sh_function_arg_advance): Likewise.
(sh_return_in_memory): Likewise.
(sh_strict_argument_naming): Likewise.
(sh_pretend_outgoing_varargs_named): Likewise.
(sh_struct_value_rtx): New.
(sh_attribute): Add renesas attribute.
(sh_handle_renesas_attribute): New.
(sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
(sh_ms_bitfield_layout_p): Support renesas attribute also.
(sh_output_mi_thunk): Pass function to aggregate_value_p. *
config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
-mhitachi.
(STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
target hooks.
(sh_args): Add renesas_abi flag.
(INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
(FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
(PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
stack for the renesas abi.
(STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
call cookie to indicate renesas calls.
* decl.c (finish_function): Pass fndecl to aggregate_value_p.
* misc.c (default_pass_by_ref): Convert to calls.return_in_memory
hook.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71048 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
(pre_insert_copy_insn): Change the order of copying
to make copy propagation discover additional PRE opportunities.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71047 138bc75d-0d04-0410-961f-82ee72b054a4
|