spop [Thu, 30 Sep 2010 21:17:04 +0000 (21:17 +0000)]
Fix include order to avoid failed compilation on CLOOG_ORG.
2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* graphite-poly.c: Change include order.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164777
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 30 Sep 2010 21:16:57 +0000 (21:16 +0000)]
Add necessary accessors for CloogMatrix (CLOOG_ORG).
2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
(cloog_matrix_nrows): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164776
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 30 Sep 2010 21:16:49 +0000 (21:16 +0000)]
Remove spaces from matrix lines.
2010-08-11 Riyadh Baghdadi <baghdadi.mr@gmail.com>
* graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
from matrix lines.
* graphite-poly.c (openscop_print_scattering_function_1): Same.
(print_scattering_function_1): Same.
(openscop_print_pbb_domain): Same.
(openscop_print_scop_context): Same.
(print_scop_context): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164775
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 30 Sep 2010 21:16:41 +0000 (21:16 +0000)]
Fix columns order in openscop.
2010-08-11 Riyadh Baghdadi <baghdadi.mr@gmail.com>
* graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
(openscop_print_pdr_polyhedron): Print pph.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164774
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 30 Sep 2010 21:16:34 +0000 (21:16 +0000)]
Add testcase for PR43423.
2010-07-29 Sebastian Pop <sebastian.pop@amd.com>
* gcc.dg/graphite/graphite.exp: Add compile rules for vect-* files.
* gfortran.dg/graphite/graphite.exp: Same.
* gcc.dg/graphite/vect-pr43423.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164773
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 30 Sep 2010 21:16:25 +0000 (21:16 +0000)]
Generate in priority signed types for integer constants.
2010-07-29 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
priority signed types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164772
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 30 Sep 2010 21:16:18 +0000 (21:16 +0000)]
Avoid lang_hooks, call build_nonstandard_integer_type.
2010-07-29 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (max_signed_precision_type): Remove the call
to lang_hooks.types.type_for_size. Call build_nonstandard_integer_type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164771
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 30 Sep 2010 21:16:10 +0000 (21:16 +0000)]
Write OpenScop format.
2010-07-29 Riyadh Baghdadi <baghdadi.mr@gmail.com>
* graphite-cloog-util.c (openscop_print_cloog_matrix): New.
(openscop_print_polyhedron_matrix): New.
* graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
* graphite-poly.c (openscop_print_pdr_polyhedron): Same.
(openscop_print_pdr_powerset): New.
(openscop_print_powerset_matrix): New.
(openscop_print_scattering_function_1): New.
(print_scattering_function): Add support for scattering names and
OpenScop format.
(graphite_write_transforms): Remove.
(apply_poly_transforms): Updated to call print_scop.
(print_pdr_access_layout): Updated to support OpenScop format.
(print_pdr): Same.
(openscop_print_pbb_domain): New.
(print_pbb_body): Added a parameter to allow indicating that pbb_body is
not provided.
(print_pbb): Updated to call the new print_pbb_body.
(openscop_print_scop_context): New.
(print_scop_header): New.
(print_scop): Updated to call print_scop_header.
* graphite-poly.h: Document OpenScop format.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164770
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 30 Sep 2010 21:13:14 +0000 (21:13 +0000)]
Fix date
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164769
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Thu, 30 Sep 2010 20:54:27 +0000 (20:54 +0000)]
* config/cris/m32c.c (cris_memory_move_cost): New.
(cris_register_move_cost): Make static. Change arguments type from
enum reg_class to reg_class_t.
(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
* config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
* config/cris/cris-protos.h (cris_register_move_cost): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164768
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 30 Sep 2010 20:21:28 +0000 (20:21 +0000)]
PR target/45843
* config/i386/i386.c (ix86_gimplify_va_arg): Use
INTVAL (XEXP (slot, 1)) as prev_size.
* g++.dg/torture/pr45843.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164766
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Thu, 30 Sep 2010 19:54:08 +0000 (19:54 +0000)]
2010-09-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/45828
* resolve.c (resolve_allocate_expr): Do not use
'gfc_has_default_initializer'.
2010-09-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/45828
* gfortran.dg/allocate_derived_5.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164765
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Thu, 30 Sep 2010 19:52:57 +0000 (19:52 +0000)]
PR target/45837: Make powerpc build again
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164764
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Thu, 30 Sep 2010 19:49:26 +0000 (19:49 +0000)]
2010-09-30 Tobias Burnus <burnus@net-b.de>
* gfortran.tex (Fortran 2008 status): Update list of
implemented features.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164763
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 30 Sep 2010 19:24:10 +0000 (19:24 +0000)]
* dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164762
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 30 Sep 2010 19:21:34 +0000 (19:21 +0000)]
PR tree-optimization/31261
* fold-const.c (fold_binary): Optimize ((A & N) + B) & M
for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
* gcc.dg/tree-ssa/pr31261.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164761
138bc75d-0d04-0410-961f-
82ee72b054a4
rwild [Thu, 30 Sep 2010 19:16:34 +0000 (19:16 +0000)]
build: info-gcc, dvi-gcc etc work from unbuilt configured tree.
/:
PR bootstrap/45796
* Makefile.def (info-gcc, dvi-gcc, pdf-gcc, html-gcc):
Depend on all-build-libiberty.
* Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164760
138bc75d-0d04-0410-961f-
82ee72b054a4
rwild [Thu, 30 Sep 2010 19:16:14 +0000 (19:16 +0000)]
build: more correct build rules for build/gen% programs.
gcc/:
PR bootstrap/45796
* Makefile.in (build/gen%$(build_exeext)): Move rule after all
special-casing for generators and turn into ...
((genprog:%=build/gen%$(build_exeext))): ... this static pattern
rule, for better error messages in case of toplevel dependency
errors.
(genprog): Add hooks, rename to ...
(genprogerr): ... this, and let genprog also contain check,
checksum, condmd.
((genprog:%=build/gen%$(build_exeext))): Rename to ...
((genprogerr:%=build/gen%$(build_exeext))): ... this.
(build/genhooks$(build_exeext)): Remove now-unneeded dependency.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164759
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 30 Sep 2010 18:37:13 +0000 (18:37 +0000)]
* doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
for GMP, MPFR and MPC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164758
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 30 Sep 2010 18:25:06 +0000 (18:25 +0000)]
* config/sparc/sparc.opt (mimpure-text): Move ...
* config/sol2.opt: ... here.
Correct description.
* config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
* doc/invoke.texi (Option Summary, SPARC Options): Move
-mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
(Option Summary, Solaris 2 Options): ... here.
(Submodel Options, Solaris 2 Options): New menu entry.
(SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
(Solaris 2 Options): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164757
138bc75d-0d04-0410-961f-
82ee72b054a4
eager [Thu, 30 Sep 2010 18:21:57 +0000 (18:21 +0000)]
Check in support for Xilinx MicroBlaze processor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164756
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 30 Sep 2010 17:44:28 +0000 (17:44 +0000)]
* gcc-interface/misc.c (optimize, optimize_size): Undefine as
macros and define as variables.
(gnat_post_options): Set optimize and optimize_size variables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164755
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Thu, 30 Sep 2010 16:51:00 +0000 (16:51 +0000)]
add @optional/@required to prto lists
gcc:
* c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
parse @optional/@required and set the flags as appropriate.
gcc/c-family:
* c-common.c: Add two new entries for @optional
and @required keywords.
merge from FSF 'apple/trunk' branch.
2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
Radar 4386773
* c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
objective-c keywords.
(objc_set_method_opt): New declaration.
* stub-objc.c (objc_set_method_opt): New stub.
gcc/cp:
merge from FSF 'apple/trunk' branch.
2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
Radar 4386773
* cp/parser.c (cp_parser_objc_interstitial_code): For
@optional/@required set the optional/required flag.
gcc/objc:
merge from FSF 'apple/trunk' branch.
2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
Radar 4386773
* objc/objc-act.c (objc_set_method_opt): New function.
(objc_start_protocol, objc_finish_interface): Reset
objc_method_optional_flag flag.
(objc_add_method_declaration): Pass on the new
flag to objc_add_method.
(objc_add_method): Add optional methods to new chain in
the protocol class.
* objc/objc-act.h (CLASS_OPTIONAL_CLS_METHODS,
CLASS_OPTIONAL_NST_METHODS): New macros accessing a protocol
class's optional method chains.
testsuite:
merge from FSF 'apple/trunk' branch.
2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
Radar 4386773
* objc.dg/enhanced-proto-1.m: New.
* objc.dg/enhanced-proto-2.m: New.
* obj-c++.dg/enhanced-proto-1.mm: New
* obj-c++.dg/enhanced-proto-2.mm: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164754
138bc75d-0d04-0410-961f-
82ee72b054a4
joel [Thu, 30 Sep 2010 16:01:30 +0000 (16:01 +0000)]
2010-09-28 Joel Sherrill <joel.sherrill@oarcorp.com>
* g-socket.adb: Move pragma to disable warnings in case
multiple errnos are not defined by target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164753
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Thu, 30 Sep 2010 15:11:28 +0000 (15:11 +0000)]
* config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164752
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 30 Sep 2010 13:53:12 +0000 (13:53 +0000)]
* opt-functions.awk (static_var): Update comment.
(var_ref): Return offsetof expression or -1, not variable address.
* optc-gen.awk: Generate structure field initializers instead of
static variables. Expect -1 for missing variables instead of null
pointer. Add gcc_options parameters to generated functions.
* opth-gen.awk: Generate structure fields for static variables.
Add gcc_options parameters to generated functions.
* common.opt (optimize, optimize_size): Add variables.
* config/i386/i386-c.c (ix86_pragma_target_parse): Pass
&global_options to cl_target_option_restore.
* config/i386/i386.c (ix86_valid_target_attribute_p): Pass
&global_options to cl_optimization_restore, cl_target_option_save
and cl_target_option_restore.
(ix86_set_current_function): Pass &global_options to
cl_target_option_restore.
* config/pdp11/pdp11.h (optimize): Remove.
* config/rs6000/rs6000.h (optimize): Remove.
* config/sh/sh.h (optimize): Remove.
* config/xtensa/xtensa.h (optimize): Remove.
* coretypes.h (struct gcc_options): Declare.
* diagnostic.c (diagnostic_initialize): Initialize
context->option_state.
(diagnostic_report_diagnostic): Pass option_state to
option_enabled hook.
* diagnostic.h (diagnostic_context.option_enabled): Add void *
parameter.
(diagnostic_context.option_state): New field.
* final.c (final_start_function, final, final_scan_insn): Rename
optimize parameter to optimize_p.
* flags.h (optimize, optimize_size): Remove.
* function.c (invoke_set_current_function_hook): Pass
&global_options to cl_optimization_restore.
* gcc.c (driver_handle_option): Take gcc_options parameter.
Assert that it is &global_options.
(process_command): Pass &global_options to read_cmdline_option.
* ipa-pure-const.c (suggest_attribute): Pass &global_options to
option_enabled.
* lto-opts.c (lto_reissue_options): Use option_flag_var. Pass
&global_options to set_option.
* opts-common.c (handle_option, handle_generated_option,
read_cmdline_option, set_option): Take explicit gcc_options
parameters. Use option_flag_var.
(option_flag_var): New.
* opts.c (common_handle_option, lang_handle_option,
target_handle_option): Take gcc_options parameter. Assert that it
is &global_options.
(read_cmdline_options): Pass &global_options to
read_cmdline_option.
(print_filtered_help): Use option_flag_var. Pass &global_options
to option_enabled.
(common_handle_option): Use option_flag_var.
(option_enabled): Take opts parameter. Use option_flag_var.
(get_option_state): Take gcc_options parameter. Use
option_flag_var. Pass gcc_options parameter to option_enabled.
(enable_warning_as_error): Pass &global_options to
handle_generated_option.
* opts.h (struct cl_option): Change flag_var to flag_var_offset.
(cl_option_handler_func.handler): Take gcc_options parameter.
(option_enabled, get_option_state, set_option, handle_option,
handle_generated_option, read_cmdline_option): Take gcc_options
parameters.
* toplev.c (optimize, optimize_size): Remove.
(print_switch_values): Pass &global_options to option_enabled.
(option_affects_pch_p): Use option_flag_var. Pass &global_options
to get_option_state.
(general_init): Initialize global_dc->option_state.
* tree.c (build_optimization_node): Pass &global_options to
cl_optimization_save.
(build_target_option_node): Pass &global_options to
cl_target_option_save.
c-family:
* c-common.c (handle_optimize_attribute): Pass &global_options to
cl_optimization_save and cl_optimization_restore.
* c-opts.c (c_common_handle_option): Pass &global_options to
handle_generated_option.
* c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
(handle_pragma_pop_options, handle_pragma_reset_options): Pass
&global_options to cl_optimization_restore.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164751
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Thu, 30 Sep 2010 12:31:21 +0000 (12:31 +0000)]
2010-09-30 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (type_consists_of_records_p): Do not check for trailing
zero sized bit-fields.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164750
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 30 Sep 2010 12:22:33 +0000 (12:22 +0000)]
2010-09-30 Richard Guenther <rguenther@suse.de>
PR testsuite/45702
* gcc.dg/debug/pr41893-1.c: Adjust.
* gcc.dg/pr30762-1.c: Likewise.
* gcc.dg/pr31529-1.c: Likewise.
* gcc.dg/pr34457-1.c: Likewise.
* gcc.dg/pr34668-1.c: Likewise.
* gcc.dg/pr43557-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164749
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Thu, 30 Sep 2010 09:50:55 +0000 (09:50 +0000)]
add files missed on previous commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164748
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Thu, 30 Sep 2010 09:40:11 +0000 (09:40 +0000)]
PR objc/45842
* objc.dg/threedotthree-abi-1.m: Only apply at m32.
* objc.dg/const-str-3.m: Correct header for memcpy.
* objc.dg/const-str-7.m: Likewise.
* objc.dg/method-20b.m: Provide an implementation of Object.
Adjust XFAIL for m64 NeXT runtime.
* objc.dg/const-str-12b.m: Use mapped data types Darwin >= 9.
* objc.dg/encode-3.m: Correct line ordering, provide header for
sprintf.
* objc.dg/encode-7-next.m: Only run for 32bit.
* objc.dg/encode-7-next-64bit.m: Only run for 64bit.
* objc.dg/type-size-2.m: Provide an implementation of Object.
Ajust headers.
* obj-c++.dg/const-str-7.mm: Correct header for memcpy.
* obj-c++.dg/const-str-12.mm: Use mapped data types Darwin >= 9.
* obj-c++.dg/method-23.mm: Provide an implementation of Object.
Adjust XFAIL for m64 NeXT runtime.
* obj-c++.dg/method-22.mm: Likewise.
* obj-c++.dg/threedotthree-abi-1.mm: Only apply at m32.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164747
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Thu, 30 Sep 2010 09:01:19 +0000 (09:01 +0000)]
2010-09-30 Kai Tietz <kai.tietz@onevision.com>
* objc/deprecated/struct_objc_class.h: Add padding
to avoid warning with -Wpadded.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164746
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Thu, 30 Sep 2010 08:33:54 +0000 (08:33 +0000)]
In gcc/testsuite/:
2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
Radar 4278236
* obj-c++.dg/bad-forward-decl.mm: New
In gcc/objc/:
2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
Radar 4278236
* objc-act.c (objc_declare_class): Pick the right
type tree.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164745
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Thu, 30 Sep 2010 08:23:37 +0000 (08:23 +0000)]
In gcc/c-family/:
2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
* c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
Objective-C/Objective-C++ keywords.
In gcc/cp/:
2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
* parser.c (cp_lexer_get_preprocessor_token): Tidied up comments
and indentation when finding an Objective-C++ CPP_AT_NAME token.
In gcc/:
2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
* c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
(c_parser_external_declaration): Use RID_AT_CLASS
instead of RID_CLASS.
(c_parser_objc_class_declaration): Same change.
(c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
RID_TRY and RID_AT_CATCH instead of RID_CATCH.
(c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
and RID_AT_PUBLIC instead of RID_PUBLIC.
(c_parser_statement_after_labels): Use RID_AT_TRY instead of
RID_TRY and RID_AT_CATCH instead of RID_CATCH.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164744
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 30 Sep 2010 06:35:09 +0000 (06:35 +0000)]
* ada/acats/run_acats: Revert revision 157037.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164742
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Thu, 30 Sep 2010 04:43:42 +0000 (04:43 +0000)]
* doc/install.texi (Binaries): Update link to HP-UX porting centre.
Add links to current providers of packages for Solaris and IRIX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164741
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 30 Sep 2010 00:17:38 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164740
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Wed, 29 Sep 2010 22:24:00 +0000 (22:24 +0000)]
Fixed dates in ChangeLogs for my last commit - apologies
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164736
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Wed, 29 Sep 2010 22:21:20 +0000 (22:21 +0000)]
In gcc/:
2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
* c-parser.c: Applied change originally in c-parse.in.
2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
Radar 4281748
* c-decl.c (start_decl): Check for redeclaration of class name.
* c-parse.in (after_type_declarator): Recognize CLASSNAME.
In gcc/c-family/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
Radar 4281748
* c-common.h (objc_check_global_decl): New declaration.
* stub-objc.c (objc_check_global_decl): New stub.
In gcc/objc/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
Radar 4281748
* objc-act.c (objc_check_global_decl): New
In gcc/testsuite/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
Radar 4281748
* objc.dg/naming-2.m: Update
* objc.dg/naming-3.m: New
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164735
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Wed, 29 Sep 2010 21:32:42 +0000 (21:32 +0000)]
2010-09-29 Steve Ellcey <sje@cup.hp.com>
* config/ia64/ia64.c (ia64_builtin_decl): New.
(TARGET_BUILTIN_DECL): Define.
(ia64_builtins): New.
(ia64_init_builtins): Save decls in ia64_builtins.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164734
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 29 Sep 2010 21:12:48 +0000 (21:12 +0000)]
PR c/45054
* reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
invariants. Check for reg_equiv_invariant.
(reload): Assert that spilled_pseudos is empty when returning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164733
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 29 Sep 2010 20:06:55 +0000 (20:06 +0000)]
PR target/40457
* postreload.c (move2add_use_add2_insn): Use full_costs for
comparison.
(move2add_use_add3_insn): Likewise.
(reload_cse_move2add): Likewise.
* rtlanal.c (get_full_rtx_cost): New function.
* rtl.h (struct full_rtx_costs): New.
(init_costs_to_max, init_costs_to_zero, costs_lt_p,
costs_add_n_insns): New inline functions.
(get_full_rtx_cost): Declare.
testsuite/
PR target/40457
* gcc.target/arm/pr40457-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164732
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Wed, 29 Sep 2010 18:55:44 +0000 (18:55 +0000)]
2010-09-29 Kai Tietz <kai.tietz@onevision.com>
* config/i386/mingw32.h (TARGET_64BIT): replaced by
TARGET_64BIT_DEFAULT in #if check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164730
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Wed, 29 Sep 2010 18:18:38 +0000 (18:18 +0000)]
2010-09-29 Kai Tietz <kai.tietz@onevision.com>
PR preprocessor/45362
* directives.c (cpp_pop_definition): Make static.
(do_pragma_push_macro): Reworked to store text
definition.
(do_pragma_pop_macro): Add free text definition.
(cpp_push_definition): Removed.
* include/cpplib.h (cpp_push_definition): Removed.
(cpp_pop_definition): Likewise.
* internal.h (def_pragma_macro): Remove member 'value'
and add new members 'definition', 'line',
'syshdr', 'sued' and 'is_undef'.
* pch.c (_cpp_restore_pushed_macros): Rework to work
on text definition and store additional macro flags.
(_cpp_save_pushed_macros): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164729
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Wed, 29 Sep 2010 17:38:50 +0000 (17:38 +0000)]
* varasm.c (assemble_alias): Add error message for
unsupported ifunc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164728
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Wed, 29 Sep 2010 17:29:35 +0000 (17:29 +0000)]
* config/darwin.h (flag_mkernel): Remove.
(flag_apple_kext): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164727
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Wed, 29 Sep 2010 17:28:19 +0000 (17:28 +0000)]
Joseph Myers <joseph@codesourcery.com>
Jack Howarth <howarth@bromo.med.uc.edu>
* config/darwin.opt (undefined): Add.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164726
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Wed, 29 Sep 2010 14:58:52 +0000 (14:58 +0000)]
* configure.ac: Add --enable-indirect-function option.
* config.gcc: Add default_gnu_indirect_function.
* config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
(HAVE_GNU_INDIRECT_FUNCTION): ... this.
* varasm.c (do_assemble_alias): Adjust for macto name change.
* configure: Rebuilt.
* doc/install.texi: Document --enable-indirect-function.
testsuite/
* lib/target-supports-dg.exp (dg-require-ifunc): Remove extraneous
alias checking.
* lib/target-supports.exp (check_ifunc_available): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164725
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 29 Sep 2010 14:51:52 +0000 (14:51 +0000)]
* doc/options.texi (Variable, Var, Init): Update documentation
without reference to VarExists.
(VarExists): Remove.
* common.opt, config/i386/i386.opt, config/linux.opt,
config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
Don't use VarExists.
c-family:
* c.opt: Don't use VarExists.
fortran:
* lang.opt: Don't use VarExists.
java:
* lang.opt: Don't use VarExists.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164724
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 29 Sep 2010 14:49:14 +0000 (14:49 +0000)]
gcc:
* optc-gen.awk: Generate global_options initializer instead of
individual variables. Add x_ prefix to names of structure
members.
* opth-gen.awk: Generate gcc_options structure. Add x_ prefix to
names of structure members.
* doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
* doc/tm.texi: Regenerate.
* alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
* builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
* c-parser.c (disable_extension_diagnostics,
restore_extension_diagnostics): Update names of cpp_options
members.
* combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
* common.opt (fcompare-debug-second): Don't use Var.
* config/alpha/alpha.h (target_flags): Remove.
* config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
* config/bfin/bfin.h (target_flags): Remove.
* config/cris/cris.h (target_flags): Remove.
* config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
cl_target_option members.
* config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
(ix86_function_specific_print, ix86_valid_target_attribute_tree,
ix86_can_inline_p): Update names of cl_target_option members.
* config/i386/i386.h (ix86_isa_flags): Remove.
* config/lm32/lm32.h (target_flags): Remove.
* config/mcore/mcore.h (mcore_stack_increment): Remove.
* config/mcore/mcore.md (addsi3): Remove extern declaration of
flag_omit_frame_pointer.
* config/mep/mep.h (target_flags): Remove.
* config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
* config/mmix/mmix.h (target_flags): Remove.
* config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
flag_expensive_optimizations): Remove.
* config/s390/s390.h (flag_pic): Remove.
* config/score/score-conv.h (target_flags): Remove.
* config/sh/sh.h (sh_fixed_range_str): Remove.
* config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
* dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
* df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
* diagnostic.c (diagnostic_initialize): Update names of
diagnostic_context members.
* diagnostic.h (diagnostic_context): Rename inhibit_warnings and
warn_system_headers.
(diagnostic_report_warnings_p): Update for new names.
* dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
* emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
HARD_FRAME_POINTER_IS_ARG_POINTER.
* flags.h (flag_compare_debug): Declare.
* ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
* opts.c (flag_compare_debug): Define.
(common_handle_option): Update names of diagnostic_context
members. Handle -fcompare-debug-second.
(fast_math_flags_struct_set_p): Update names of cl_optimization
members.
* reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
* regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
* reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
* reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
* resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
* rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
* sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
* stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
gcc/c-family:
* c-common.c (c_cpp_error): Update names of diagnostic_context
members.
* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
cl_optimization members.
* c-opts.c (warning_as_error_callback, c_common_handle_option,
sanitize_cpp_opts, finish_options): Update names of cpp_options
members.
gcc/fortran:
* cpp.c (cpp_define_builtins): Update names of gfc_option_t
members.
(gfc_cpp_post_options): Update names of cpp_options members.
(cb_cpp_error): Update names of diagnostic_context members.
* f95-lang.c (gfc_init_builtin_functions): Update names of
gfc_option_t members.
* gfortran.h (gfc_option_t): Rename warn_conversion and
flag_openmp.
* intrinsic.c (gfc_convert_type_warn): Update names of
gfc_option_t members.
* options.c (gfc_init_options, gfc_post_options, set_Wall,
gfc_handle_option): Update names of gfc_option_t members.
* parse.c (next_free, next_fixed): Update names of gfc_option_t
members.
* scanner.c (pedantic): Remove extern declaration.
(skip_free_comments, skip_fixed_comments, include_line): Update
names of gfc_option_t members.
* trans-decl.c (gfc_generate_function_code): Update names of
gfc_option_t members.
gcc/java:
* java-tree.h (flag_filelist_file, flag_assert, flag_jni,
flag_force_classes_archive_check, flag_redundant, flag_newer,
flag_use_divide_subroutine, flag_use_atomic_builtins,
flag_use_boehm_gc, flag_hash_synchronization,
flag_check_references, flag_optimize_sci, flag_indirect_classes,
flag_indirect_dispatch, flag_store_check,
flag_reduced_reflection): Remove.
* jcf-dump.c (flag_newer): Remove.
* jcf.h (quiet_flag): Remove.
* parse.h (quiet_flag): Remove.
libcpp:
* include/cpplib.h (cpp_options): Rename warn_deprecated,
warn_traditional, warn_long_long and pedantic.
* directives.c (directive_diagnostics, _cpp_handle_directive):
Update names of cpp_options members.
* expr.c (cpp_classify_number, eval_token): Update names of
cpp_options members.
* init.c (cpp_create_reader, post_options): Update names of
cpp_options members.
* internal.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Update names of
cpp_options members.
* macro.c (parse_params): Update names of cpp_options members.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164723
138bc75d-0d04-0410-961f-
82ee72b054a4
hariharans [Wed, 29 Sep 2010 14:36:53 +0000 (14:36 +0000)]
* config/picochip/picochip.c (picochip_output_internal_label):
This function can now be called for debug CFI labels, which can come in
the middle of a vliw instruction. Postpone until end of vliw.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164722
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 29 Sep 2010 14:07:55 +0000 (14:07 +0000)]
Fix long line
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164720
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 29 Sep 2010 13:59:08 +0000 (13:59 +0000)]
2010-09-29 Richard Guenther <rguenther@suse.de>
* tree.h (SCOPE_FILE_SCOPE_P): New macro.
(DECL_FILE_SCOPE_P): Use it.
(TYPE_FILE_SCOPE_P): New macro.
cp/
* cp-tree.h (CP_DECL_CONTEXT): Check DECL_FILE_SCOPE_P.
(CP_TYPE_CONTEXT): Similar.
(FROB_CONTEXT): Frob global_namespace to the global
TRANSLATION_UNIT_DECL.
* decl.c (cxx_init_decl_processing): Build a TRANSLATION_UNIT_DECL,
set DECL_CONTEXT of global_namespace to it.
(start_decl): Use CP_DECL_CONTEXT and test TYPE_P
instead of zeroing context.
(cp_finish_decl): Use DECL_FILE_SCOPE_P.
(grokfndecl): Likewise.
(start_preparsed_function): Likewise.
* name-lookup.c (maybe_push_decl): Use DECL_NAMESPACE_SCOPE_P.
(namespace_binding): Use SCOPE_FILE_SCOPE_P.
* pt.c (template_class_depth): Use CP_TYPE_CONTEXT.
(is_specialization_of_friend): Use CP_DECL_CONTEXT.
(push_template_decl_real): Likewise.
(tsubst_friend_class): Likewise. Adjust context comparisons.
(instantiate_class_template): Use CP_TYPE_CONTEXT.
(tsubst): Do not substitute into TRANSLATION_UNIT_DECL.
* cxx-pretty-print.c (pp_cxx_nested_name_specifier): Use
SCOPE_FILE_SCOPE_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164719
138bc75d-0d04-0410-961f-
82ee72b054a4
qiyao [Wed, 29 Sep 2010 13:52:17 +0000 (13:52 +0000)]
2010-09-29 Yao Qi <yao@codesourcery.com>
* decl.c (get_atexit_node): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164718
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 29 Sep 2010 11:56:34 +0000 (11:56 +0000)]
2010-09-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/Makefile.am: Add debug/forward_list.
* include/Makefile.in: Regenerate.
* testsuite/util/testsuite_container_traits.h (traits_base):
Add has_erase_after and hash_insert_after typedefs.
(traits<forward_list<>>): Adjust.
* testsuite/util/exception/safety.h (erase_point, erase_range,
insert_point): Deal correctly with forward_list.
* include/Makefile.am: Add.
2010-09-29 François Dumont <francois.cppdevs@free.fr>
* src/debug.cc: Add forward_list specific debug messages.
* include/debug/forward_list: New.
* include/debug/formatter.h: Add debug message ids and before begin
iterator state.
* include/debug/macros.h (__glibcxx_check_insert_after,
__glibcxx_check_insert_range_after, __glibcxx_check_erase_after,
__glibcxx_check_erase_range_after): Add.
* include/debug/safe_iterator.h (_BeforeBeginHelper): Add.
(_Safe_iterator<>::_M_before_dereferenceable,
_Safe_iterator<>::_M_is_before_begin): Add.
(_Safe_iterator<>::_M_dereferenceable, _Safe_iterator<>::_M_is_end,
_Safe_iterator<>::_M_incrementable): Adjust.
* include/std/forward_list: Include debug/forward when _GLIBCXX_DEBUG
defined.
* include/bits/forward_list.h, forward_list.tcc: Put in std::__norm
when debug mode is active.
* testsuite/23_containers/forward_list/capacity/1.cc: Fix to compile
even in debug mode.
* testsuite/23_containers/forward_list/debug/erase_after1.cc,
erase_after2.cc, erase_after3.cc, erase_after4.cc, erase_after5.cc,
insert_after1.cc,erase_after6.cc, erase_after7.cc, insert_after2.cc,
erase_after8.cc, insert_after3.cc, erase_after9.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164717
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Wed, 29 Sep 2010 08:47:31 +0000 (08:47 +0000)]
2010-09-29 Tristan Gingold <gingold@adacore.com>
* gcc.dg/stack-usage-1.c (SIZE): Adjust for avr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164716
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Wed, 29 Sep 2010 07:34:37 +0000 (07:34 +0000)]
In gcc/:
2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
* c-parser.c (c_lex_one_token): In Objective-C, when dealing with
a CPP_NAME which is a reserved word, clearly separate cases for
OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
In gcc/c-family:
2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
* c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
(objc_is_reserved_word): Removed.
* c-common.c: Updated comments.
* c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
objc_is_reserved_word.
* stub-objc.c (objc_is_reserved_word): Removed.
In gcc/objc/:
2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_is_reserved_word): Removed.
In gcc/testsuite/:
2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/keywords-1.m: New test.
* objc.dg/keywords-2.m: New test.
* objc.dg/keywords-3.m: New test.
* obj-c++.dg/keywords-1.mm: New test.
* obj-c++.dg/keywords-2.mm: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164715
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Wed, 29 Sep 2010 02:00:09 +0000 (02:00 +0000)]
* libsupc++/hash_bytes.cc (_Hash_bytes): Replace "clength" with
"len" for "unusual sizeof(size_t)" case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164714
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 29 Sep 2010 00:54:08 +0000 (00:54 +0000)]
* configure.ac: Adjust CFI test to test assembler directly rather
than checking gcc preprocessor macro.
* configure: Rebuild.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164713
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 29 Sep 2010 00:19:06 +0000 (00:19 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164712
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Tue, 28 Sep 2010 23:33:10 +0000 (23:33 +0000)]
In gcc/:
2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
* c-parser.c (c_lex_one_token): In Objective-C, do not replace
token->value with the canonical spelling. Do exactly like C and
C++ and leave it as it is.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164708
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 28 Sep 2010 22:40:07 +0000 (22:40 +0000)]
Implement TARGET_BUILTIN_DECL for alpha.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164707
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Tue, 28 Sep 2010 22:13:12 +0000 (22:13 +0000)]
In gcc/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
* doc/standards.texi (Standards): Expanded the section on
Objective-C and Objective-C++.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164706
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Tue, 28 Sep 2010 22:01:54 +0000 (22:01 +0000)]
PR target/45800
* config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
volatile MEMs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164705
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 28 Sep 2010 21:20:32 +0000 (21:20 +0000)]
* tree.c (lvalue_kind): Rename from lvalue_p_1, make nonstatic.
(real_lvalue_p): Take const_tree.
* cp-tree.h: Adjust.
* typeck.c (lvalue_or_else): Make temporary arg a permerror.
(cp_build_addr_expr_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164704
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 28 Sep 2010 21:20:25 +0000 (21:20 +0000)]
* g++.old-deja/g++.bugs/900121_02.C: Adjust for C++0x mode.
* g++.old-deja/g++.mike/misc6.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164703
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 28 Sep 2010 21:02:38 +0000 (21:02 +0000)]
add parsing for ObjC* method & method parm attributes
gcc/cp:
Partially merged from apple/trunk branch on FSF servers:
2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
Radar 3803157 (method attributes)
* parser.c (cp_parser_objc_method_keyword_params): Handle attributes.
(cp_parser_objc_method_tail_params_opt): Likewise.
(cp_parser_objc_method_signature): Likewise.
(cp_parser_objc_method_maybe_bad_prefix_attributes): New.
(cp_parser_objc_method_prototype_list): Handle attributes.
(cp_parser_objc_method_definition_list): Likewise.
gcc/objc:
* objc-act.c (objc_add_method_declaration): Handle attributes.
(objc_start_method_definition): Likewise.
(objc_generate_cxx_ctor_or_dtor): Pass NULL attributes to ctor/dtor.
(objc_build_keyword_decl): Handle attributes.
gcc:
* c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
attributes on methods.
(c_parser_objc_method_definition): Handle attributes.
(c_parser_objc_methodproto): Likewise.
(c_parser_objc_maybe_method_attributes): New.
(c_parser_objc_method_decl): Handle attributes, add a similar diagnostic
to ObjC++ for a missing definition.
gcc/c-family:
* c-common.h: Update declarations to include attributes.
* stub-objc.c: Likewise.
testsuite:
* objc.dg/attributes/method-attribute-1.m: New.
* objc.dg/attributes/method-attribute-2.m: New.
* obj-c++.dg/attributes/method-attribute-1.m: New.
* obj-c++.dg/attributes/method-attribute-2.m: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164702
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 28 Sep 2010 20:44:58 +0000 (20:44 +0000)]
Hookize TARGET_UNWIND_INFO et al.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164701
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 28 Sep 2010 20:08:38 +0000 (20:08 +0000)]
add ObjC* class, category and protocol attribute parsers
gcc/c-family:
* c-common.h (objc_start_class_interface): Adjust prototype.
(objc_start_category_interface): Likewise.
(objc_start_protocol): Likewise.
* stub-objc.c (objc_start_protocol): Adjust for extra argument.
(objc_start_class_interface): Likewise.
(objc_start_category_interface): Likewise.
gcc/objc:
* objc-act.c (objc_start_class_interface): Handle and ignore attributes.
(objc_start_category_interface): Likewise.
(objc_start_protocol): Likewise.
gcc/cp:
* parser.c (cp_parser_objc_valid_prefix_attributes): New.
(cp_parser_declaration): Parse prefix attributes for ObjC++.
(cp_parser_objc_protocol_declaration): Handle attributes.
(cp_parser_objc_class_interface): Likewise.
(cp_parser_objc_declaration): Likewise.
gcc:
* c-parser.c (c_parser_objc_class_definition): Adjust prototype.
(c_parser_objc_protocol_definition): Likewise.
(c_parser_external_declaration): Provide dummy attribute arguments.
(c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
(c_parser_objc_class_definition): Handle attributes.
(c_parser_objc_protocol_definition): Likewise.
gcc/testsuite:
* objc.dg/attributes: New.
* objc.dg/attributes/attributes.exp: New.
* objc.dg/attributes/class-attribute-1.m: New.
* objc.dg/attributes/class-attribute-2.m: New
* objc.dg/attributes/categ-attribute-1.m: New
* objc.dg/attributes/categ-attribute-2.m: New
* objc.dg/attributes/proto-attribute-1.m: New
* obj-c++.dg/attributes: New.
* obj-c++.dg/attributes/attributes.exp: New
* obj-c++.dg/attributes/class-attribute-1.mm: New
* obj-c++.dg/attributes/class-attribute-2.mm: New
* obj-c++.dg/attributes/categ-attribute-1.mm: New
* obj-c++.dg/attributes/categ-attribute-2.mm: New
* obj-c++.dg/attributes/proto-attribute-1.mm: New
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164700
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 28 Sep 2010 19:51:38 +0000 (19:51 +0000)]
gcc/
2010-09-28 Tobias Burnus <burnus@net-b.de>
PR fortran/40569
PR fortran/40568
* toplev.h (save_decoded_options, save_decoded_options_count):
New global variables.
* toplev.c (save_decoded_options, save_decoded_options_count):
export variables.
gcc/fortran/
2010-09-28 Tobias Burnus <burnus@net-b.de>
PR fortran/40569
PR fortran/40568
* intrinsic.c (add_functions): Make compiler_version and
compiler_options CLASS_INQUIRY.
* gfortran.h (gfc_get_option_string): New prototype.
* intrinsic.texi (COMPILER_VERSION, COMPILER_OPTIONS):
Add documentation.
(C_SIZEOF): Mark as inquiry function of ISO_C_BINDING.
(ISO_FORTRAN_ENV): Refer to COMPILER_VERSION and COMPILER_OPTIONS.
(ISO_C_BINDING): Refer to C_SIZEOF.
* options.c (gfc_get_option_string): New function.
* simplify.c (gfc_simplify_compiler_options): Use it.
(gfc_simplify_compiler_version): Include compiler name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164698
138bc75d-0d04-0410-961f-
82ee72b054a4
eager [Tue, 28 Sep 2010 18:58:54 +0000 (18:58 +0000)]
Add self to MAINTAINERS for MicroBlaze CPU port.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164697
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 28 Sep 2010 18:24:54 +0000 (18:24 +0000)]
* config/i386/i386.c (ix86_supports_split_stack): Test
HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than
dwarf2out_do_cfi_asm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164696
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 28 Sep 2010 18:22:13 +0000 (18:22 +0000)]
PR target/45815
* opts.c (decode_options): Don't test whether the target supports
split stack if flag_split_stack == 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164695
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Tue, 28 Sep 2010 17:58:55 +0000 (17:58 +0000)]
In gcc/objc/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-08-23 Stuart Hastings <stuart@apple.com>
Ziemowit Laski <zlaski@apple.com>
Radar 4209854
* objc-act.c (objc_decay_parm_type): New function.
(get_arg_type_list): Decay types for all named arguments.
(objc_push_parm): Rebuild the PARM_DECL if its type has
been decayed.
In gcc/testsuite/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers (test method-20.m
from the branch renamed to method-20b.m to avoid clashes).
2005-08-23 Stuart Hastings <stuart@apple.com>
Ziemowit Laski <zlaski@apple.com>
Radar 4209854
* obj-c++.dg/method-23.mm: New.
* objc.dg/method-20.m: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164694
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Tue, 28 Sep 2010 17:39:43 +0000 (17:39 +0000)]
In gcc/objc/:
2010-09-28 Nicola Pero <nicola@nicola.brainstorm.co.uk>
* objc-act.c (encode_type): Fixed encoding enums with the next
runtime.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164693
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 28 Sep 2010 16:34:36 +0000 (16:34 +0000)]
* builtin-attrs.def (ATTR_LEAF): New attribute.
(ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
* sync-builtins.def: Annotate all builtins by leaf.
* omp-builtins.def: Annotate all builtins by leaf.
* builtins.def: Annotate relevant builtins with leaf attribute.
(ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
leaf.
* gcc-interface/utils.c (handle_leaf_attribute): New function.
(gnat_internal_attribute_tables): Add leaf.
* lto-lang.c (handle_leaf_attribute): New function.
(lto_attribute_tables): Add leaf.
* f95-lang.c (gfc_define_builtin): Make leaf.
(gfc_init_builtin_functions): Handle only ATTR_CONST_NOTHROW_LEAF_LIST
and ATTR_NOTHROW_LEAF_LIST.
(DEF_SYNC_BUILTIN): Check ATTR_CONST_NOTHROW_LEAF_LIST.
(DEF_GOMP_BUILTIN): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164689
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 28 Sep 2010 16:28:39 +0000 (16:28 +0000)]
* tree-ssa-ccp.c (fold_ctor_reference): New function.
(fold_const_aggregate_ref): Use it.
* fold-const.c (canonicalize_constructor_val): Check that we don't fold
into external static.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164688
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Tue, 28 Sep 2010 16:24:11 +0000 (16:24 +0000)]
gcc/testsuite:
PR target/44452
* gcc.target/i386/pr22076.c: Add -mno-vect8-ret-in-mem on
i?86-*-solaris2.[89], *-*-vxworks*.
* gcc.target/i386/pr22152.c: Likewise.
* gcc.target/i386/vect8-ret.c: New test.
gcc:
PR target/44452
* config/i386/i386.opt (mvect8-ret-in-mem): Define.
* config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
(ix86_solaris_return_in_memory): Remove.
* config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
* config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
(TARGET_SUBTARGET_DEFAULT): Redefine.
* config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
* config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
(TARGET_SUBTARGET_DEFAULT): Redefine.
* doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
-mvect8-ret-in-mem.
(i386 and x86-64 Options): Document -mvect8-ret-in-mem.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164687
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 28 Sep 2010 15:33:56 +0000 (15:33 +0000)]
2010-09-28 Tobias Burnus <burnus@net-b.de>
PR fortran/45756
* trans-decl.c (gfc_get_symbol_decl): Use gsym for decl of
module parameters.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164686
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Tue, 28 Sep 2010 15:25:03 +0000 (15:25 +0000)]
PR target/45807
* config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
* config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
* config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
Delete.
* config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
(rs6000_emit_prologue): Don't just create frame save info for r2,
actually save r2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164685
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 28 Sep 2010 15:20:16 +0000 (15:20 +0000)]
* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
when 8 bytes are requested.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164684
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Tue, 28 Sep 2010 15:10:17 +0000 (15:10 +0000)]
* gcc.dg/Wcxx-compat-12.c: Add -fno-short-enums.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164683
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 28 Sep 2010 10:35:53 +0000 (10:35 +0000)]
2010-09-28 Matt Austern <austern@google.com>
* testsuite/20_util/hash/chi2_quality.cc: New.
* testsuite/20_util/hash/quality.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164682
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Tue, 28 Sep 2010 10:20:11 +0000 (10:20 +0000)]
In gcc/objc/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-07-18 Ziemowit Laski <zlaski@apple.com>
Radar 4175534
* objc-act.c (objc_compare_types): A new silent comparison
mode (-4), differing from regular comparison (-3) in that
'false' is returned instead of issuing warnings.
In gcc/testsuite/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-07-18 Ziemowit Laski <zlaski@apple.com>
Radar 4175534
* obj-c++.dg/method-22.mm: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164681
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Tue, 28 Sep 2010 09:54:51 +0000 (09:54 +0000)]
In gcc/objc/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (encode_type): Do not add 'r' with the next runtime.
(encode_aggregate_within): Reorganized code to be more readable.
(encode_aggregate_fields): Updated second argument to be 'bool'
instead of 'int'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164680
138bc75d-0d04-0410-961f-
82ee72b054a4
aph [Tue, 28 Sep 2010 09:54:27 +0000 (09:54 +0000)]
2010-09-27 Andrew Haley <aph@redhat.com>
PR java/45773
* jvgenmain.c (main): Fix arg processing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164679
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Tue, 28 Sep 2010 08:32:32 +0000 (08:32 +0000)]
2010-09-28 Tristan Gingold <gingold@adacore.com>
* config/avr/avr.c (expand_prologue): Set
current_function_static_stack_size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164678
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Tue, 28 Sep 2010 07:50:02 +0000 (07:50 +0000)]
2010-09-28 Tristan Gingold <gingold@adacore.com>
* config/alpha/alpha.md: Change the initial condition of the
probing loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164677
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 28 Sep 2010 06:11:05 +0000 (06:11 +0000)]
* config/i386/sse.md (*avx_<umaxmin:code><mode>3):
Split from *avx_<maxmin:code><mode>3.
(*avx_<smaxmin:code><mode>3): Ditto.
* config/i386/i386.md (maxmin): Remove code iterator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164676
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 28 Sep 2010 00:18:01 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164675
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 28 Sep 2010 00:07:12 +0000 (00:07 +0000)]
gcc/:
* config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
requires assembler support for CFI directives.
libgcc/:
* configure.ac: Test whether assembler supports CFI directives.
* config.host: Only add t-stack and i386/t-stack-i386 to
tmake_file if libgcc_cv_cfi is "yes".
* configure: Rebuild.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164671
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 27 Sep 2010 21:29:46 +0000 (21:29 +0000)]
* dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164670
138bc75d-0d04-0410-961f-
82ee72b054a4
rwild [Mon, 27 Sep 2010 20:19:41 +0000 (20:19 +0000)]
Fix unportable shell quoting.
/:
PR bootstrap/44621
* configure.ac: Fix unportable shell quoting.
* configure: Regenerate.
config/:
* po.m4 (AM_PO_SUBDIRS): Fix unportable shell quoting.
contrib/reghunt/:
* bin/gcc-svn-ids: Fix unportable shell quoting.
* date_based/reg_periodic: Likewise.
* date_based/reg_search: Likewise.
intl/:
PR bootstrap/44621
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164668
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Mon, 27 Sep 2010 20:10:34 +0000 (20:10 +0000)]
Fixed typo in my last commit which would break bootstrap
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164667
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 27 Sep 2010 20:05:34 +0000 (20:05 +0000)]
Require lvalues as specified by the standard.
* typeck.c (lvalue_or_else): Use real_lvalue_p.
(cp_build_addr_expr_1): Split out of cp_build_unary_op.
(cp_build_addr_expr, cp_build_addr_expr_strict): Interfaces.
(decay_conversion, get_member_function_from_ptrfunc): Adjust.
(build_x_unary_op, build_reinterpret_cast_1): Adjust.
(build_const_cast_1): Adjust.
* cp-tree.h: Declare new fns.
* call.c (build_this, convert_like_real, build_over_call): Adjust.
(initialize_reference): Adjust.
* class.c (build_base_path, convert_to_base_statically): Adjust.
(build_vfn_ref, resolve_address_of_overloaded_function): Adjust.
* cvt.c (build_up_reference, convert_to_reference): Adjust.
* decl.c (register_dtor_fn): Adjust.
* decl2.c (build_offset_ref_call_from_tree): Adjust.
* except.c (initialize_handler_parm): Adjust.
* init.c (build_offset_ref, build_delete, build_vec_delete): Adjust.
* rtti.c (build_dynamic_cast_1, tinfo_base_init): Adjust.
* tree.c (stabilize_expr): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164666
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Mon, 27 Sep 2010 20:04:24 +0000 (20:04 +0000)]
Added line in ChangeLog entry that I forgot to commit in the last commit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164665
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Mon, 27 Sep 2010 19:56:32 +0000 (19:56 +0000)]
* emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check
that AFTER is not in the range FROM..TO, inclusive.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164664
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Mon, 27 Sep 2010 19:55:29 +0000 (19:55 +0000)]
PR rtl-optimization/45792
* cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr.
If not all insns are to be merged, for each edge, stash the
next candidate after the to-be-merged insns before doing the
merge, and use them for the retry at the new insertion point.
Handle CC0 targets when retrying.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164663
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 27 Sep 2010 19:48:20 +0000 (19:48 +0000)]
gcc/:
* common.opt (fsplit-stack): New option.
* opts.c (decode_options): Set flag_split_stack to final value.
* target.def (supports_split_stack): New hook.
* gcc.c (STACK_SPLIT_SPEC): Define.
(LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
* doc/invoke.texi (Option Summary): Mention -fsplit-stack.
(Code Gen Options): Document -fsplit-stack.
* doc/extend.texi (Function Attributes): Mention no_split_stack.
(Function Attributes): Document no_split_stack.
* doc/tm.texi.in (Stack Smashing Protection): Add @hook
TARGET_SUPPORTS_SPLIT_STACK.
* doc/tm.texi: Rebuild.
* function.c (thread_prologue_and_epilogue_insns): If
flag_split_stack, add split stack prologue.
* explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
* varasm.c (saw_no_split_stack): New static variable.
(assemble_start_function): Set saw_no_split_stack if the function
has the no_split_stack attribute.
(file_end_indicate_split_stack): New function.
* output.h (file_end_indicate_split_stack): Declare.
* libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
and function.
* doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
routines.
* config/i386/i386.c (ix86_option_override_internal): Don't set
expand_builtin_va_start to NULL if -fsplit-stack.
(ix86_function_regparm): Reduce local regparm by 1 for 32-bit
-fsplit-stack.
(ix86_va_start): If -fsplit-stack, get overflow pointer from
scratch register set by prologue.
(ix86_code_end): If -fsplit-stack, call
file_end_indicate_split_stack.
(ix86_supports_split_stack): New static function.
(SPLIT_STACK_AVAILABLE): Define.
(split_stack_prologue_scratch_regno): New static function.
(split_stack_fn): New static variable.
(ix86_expand_split_stack_prologue): New function.
(ix86_live_on_entry): New static function.
(ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
(output_pic_addr_const): Likewise.
(i386_asm_output_addr_const_extra): Likewise.
(ix86_expand_call): Change return type to rtx. Return the new
call instruction.
(TARGET_SUPPORTS_SPLIT_STACK): Define.
(TARGET_EXTRA_LIVE_ON_ENTRY): Define.
* config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
(split_stack_prologue, split_stack_return): New insns.
(split_stack_space_check): New insn.
* config/i386/i386.h (struct machine_function): Add
split_stack_varargs_pointer field.
* config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
* config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
* config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
Declare.
(ix86_expand_call): Update declaration.
gcc/c-family/:
* c-common.c (c_common_attribute_table): Add no_split_stack.
(handle_no_split_stack_attribute): New static function.
gcc/testsuite/:
* lib/target-supports.exp (check_effective_target_split_stack):
New procedure.
* gcc.dg/split-1.c: New test.
* gcc.dg/split-2.c: New test.
* gcc.dg/split-3.c: New test.
* gcc.dg/split-4.c: New test.
libgcc/:
* generic-morestack.h: New file.
* generic-morestack.c: New file.
* generic-morestack-thread.c: New file.
* config/i386/morestack.S: New file.
* config/t-stack: New file.
* config/i386/t-stack-i386: New file.
* config.host (i[34567]86-*-linux* and friends): Add t-stack and
i386/t-stack-i386 to tmake_file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164661
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Mon, 27 Sep 2010 19:22:13 +0000 (19:22 +0000)]
In gcc/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
* doc/objc.texi (Type encoding): Added the new 'long double' (D)
code. Added byref, which was missing in the list of codes.
Explain that enumeration values are encoded as the integer type
that the compiler uses to store them. Explain and make examples
of how 'const' interacts with pointers, and the complication of
the encoding of 'const char *'.
(Legacy type encoding): New subsection, explaining that GCC emits
incorrect type encodings for the NeXT runtime for compatibility
reasons.
(@@encode): New subsection, explaining @encode and particularly
that protocol qualifiers are not recognized inside an @encode()
expression.
(Method signatures): New subsection, explaining how method
signatures are encoded.
In gcc/objc/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/45763
PR objc/25450
PR objc/25464
* objc-act.c: Improved comments for encoding functions.
(encode_aggregate_within): For the GNU runtime, rewritten some
obsfuscated code to clarify the various cases.
(encode_aggregate): Function removed.
(encode_array): Generate an error if asked to encode an incomplete
array as part of generating instance variables. Else, when
encoding an incomplete array inside a structure, encode it as an
array of zero size.
(encode_pointer): For the GNU runtime, fixed encoding 'BOOL *' as
'^c' instead of '*'.
(encode_gnu_bitfield): Encode enumerated types exactly in the same
type as integer types instead of using a hardcoded 'i'. If asked
to encode a non-integer type as a bitfield, do not abort
compilation immediately; instead generate an error, then skip the
type.
(encode_type): Use a 'switch' instead of a sequence of 'if's.
Added a 'default' clause that gets executed if the type can not be
matched, and that encodes it as '?' (unknown) and produces a
warning. For the GNU runtime, encode enumerated types exactly in
the same way as integer types instead of using a hardcoded 'i'.
Encode long double as 'D'. Encode 128-bit integers as 'T' or 't'.
Encode C++ reference types as pointers. Call encode_vector to
encode vectors.
(encode_vector): New function.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers. I modified the
changes to be used only when compiling for the NeXT runtime.
2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
Radar 4301047
* objc-act.c (encode_type): Remove the hack.
2005-07-20 Ziemowit Laski <zlaski@apple.com>
Radar 4136935
* objc-act.c (pointee_is_readonly): New function.
(encode_pointer, encode_aggregate_within, encode_type):
Attempt to emulate GCC 3.3 when generating type encodings.
In gcc/testsuite/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/25464
* objc.dg/type-size-3.m: New test.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/45763
* objc.dg/encode-1.m: Execute the test with the GNU runtime as
well.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/25450
* objc.dg/encode-3.m: Updated for fix of encoding of enums.
* objc.dg/type-size-2.m: Same change.
* obj-c++.dg/encode-5.mm: Same change.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers. The original
Changelogs are below.
* objc.dg/encode-6.m: Execute the test only with the GNU runtime.
* objc.dg/encode-6-next.m: New file (from encode-6.m in the
branch).
* objc.dg/encode-7-next.m: New file (from encode-7.m in the
branch).
* objc.dg/encode-7-next-64bit.m: New file (from encode-7-64bit.m
in the branch).
* objc.dg/proto-qual-1.m: Test the 3.3 ABI on NeXT (from
proto-qual-1.m in the branch) and the normal ABI on GNU.
* objc.dg/threedotthree-abi-1.m: New file (from the branch). Run
the test only with the NeXT runtime.
* obj-c++/encode-1.mm: Execute the test only with the GNU runtime.
* obj-c++/encode-1-next.mm: New file (from encode-1.mm in the
branch).
* obj-c++.dg/threedotthree-abi-1.mm: New file (from the branch).
Run the test only with the NeXT runtime.
2006-03-30 Fariborz Jahanian <fjahanian@apple.com>
Radar 4492973
* objc.dg/encode-7-64bit.m: New.
* objc.dg/encode-7.m: Skip if -m64.
2005-10-19 Fariborz Jahanian <fjahanian@apple.com>
Radar 4301047
* objc.dg/proto-qual-1.m: Fix test to match 3.3 ABI
* obj-c++.dg/threedotthree-abi-1.mm: New
* objc.dg/threedotthree-abi-1.m: New
2005-07-20 Ziemowit Laski <zlaski@apple.com>
Radar 4136935
* obj-c++.dg/encode-1.mm: Tweak encodings to match fix.
* objc.dg/encode-6.m: Likewise.
* objc.dg/encode-7.m: New test case.
In libobjc/:
2010-09-26 Nicola Pero <nicola.pero@meta-innovation.com>
* encoding.c (objc_sizeof_type): Added support for vector type and
for double long types.
(objc_alignof_type): Same change.
(objc_skip_typespec): Same change.
* objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE
instead of '!' since '!' is already used for _C_VECTOR.
* objc/objc-api.h (_C_LNG_DBL): Added.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164659
138bc75d-0d04-0410-961f-
82ee72b054a4
rwild [Mon, 27 Sep 2010 19:21:19 +0000 (19:21 +0000)]
Regenerate libjava Makefile.in files.
libjava/:
* libjava/Makefile.in: Regenerate.
* libjava/gcj/Makefile.in: Regenerate.
* libjava/include/Makefile.in: Regenerate.
* libjava/testsuite/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164658
138bc75d-0d04-0410-961f-
82ee72b054a4