aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2010-10-06In gcc/: 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero24-46/+2396
In gcc/: 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> Implemented fast enumeration for Objective-C. * c-parser.c (objc_could_be_foreach_context): New. (c_lex_one_token): Recognize RID_IN keyword in a potential Objective-C foreach context. (c_parser_declaration_or_fndef): Added parameter. Accept Objective-C RID_IN keyword as terminating a declaration; in that case, return the declaration in the new parameter. (c_parser_extenral_declaration): Updated calls to c_parser_declaration_or_fndef. (c_parser_declaration_or_fndef): Same change. (c_parser_compound_statement_nostart): Same change. (c_parser_label): Same change. (c_parser_objc_methodprotolist): Same change. (c_parser_omp_for_loop): Same change. (c_parser_for_statement): Detect and parse Objective-C foreach statements. (c_parser_omp_for_loop): Updated call to check_for_loop_decls(). * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC fast enumeration parsing code to turn off the c99 error but still perform checks on the loop declarations. * c-tree.h (check_for_loop_decls): Updated declaration. * doc/objc.texi: Document fast enumeration. In gcc/c-family/: 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> Implemented fast enumeration for Objective-C. * c-common.h (objc_finish_foreach_loop): New. * stub-objc.c (objc_finish_foreach_loop): New. In gcc/objc/: 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> Implemented fast enumeration for Objective-C. * objc-act.c (build_fast_enumeration_state_template): New. (TAG_ENUMERATION_MUTATION): New. (TAG_FAST_ENUMERATION_STATE): New. (synth_module_prologue): Call build_fast_enumeration_state_template() and set up objc_enumeration_mutation_decl. (objc_create_temporary_var): Allow providing a name to temporary variables. (objc_build_exc_ptr): Updated calls to objc_create_temporary_var(). (next_sjlj_build_try_catch_finally): Same change. (objc_finish_foreach_loop): New. * objc-act.h: Added OCTI_FAST_ENUM_STATE_TEMP, OCTI_ENUM_MUTATION_DECL, objc_fast_enumeration_state_template, objc_enumeration_mutation_decl. Merge from 'apple/trunk' branch on FSF servers. 2006-04-12 Fariborz Jahanian <fjahanian@apple.com> Radar 4507230 * objc-act.c (objc_type_valid_for_messaging): New routine to check for valid objc object types. (objc_finish_foreach_loop): Check for invalid objc objects in foreach header. In gcc/testsuite/: 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> Implemented fast enumeration for Objective-C. * objc.dg/foreach-1.m: New. * objc.dg/foreach-2.m: New. * objc.dg/foreach-3.m: New. * objc.dg/foreach-4.m: New. * objc.dg/foreach-5.m: New. * objc.dg/foreach-6.m: New. * objc.dg/foreach-7.m: New. Merge from 'apple/trunk' branch on FSF servers: 2006-04-13 Fariborz Jahanian <fjahanian@apple.com> Radar 4502236 * objc.dg/objc-foreach-5.m: New. 2006-04-12 Fariborz Jahanian <fjahanian@apple.com> Radar 4507230 * objc.dg/objc-foreach-4.m: New. 2006-03-13 Fariborz Jahanian <fjahanian@apple.com> Radar 4472881 * objc.dg/objc-foreach-3.m: New. 2005-03-07 Fariborz Jahanian <fjahanian@apple.com> Radar 4468498 * objc.dg/objc-foreach-2.m: New. 2006-02-15 Fariborz Jahanian <fjahanian@apple.com> Radar 4294910 * objc.dg/objc-foreach-1.m: New In libobjc/: 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> Implemented fast enumeration for Objective-C. * Makefile.in (C_SOURCE_FILES): Added objc-foreach.c. (OBJC_H): Added runtime.h * objc-foreach.c: New file. * objc/runtime.h: New file. From-SVN: r165019
2010-10-06gcc.c-torture/execute/cmpsi-2.c : Unsigned comparisons should use Hariharan Sandanagobalane2-4/+9
unsigned values. From-SVN: r165016
2010-10-06mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.Nick Clifton3-41/+78
* config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one. (MDR_REGNUM): Define. (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register. (REG_CLASS_CONTENTS): Add MDR to ALL_REGS. (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR. (REGISTER_NAMES): Add MDR. (DWARF2_DEBUGGING_INFO): Define to 1. * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define. (F): New function. Sets RTX_FRAME_RELATED_P. (mn10300_gen_multiple_store): Use F. (expand_prologue): Use F. Use gen_movsf() to push floating point registers. (expand_epilogue): Use gen_movsf() to pop floating point registers. (mn10300_option_override): Disable combine stack adjust pass. From-SVN: r165015
2010-10-06re PR target/45901 (alpha-gnu target-specific CPP macros are broken)Thomas Schwinge2-2/+8
2010-10-06 Thomas Schwinge <thomas@schwinge.name> PR target/45901 * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS. From-SVN: r165014
2010-10-06builtins.def (BUILT_IN_CALLOC, [...]): Mark as leaf.Jakub Jelinek2-20/+28
* builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC, BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII, BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT, BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT, BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER, BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER, BUILT_IN_TOUPPER): Mark as leaf. From-SVN: r165013
2010-10-06re PR middle-end/45838 (FAIL: libgomp.c/pr34513.c execution test)Jakub Jelinek4-100/+136
PR middle-end/45838 * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START, BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START, BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START, BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START, BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK, BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST. * f95-lang.c (ATTR_NOTHROW_LEAF_LIST, ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_NOTHROW_LIST, ATTR_CONST_NOTHROW_LIST): Define. (gfc_define_builtin): Change last argument to int bitmask from bool, control addition of TREE_NOTHROW and leaf attribute as well. (DO_DEFINE_MATH_BUILTIN): Adjust callers. (gfc_init_builtin_functions): Likewise. Remove ATTR_{,CONST_}NOTHROW_LIST enum. From-SVN: r165012
2010-10-06Daily bump.GCC Administrator1-1/+1
From-SVN: r165011
2010-10-05m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.Anatoly Sokolov3-28/+36
* config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove. * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. (m68hc11_class_likely_spilled_p): New function. From-SVN: r165000
2010-10-05In gcc/: 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero17-11/+310
In gcc/: 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> * c-parser.c (c_parser_objc_method_definition): Updated comment. In gcc/cp/: 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> PR objc++/31125 * parser.c (cp_parser_objc_class_interface): If no identifier follows an @interface token, stop parsing the interface after printing an error. (cp_parser_objc_class_implementation): If no identifier follows an @implementation token, stop parsing the implementation after printing an error. 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> PR objc++/23707 * parser.c (cp_parser_objc_method_keyword_params): If the required colon is not found while parsing parameters, stop parsing them. 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> PR objc++/31126 * parser.c (cp_parser_objc_class_ivars): Do not eat the EOF or @end after detecting it. Print an error if @end is found without a '}'. (cp_parser_objc_method_prototype_list): Do not eat the EOF after detecting it. Fixed reading the next token when continuing because of an error in a method signature. Print an error if EOF is found without an '@end'. (cp_parser_objc_method_definition_list): Same change. 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> Merge from apple/trunk branch on FSF servers: 2005-10-17 Fariborz Jahanian <fjahanian@apple.com> Radar 4290840 * parser.c (cp_parser_objc_method_keyword_params): Check for valid method parameters and issue error. (cp_parser_objc_method_definition_list): Check for invalid tokens which cannot start a function definition. 2005-10-14 Fariborz Jahanian <fjahanian@apple.com> Radar 4294425 * parser.c (cp_parser_objc_message_args): Check for missing message arguments and syntax error. 2005-10-13 Fariborz Jahanian <fjahanian@apple.com> Radar 4261146 * parser.c (cp_parser_objc_class_ivars): Check for @end/eof while looking for '}'. 2005-08-15 Ziemowit Laski <zlaski@apple.com> Radar 4093475 * parser.c (cp_parser_objc_interstitial_code): Catch stray '{' and '}' tokens and issue appropriate errors. 2005-08-02 Ziemowit Laski <zlaski@apple.com> Radar 4185810 (cp_parser_statement_seq_opt): In addition to '}' and end-of-file, a statement sequence may also be terminated by a stray '@end'. In gcc/objc/: 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. 2005-10-17 Fariborz Jahanian <fjahanian@apple.com> Radar 4290840 * objc-act.c (objc_start_method_definition): Check for error_mark_node for the selector name and make a quick exit. In gcc/testsuite/: 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> PR objc++/28050 * obj-c++.dg/syntax-error-10.mm: New. 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> PR objc++/23707 * obj-c++.dg/syntax-error-9.mm: New. 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> PR objc++/31126 * obj-c++.dg/syntax-error-8.mm: New. 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. 2005-10-17 Fariborz Jahanian <fjahanian@apple.com> Radar 4290840 * obj-c++.dg/syntax-error-7.mm: New 2005-10-14 Fariborz Jahanian <fjahanian@apple.com> Radar 4294425 * obj-c++.dg/syntax-error-6.mm: New 2005-10-13 Fariborz Jahanian <fjahanian@apple.com> Radar 4261146 * obj-c++.dg/syntax-error-5.mm: New 2005-08-15 Ziemowit Laski <zlaski@apple.com> Radar 4093475 * obj-c++.dg/syntax-error-[3-4].mm: New. 2005-08-02 Ziemowit Laski <zlaski@apple.com> Radar 4185810 * obj-c++.dg/syntax-error-[1-2].mm: New. From-SVN: r164997
2010-10-05* lto.c (lto_section_with_id): Make s a const pointer.Ian Lance Taylor2-1/+5
From-SVN: r164996
2010-10-05invoke.texi (-flto-partition, [...]): Document.Jan Hubicka8-33/+438
* doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition): Document. * opts.c (decode_options): Handle lto partitions. * common.opt (flto-partition=1to1, flto-partition=balanced): New. * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New. * lto.c: Include params.h. (add_cgraph_node_to_partition, add_varpool_node_to_partition): Do refcounting in aux field. (undo_partition, partition_cgraph_node_p, partition_varpool_node_p): New functions. (lto_1_to_1_map): Simplify. (lto_balanced_map): New function. (do_whole_program_analysis): Chose proper partitioning alg. * Make-lang.in (lto.o): Add dependency on params.h From-SVN: r164995
2010-10-05cgraphunit.c (assemble_function): Output thunks and aliases before the ↵Jan Hubicka2-9/+15
function itself. * cgraphunit.c (assemble_function): Output thunks and aliases before the function itself. From-SVN: r164994
2010-10-05picochip.c (picochip_option_override): Disable exception flags for picochip.Hariharan Sandanagobalane2-0/+10
* config/picochip/picochip.c (picochip_option_override): Disable exception flags for picochip. From-SVN: r164992
2010-10-05opts-common.c (handle_option, [...]): Add diagnostic_context parameter.Joseph Myers19-49/+119
* opts-common.c (handle_option, handle_generated_option, read_cmdline_option, set_option): Add diagnostic_context parameter. Update calls among these functions. (set_option): Don't use global_dc. * opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option. (decode_options): Pass global_dc to enable_warning_as_error. (common_handle_option): Pass global_dc to enable_warning_as_error. (enable_warning_as_error): Add diagnostic_context parameter. Document parameters. Don't use global_dc. Pass diagnostic_context parameter to handle_generated_option. * opts.h (set_option, handle_option, handle_generated_option, read_cmdline_option, enable_warning_as_error): Add diagnostic_context parameter. * Makefile.in (lto-opts.o): Update dependencies. * coretypes.h (struct diagnostic_context, diagnostic_context): Declare here. * diagnostic.h (diagnostic_context): Don't declare typedef here. * gcc.c (process_command): Pass global_dc to read_cmdline_option. * langhooks-def.h (struct diagnostic_context): Don't declare here. (lhd_print_error_function, lhd_initialize_diagnostics): Declare using diagnostic_context typedef. * langhooks.c (lhd_initialize_diagnostics): Declare using diagnostic_context typedef. * langhooks.h (struct diagnostic_context): Don't declare here. (initialize_diagnostics, print_error_function): Declare using diagnostic_context typedef. * lto-opts.c: Include diagnostic.h. (lto_reissue_options): Pass global_dc to set_option. Pass DK_UNSPECIFIED not 0. * plugin.c (plugins_internal_error_function): Declare using diagnostic_context typedef. * plugin.h (struct diagnostic_context): Don't declare here. (plugins_internal_error_function): Declare using diagnostic_context typedef. c-family: * c-common.h (struct diagnostic_context): Don't declare here. (c_common_initialize_diagnostics): Declare using diagnostic_context typedef. * c-opts.c (c_common_handle_option): Pass global_dc to handle_generated_option. cp: * cp-tree.h (cxx_print_error_function, cxx_initialize_diagnostics): Declare using diagnostic_context typedef. From-SVN: r164991
2010-10-05vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.Olivier Hainque3-2/+16
* config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS. * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions. Co-Authored-By: Nicolas Roche <roche@adacore.com> From-SVN: r164988
2010-10-05re PR tree-optimization/45752 (ICE in ix86_vectorize_builtin_vec_perm_ok)Ira Rosen4-16/+141
PR tree-optimization/45752 * tree-vect-slp.c (vect_get_mask_element): Remove static variables, make them function arguments. (vect_transform_slp_perm_load): Pass new arguments to vect_get_mask_element. From-SVN: r164987
2010-10-05value-prof.c (gimple_divmod_fixed_value): Work on SSA form.Richard Guenther30-258/+375
2010-10-05 Richard Guenther <rguenther@suse.de> * value-prof.c (gimple_divmod_fixed_value): Work on SSA form. (gimple_mod_pow2): Likewise. (gimple_mod_subtract): Likewise. (gimple_ic): Likewise. (gimple_stringop_fixed_value): Likewise. * tree-profile.c (tree_init_edge_profiler): Mark profile functions nothrow and leaf. (add_abnormal_goto_call_edges): Remove. (tree_gen_edge_profiler): Work on SSA form. (tree_gen_ic_profiler): Likewise. Simplify. (do_tree_profiling): Update SSA form. (pass_tree_profile): Remove. (do_tree_profiling): Likewise. (gate_tree_profile_ipa): New function. (pass_ipa_tree_profile): New. (tree_profiling): Re-write as IPA pass. Properly drop const/pure state of instrumented functions. * passes.c (init_optimization_passes): Remove early non-SSA inlining. Move profiling after early optimizations. * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove. (pass_ipa_early_inline): Likewise. * tree-pass.h (pass_ipa_early_inline): Remove. (pass_tree_profile): Likewise. (pass_ipa_tree_profile): Declare. * gcc.dg/tree-prof/val-prof-1.c: Adjust. * gcc.dg/tree-prof/val-prof-2.c: Likewise. * gcc.dg/tree-prof/val-prof-3.c: Likewise. * gcc.dg/tree-prof/val-prof-4.c: Likewise. * gcc.dg/tree-prof/val-prof-5.c: Likewise. * gcc.dg/tree-prof/val-prof-7.c: Likewise. * gcc.dg/tree-prof/stringop-1.c: Likewise. * gcc.dg/tree-prof/stringop-2.c: Likewise. * gcc.dg/tree-prof/ic-misattribution-1.c: Likewise. * gcc.dg/tree-prof/indir-call-prof.c: Likewise. * gcc.dg/tree-prof/update-loopch.c: Likewise. * g++.dg/tree-prof/indir-call-prof.C: Likewise. * g++.dg/tree-prof/inline_mismatch_args.C: Likewise. * gcc.dg/tree-prof/tracer-1.c: Likewise. * gcc.dg/tree-ssa/inline-4.c: Likewise. * gcc.dg/tree-ssa/inline-3.c: Likewise. * gcc.dg/tree-ssa/20080530.c: Likewise. * g++.dg/tree-ssa/inline-3.C: Likewise. * g++.dg/tree-ssa/inline-1.C: Likewise. * g++.dg/tree-ssa/inline-2.C: Likewise. * gcc.dg/profile-dir-1.c: Likewise. * gcc.dg/profile-dir-2.c: Likewise. * gcc.dg/profile-dir-3.c: Likewise. From-SVN: r164986
2010-10-05s390.c (z196_cost): New.Andreas Krebbel8-486/+1336
2010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> Christian Borntraeger <Christian.Borntraeger@de.ibm.com> * gcc/config/s390/s390.c (z196_cost): New. (s390_handle_arch_option): Add -march=z196. (s390_option_override): Use the new cost function and use the z10 defaults also for z196. (legitimate_reload_constant_p): Adjust comment. (legitimate_reload_fp_constant_p): New function. (s390_preferred_reload_class): Distingiush between FP and Int constants. (preferred_la_operand_p): Avoid la with index on z196. (s390_adjust_priority): Trigger also for z196. (s390_issue_rate): Issue rate for z196 is 3. (s390_z10_fix_long_loop_prediction): Rename to ... (s390_fix_long_loop_prediction): ... this. (s390_reorg): Apply the z10 adjustments also for z196. (s390_loop_unroll_adjust): Do this also for z196. * gcc/config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196. (enum processor_flags): Add PF_Z196. (TARGET_AVOID_CMP_AND_BRANCH): New macro. (TARGET_CPU_Z196, TARGET_Z196): New macros. * gcc/config.gcc: Enable z196 for --with-arch. * gcc/config/s390/2817.md: New file. * gcc/config/s390/2084.md: New type for multiply and add. * gcc/config/s390/2097.md: Likewise. * gcc/config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN) (UNSPECV_ATOMIC_OP): New constants. (fmadddf, fmaddsf): New values for type attribute. (z196prop): New insn attribute. (cpu, cpu_facility): Add z196. (ATOMIC_Z196): New code iterator. (noxa): New code attribute. (gk): New mode attribute. (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>): Support load zero for fp constants. (fixuns_truncdddi2, fixuns_trunctddi2) (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern for z196. (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2) (popcounthi2, popcountqi2): New expander. (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2) (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>) (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New insn definition. (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly) (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc) (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc, *sub<mode>3) (*sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly, *sub<mode>3_cc) (*sub<mode>3_cc2, *sub<mode>3_cconly, *sub<mode>3_cconly2) (*anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc, *andsi3_cconly) (*andsi3_zarch, *andsi3_esa, *andhi3_zarch, *andqi3_zarch, *iordi3_cc) (*iordi3_cconly, *iordi3, *iorsi3_cc, *iorsi3_cconly, *iorsi3_zarch) (*iorhi3_zarch, *iorqi3_zarch, *xordi3_cc, *xordi3_cconly, *xordi3) (*xorsi3_cc, *xorsi3_cconly, *xorsi3, *xorhi3, *xorqi3, *<shift><mode>3) (*<shift><mode>3_and, *ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3) (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and): Support new z196 instructions. Co-Authored-By: Christian Borntraeger <Christian.Borntraeger@de.ibm.com> From-SVN: r164985
2010-10-05re PR middle-end/45877 (invalid write in gimplify_and_update_call_from_tree)Richard Guenther4-1/+167
2010-10-05 Richard Guenther <rguenther@suse.de> PR middle-end/45877 * gimple-fold.c (gimplify_and_update_call_from_tree): Handle case where gimplification optimizes away the stmt. * g++.dg/torture/pr45877.C: New testcase. From-SVN: r164984
2010-10-05[multiple changes]Arnaud Charlet4-3/+47
2010-10-05 Robert Dewar <dewar@adacore.com> * par-ch5.adb (Test_Statement_Required): Allow all pragmas in Ada 2012 mode. 2010-10-05 Pascal Obry <obry@adacore.com> * gnat_rm.texi: Fix typo. 2010-10-05 Arnaud Charlet <charlet@adacore.com> * gnat_ugn.texi: Add note about identifiers with same name and -fdump-ada-spec. From-SVN: r164983
2010-10-05[multiple changes]Arnaud Charlet8-67/+127
2010-10-05 Robert Dewar <dewar@adacore.com> * sem_ch4.adb: Minor reformatting. * a-direct.ads: Minor comment update. 2010-10-05 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Add_Internal_Interface_Entities): Removing code that is no longer required after change in New_Overloaded_Entity. * sem_ch6.adb (New_Overloaded_Entity): Code reorganization to isolate the fragment of code that handles derivations of interface primitives. Add missing dependence on global variable Inside_Freezing_Actions to ensure the correct management of internal interface entities. * sem_ch13.adb (Analyze_Freeze_Entity): Add missing increase/decrease of the global variable Inside_Freezing_Actions to ensure that internal interface entities are well handled by New_Overloaded_Entity. * sem_disp.adb (Find_Primitive_Covering_Interface): Add documentation and complete the algorithm to catch hidden primitives derived of private type that covers the interface. * sem_disp.ads (Find_Primitive_Covering_Interface): Add missing documentation. From-SVN: r164982
2010-10-05prj-util.adb, [...]: Minor reformatting.Robert Dewar9-47/+65
2010-10-05 Robert Dewar <dewar@adacore.com> * prj-util.adb, prj-util.ads, prj.ads, s-vxwext-rtp.adb, sem_ch4.adb, sem_ch7.adb, sem_res.adb, sem_type.adb: Minor reformatting. Minor code reorganization (use Nkind_In). From-SVN: r164981
2010-10-05[multiple changes]Arnaud Charlet5-99/+251
2010-10-05 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Analyze_Task_Body_Stub): Diagnose duplicate stub for task. 2010-10-05 Vincent Celier <celier@adacore.com> * gnatbind.adb: If the main library file is not for a suitable main program, change the error message. 2010-10-05 Vincent Celier <celier@adacore.com> * a-direct.ads: Minor spelling error fixes in comments. * gnat_rm.texi: Add three entries in "Implementation Defined Characteristics" for the interpretations of the Form parameters in Ada.Directories. From-SVN: r164980
2010-10-05exp_ch3.adb, [...]: Minor code reorganization.Robert Dewar15-68/+86
2010-10-05 Robert Dewar <dewar@adacore.com> * exp_ch3.adb, exp_ch5.adb, exp_disp.adb, exp_dist.adb, gnatlink.adb, makeutl.adb, par-ch6.adb, prj-dect.adb, prj-env.adb, prj-env.ads, prj-ext.adb, prj-nmsc.adb, prj-part.adb, prj-pp.ads: Minor code reorganization. Minor reformatting. From-SVN: r164979
2010-10-05[multiple changes]Arnaud Charlet13-46/+129
2010-10-05 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is an explicit dereference of an access to function, the prefix is not interpreted as a parameterless call. 2010-10-05 Ed Schonberg <schonberg@adacore.com> * exp_attr.adb: For 'Read and 'Write, use full view of base type if private. 2010-10-05 Vincent Celier <celier@adacore.com> * make.adb (Switches_Of): Allow wild cards in index of attributes Switches. * prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index of the associative array as a glob regular expression. * prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter Allow_Wildcards, defaulted to False. (Value_Of (Name, Attribute_Or_Array_Name)): Ditto * projects.texi: Document that attribute Switches (<file name>) may use wild cards in the index. 2010-10-05 Robert Dewar <dewar@adacore.com> * a-direct.adb, a-direct.ads, back_end.adb, checks.adb, einfo.adb: Minor reformatting. * debug.adb: Remove obsolete documentation for d.Z flag. From-SVN: r164978
2010-10-05vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake switch ↵Vincent Celier3-0/+30
--create-info-file=. 2010-10-05 Vincent Celier <celier@adacore.com> * vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake switch --create-info-file=. * gnat_ugn.texi: Add documentation for new gnatmake switch --source-info= From-SVN: r164977
2010-10-05[multiple changes]Arnaud Charlet24-97/+315
2010-10-05 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: Do not elaborate type definition if syntax error. 2010-10-05 Javier Miranda <miranda@adacore.com> * sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies to generate the full-qualified names of its corresponding spec. This facilitates locating the corresponing body when reading the DG output. 2010-10-05 Thomas Quinot <quinot@adacore.com> * exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use canonical name without serial number only if the helper is becoming a primitive of the type. 2010-10-05 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_DT): Minor code reorganization. 2010-10-05 Ed Schonberg <schonberg@adacore.com> * par-ch6.adb: improve recovery with extra paren in function spec. 2010-10-05 Quentin Ochem <ochem@adacore.com> * prj-tree.ads: Project_Path is now aliased. 2010-10-05 Thomas Quinot <quinot@adacore.com> * checks.adb: Minor reformatting. 2010-10-05 Eric Botcazou <ebotcazou@adacore.com> * mlib-tgt-specific-mingw.adb (No_Argument_List): Delete. (Shared_Libgcc): New aliased variable. (Shared_Libgcc_Switch): New constant. (Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler * gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc to the compiler. 2010-10-05 Vincent Celier <celier@adacore.com> * prj-part.adb (Parse_Simple_Project): When checking if a child project imports its parent project, also look in projects being extended by imported projects. 2010-10-05 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT. 2010-10-05 Javier Miranda <miranda@adacore.com> * exp_cg.adb (Slot_Number): Add support to handle aliased entities. (Generate_CG_Output): Switch -gnatd.Z is no longer needed to activate this output. 2010-10-05 Arnaud Charlet <charlet@adacore.com> * back_end.adb (Call_Back_End): Generate an error message when scil generation is enabled, and no scil back-end (by default) is available. 2010-10-05 Javier Miranda <miranda@adacore.com> * debug.adb: Update documentation because -gnatd.Z is no longer required to generate the call-graph information. 2010-10-05 Javier Miranda <miranda@adacore.com> * exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a runtime access check by an equivalent expansion that causes no problems in the VM backend. The original expansion was not good for the VM backends because when Tagged_Type_Expansion is disabled the attribute Access_Disp_Table is not available. 2010-10-05 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2 is class-wide and T1 is its specific type. 2010-10-05 Ed Schonberg <schonberg@adacore.com> * einfo.adb: Add guard to Is_String_Type to prevent cascaded errors. 2010-10-05 Vincent Celier <celier@adacore.com> * back_end.ads: Minor spelling error correction. 2010-10-05 Arnaud Charlet <charlet@adacore.com> * switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable warnings when -gnatC is specified here so that warnings can be re-enabled explicitly. (Adjust_Global_Switches): No longer suppress warnings. 2010-10-05 Vincent Celier <celier@adacore.com> * makeutl.adb: Minor reformatting. 2010-10-05 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a non-discrete type appears as an actual in a call. From-SVN: r164976
2010-10-05make.adb (Scan_Make_Arg): Take into account new switch --source-info=file.Vincent Celier8-288/+890
2010-10-05 Vincent Celier <celier@adacore.com> * make.adb (Scan_Make_Arg): Take into account new switch --source-info=file. * makeusg.adb: Add line for new switch --source-info=file. * makeutl.ads (Source_Info_Option): New constant String for new builder switch. * prj-conf.adb: Put subprograms in alphabetical order (Process_Project_And_Apply_Config): Read/write an eventual source info file, if necessary. * prj-nmsc.adb (Look_For_Sources.Get_Sources_From_Source_Info): New procedure. (Look_For_Sources): If a source info file was successfully read, get the source data from the data read from the source info file. * prj-util.adb (Source_Info_Table): New table (Source_Info_Project_HTable): New hash table (Create): New procedure (Put (File), Put_Line): New procedures (Write_Source_Info_File): New procedure (Read_Source_Info_File): New procedure (Initialize): New procedure (Source_Info_Of): New procedure (Next): New procedure (Close): When file is an out file, fail if the buffer cannot be written or if the file cannot be close successfully. (Get_Line): Fail if file is an out file * prj-util.ads (Create): New procedure (Put (File), Put_Line): New procedures (Write_Source_Info_File): New procedure (Read_Source_Info_File): New procedure (Source_Info_Data): New record type (Source_Info_Iterator): New private type (Initialize): New procedure (Source_Info_Of): New procedure (Next): New procedure * prj.ads (Project_Tree_Data): New components Source_Info_File_Name and Source_Info_File_Exists. From-SVN: r164975
2010-10-05[multiple changes]Arnaud Charlet4-13/+19
2010-10-05 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb: Fix typo. 2010-10-05 Thomas Quinot <quinot@adacore.com> * lib-writ.adb: Minor reformatting. 2010-10-05 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Access_Definition): Remove useless code. From-SVN: r164974
2010-10-05[multiple changes]Arnaud Charlet15-83/+144
2010-10-05 Emmanuel Briot <briot@adacore.com> * prj-env.adb, prj-env.ads (Set_Path): New subprogram. (Deep_Copy): Removed, not used. 2010-10-05 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Add_Internal_Interface_Entities): Code reorganization: move code that searches in the list of primitives of a tagged type for the entity that will be overridden by user-defined routines. * sem_disp.adb (Find_Primitive_Covering_Interface): Move here code previously located in routine Add_Internal_Interface_Entities. * sem_disp.ads (Find_Primitive_Covering_Interface): Update documentation * sem_ch6.adb (New_Overloaded_Entity): Add missing check on availability of attribute Alias. 2010-10-05 Ed Falis <falis@adacore.com> * s-taprop-vxworks.adb, s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-vxwext-rtp.ads: Move definition of intContext to System.OS_Interface. Add necessary variants in System.VxWorks.Extensions. 2010-10-05 Doug Rupp <rupp@adacore.com> * s-asthan-vms-alpha.adb: On VMS, a task using pragma AST_Entry exhibits a memory leak when the task terminates because the vector allocated for the AST interface is not freed. Fixed by making the vector a controlled type. From-SVN: r164972
2010-10-05prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in a "**" ↵Emmanuel Briot3-99/+87
pattern properly exists... 2010-10-05 Emmanuel Briot <briot@adacore.com> * prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in a "**" pattern properly exists, and report an error otherwise. 2010-10-05 Emmanuel Briot <briot@adacore.com> * prj-env.ads: Use GNAT.OS_Lib rather than System.OS_Lib. From-SVN: r164971
2010-10-05prj-nmsc.adb, [...] (Expand_Subdirectory_Pattern): New subprogram.Emmanuel Briot3-314/+319
2010-10-05 Emmanuel Briot <briot@adacore.com> * prj-nmsc.adb, prj-err.adb (Expand_Subdirectory_Pattern): New subprogram. Extract some code from Get_Directories, to share with the handling of aggregate projects (for the Project_Files attributes) From-SVN: r164970
2010-10-05gnatcmd.adb, [...] (Project_Search_Path): New type.Emmanuel Briot14-668/+735
2010-10-05 Emmanuel Briot <briot@adacore.com> * gnatcmd.adb, prj-proc.adb, prj-part.adb, prj-ext.adb, prj-ext.ads, switch-m.adb, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-env.adb, prj-env.ads, prj-tree.adb, prj-tree.ads (Project_Search_Path): New type. From-SVN: r164969
2010-10-05[multiple changes]Arnaud Charlet7-352/+643
2010-10-05 Eric Botcazou <ebotcazou@adacore.com> * exp_ch5.adb (Make_Field_Expr): Revert previous change (removed). 2010-10-05 Emmanuel Briot <briot@adacore.com> * prj-dect.adb, prj-nmsc.adb, prj-attr.adb, snames.ads-tmpl (Aggregate projects): added support for parsing aggregate projects. In particular, check the presence and value of the new attributes related to aggregate projects, ie Project_Files, Project_Path and External. (Check_Attribute_Allowed, Check_Package_Allowed, Rename_Obsolescent_Attributes): new subprogram, extracting code from existing subprogram to keep their sizes smaller. (Check_Aggregate_Project, Check_Abstract_Project, Check_Missing_Sources): new subprograms (Check): remove comments that duplicated either the name of the following subprogram call, or the comment on that subprogram. * prj-part.adb (Check_Extending_All_Imports): New subprogram, extracted from Parse_Single_Project. (Check_Aggregate_Imports): new subprogram. From-SVN: r164968
2010-10-05[multiple changes]Arnaud Charlet3-6/+36
2010-10-05 Vincent Celier <celier@adacore.com> * make.adb (Check): When compiling with -gnatc, recompile if the ALI file has not been generated for the current source, for example if it has been generated for the spec, but we are compiling the body. 2010-10-05 Bob Duff <duff@adacore.com> * xgnatugn.adb: Remove unused procedure. From-SVN: r164967
2010-10-05Daily bump.GCC Administrator1-1/+1
From-SVN: r164966
2010-10-05re PR debug/45849 (ICE: in emit_note_insn_var_location, at ↵Jakub Jelinek4-2/+70
var-tracking.c:7336 with -O -g) PR debug/45849 * var-tracking.c (strip_pointer_flags): New function. (emit_note_insn_var_location): If rtx_equal_p check failed, retry on locations simplified with simplify_replace_fn_rtx and strip_pointer_flags as its callback. * gcc.dg/debug/pr45849.c: New test. From-SVN: r164962
2010-10-04gimple-fold.c (static_object_in_other_unit_p): Rename to...Jan Hubicka3-23/+53
* gimple-fold.c (static_object_in_other_unit_p): Rename to... (can_refer_decl_in_current_unit_p): ... this one; reverse return value; handle comdats too. (canonicalize_constructor_val): Use it; handle function_decls correctly. (gimple_fold_obj_type_ref_known_binfo): Likewise. * gimple.c (get_base_address): Accept all kinds of decls. From-SVN: r164961
2010-10-04flags.h (g_switch_value, [...]): Remove.Joseph Myers21-100/+104
* flags.h (g_switch_value, g_switch_set): Remove. * opts.c (g_switch_value, g_switch_set): Remove. * config/g.opt (G): Add Var(g_switch_value). * config/alpha/alpha.c (alpha_handle_option): Don't handle -G here. (alpha_option_override): Check global_options_set.x_g_switch_value instead of g_switch_set. (alpha_in_small_data_p): Remove cast in comparison with g_switch_value. * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast g_switch_value to unsigned HOST_WIDE_INT. * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison with g_switch_value. (frv_handle_option): Don't handle -G here. (frv_option_override): Check global_options_set.x_g_switch_value instead of g_switch_set. Don't modify g_switch_set. (frv_in_small_data_p): Remove cast in comparison with g_switch_value. * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast g_switch_value to unsigned HOST_WIDE_INT. * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here. (ia64_option_override): Check global_options_set.x_g_switch_value instead of g_switch_set. * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): Remove. (lm32_in_small_data_p): Remove cast in comparison with g_switch_value. * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL, ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned HOST_WIDE_INT. * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here. (m32r_init): Check global_options_set.x_g_switch_value instead of g_switch_set. (m32r_in_small_data_p): Remove cast in comparison with g_switch_value. (m32r_file_start): Format g_switch_value with %d. * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT. * config/microblaze/microblaze.c (microblaze_handle_option): Don't handle -G here. (microblaze_option_override): Check global_options_set.x_g_switch_value instead of g_switch_set. * config/mips/mips.c (mips_handle_option): Don't handle -G here. (mips_option_override): Check global_options_set.x_g_switch_value instead of g_switch_set. * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here. (rs6000_file_start): Format g_switch_value with %d. (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in comparisons with g_switch_value. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check global_options_set.x_g_switch_value instead of g_switch_set. * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check global_options_set.x_g_switch_value instead of g_switch_set. * config/score/score.c (score_handle_option): Don't handle -G here. * config/score/score3.c (score3_option_override): Check global_options_set.x_g_switch_value instead of g_switch_set. * config/score/score7.c (score7_option_override): Check global_options_set.x_g_switch_value instead of g_switch_set. From-SVN: r164960
2010-10-04common.opt (fira-coalesce): Remove.Vladimir Makarov5-649/+460
2010-10-04 Vladimir Makarov <vmakarov@redhat.com> * common.opt (fira-coalesce): Remove. * doc/invoke.texi (flag_ira_coalesce): Remove. * ira-color.c (allocno_coalesced_p): Move before copy_freq_compare_func. processed_coalesced_allocno_bitmap): Ditto. (update_conflict_hard_regno_costs): Don't use ALLOCNO_FIRST_COALESCED_ALLOCNO. (allocno_cost_compare_func, print_coalesced_allocno): Remove. (assign_hard_reg): Assume no coalesced allocnos. (get_coalesced_allocnos_attributes): Remove. (bucket_allocno_compare_func): Assume no coalesced allocnos. (push_allocno_to_stack): Ditto. (remove_allocno_from_bucket_and_push): Use ira_print_expanded_allocno instead of print_coalesced_allocno. (push_allocnos_to_stack): Assume uncoalesced allocnos. (all_conflicting_hard_regs_coalesced): Ditto. Rename to all_conflicting_hard_regs. (setup_allocno_available_regs_num): Assume uncoalesced allocnos. (setup_allocno_left_conflicts_size): Ditto. (put_allocno_into_bucket): Ditto. (copy_freq_compare_func): Remove. (copy_freq_compare_func, merge_allocnos): Move before coalesced_pseudo_reg_freq_compare. coalesced_allocno_conflict_p): Ditto. (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto. Remove parameter. Assume it true. (color_allocnos): Assume uncoalesced allocnos. Use ira_print_expanded_allocno instead of print_coalesced_allocno. (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without parameter. * ira.c: Remove comment about coalescing. From-SVN: r164959
2010-10-04mips.h (target_flags_explicit): Declare for GENERATOR_FILE.Joseph Myers2-0/+11
* config/mips/mips.h (target_flags_explicit): Declare for GENERATOR_FILE. From-SVN: r164958
2010-10-04Mark linker Makefile rules for job server buildAndi Kleen14-23/+54
-fwhopr=jobserver requires telling GNU make that the linker (= lto) rules support job server, so that the necessary jobserver information is passed through. Add + to all the executable targets that run LTO for this purpose. This improves build performance with a -fwhopr=jobserver bootstrap (or BUILD_CONFIG=bootstrap-lto) significantly. I didn't change Ada because that apparently doesn't support LTO. Passes bootstrap and test suite. Ok to commit? gcc/ 2010-10-04 Andi Kleen <ak@linux.intel.com> * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov, gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule. gcc/cp/ 2010-10-04 Andi Kleen <ak@linux.intel.com> * Make-lang.in (g++, cc1plus): Add + to build rule. gcc/fortran/ 2010-10-04 Andi Kleen <ak@linux.intel.com> * Make-lang.in (gfortran, f951): Add + to build rule. gcc/java/ 2010-10-04 Andi Kleen <ak@linux.intel.com> * Make-lang.in (xgcj, jc1, jcf-dump, jvgenmain): Add + to build rule. gcc/lto/ 2010-10-04 Andi Kleen <ak@linux.intel.com> * Make-lang.in (lto1): Add + to build rule. gcc/objc/ 2010-10-04 Andi Kleen <ak@linux.intel.com> * Make-lang.in (cc1obj-dummy, cc1obj): Add + to build rule. gcc/objcp/ 2010-10-04 Andi Kleen <ak@linux.intel.com> * Make-lang.in (cc1objplus-dummy, cc1objplus): Add + to build rule. More plus fixes From-SVN: r164949
2010-10-04t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the multilib osdirname if ↵Matthias Klose3-2/+22
it exists. 2010-10-04 Matthias Klose <doko@ubuntu.com> * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the multilib osdirname if it exists. * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise. From-SVN: r164947
2010-10-04tree.c (decl_storage_duration): New.Jason Merrill3-0/+33
* tree.c (decl_storage_duration): New. * cp-tree.h: Declare it. (duration_kind): Return values. From-SVN: r164944
2010-10-04re PR middle-end/45876 (ICE: verify_gimple failed)Jakub Jelinek4-12/+26
PR middle-end/45876 * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use arg0's type or its unsigned counterpart as utype. Convert arg1 to utype unconditionally. * gcc.c-torture/compile/pr45876.c: New test. From-SVN: r164943
2010-10-04[multiple changes]Arnaud Charlet10-125/+382
2010-10-04 Vincent Celier <celier@adacore.com> * a-direct.adb (Copy_File): Interpret the Form parameter and call System.OS_Lib.Copy_File to do the work accordingly. Raise Use_Error if the Form parameter contains an incorrect value for field preserve= or mode=. * a-direct.ads (Create_Directory, Create_Path): Indicate that the Form parameter is ignored. (Copy_File): Indicate the interpretation of the Form parameter. 2010-10-04 Vincent Celier <celier@adacore.com> * make.adb (Gnatmake): When there are no foreign languages declared and a main in attribute Main of the main project does not exist or is a source of another project, fail immediately before attempting compilation. 2010-10-04 Javier Miranda <miranda@adacore.com> * exp_disp.ads (Convert_Tag_To_Interface): New function which must be used to convert a node referencing a tag to a class-wide interface type. * exp_disp.adb (Convert_Tag_To_Interface): New function. (Expand_Interface_Conversion): Replace invocation of Unchecked_Conversion by new function Convert_Tag_To_Interface. (Write_DT): Add support for null primitives. * exp_ch3.adb (Expand_N_Object_Declaration): For tagged type objects, cleanup code that handles interface conversions and avoid unchecked conversion of referenced tag components. * exp_ch5.adb (Expand_N_Assignment_Statement): Code cleanup. Avoid unrequired conversions when generating a dispatching call to _assign. * sprint.adb (Write_Itype): Fix wrong output of not null access itypes. 2010-10-04 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_N_Op_Not): Handle properly both operands when the parent is a binary boolean operation and the operand is an unpacked array. (Build_Boolean_Array_Proc_Call): If the operands are both negations, the operands of the rewritten node are the operands of the negations, not the negations themselves. From-SVN: r164942
2010-10-04expr.c (expand_assignment): Add assertion to prevent emitting null rtx for ↵Julian Brown22-34/+253
movmisalign pattern. gcc/ * expr.c (expand_assignment): Add assertion to prevent emitting null rtx for movmisalign pattern. (expand_expr_real_1): Likewise. * config/arm/arm.c (arm_builtin_support_vector_misalignment): New. (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above. (arm_vector_alignment_reachable): New. (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above. (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads. (arm_print_operand): Include alignment qualifier in %A. * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant. (movmisalign<mode>): New expander. (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New insn patterns. gcc/testsuite/ * gcc.dg/vect/vect-42.c: Use vect_element_align instead of vect_hw_misalign. * gcc.dg/vect/vect-60.c: Likewise. * gcc.dg/vect/vect-56.c: Likewise. * gcc.dg/vect/vect-93.c: Likewise. * gcc.dg/vect/no-scevccp-outer-8.c: Likewise. * gcc.dg/vect/vect-95.c: Likewise. * gcc.dg/vect/vect-96.c: Likewise. * gcc.dg/vect/vect-outer-5.c: Use quad-word vectors when available. * gcc.dg/vect/slp-25.c: Likewise. * gcc.dg/vect/slp-3.c: Likewise. * gcc.dg/vect/vect-multitypes-1.c: Likewise. * gcc.dg/vect/no-vfa-pr29145.c: Likewise. * gcc.dg/vect/vect-multitypes-4.c: Likewise. Use vect_element_align. * gcc.dg/vect/vect-109.c: Likewise. * gcc.dg/vect/vect-peel-1.c: Likewise. * gcc.dg/vect/vect-peel-2.c: Likewise. * lib/target-supports.exp (check_effective_target_arm_vect_no_misalign): New. (check_effective_target_vect_no_align): Use above. (check_effective_target_vect_element_align): New. (add_options_for_quad_vectors): New. From-SVN: r164941
2010-10-04[multiple changes]Arnaud Charlet15-230/+471
2010-10-04 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds name of entity to biased warning msg. (Analyze_Enumeration_Representation_Clause): Remove attempt to use biased rep (wrong and never worked anyway). 2010-10-04 Arnaud Charlet <charlet@adacore.com> * sem_elab.adb: Minor reformatting. 2010-10-04 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of an access_to_protected subprogram type, and convert null value into corresponding aggregate. 2010-10-04 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline. 2010-10-04 Eric Botcazou <ebotcazou@adacore.com> * make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well. * gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and AAMP. 2010-10-04 Eric Botcazou <ebotcazou@adacore.com> * sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test for N_Operator_Symbol. (Indicate_Name_And_Type): Likewise. * sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise. * sem_res.adb (Resolve): Likewise. * sem_type.adb (Add_One_Interp): Likewise. (Disambiguate): Likewise. 2010-10-04 Vincent Celier <celier@adacore.com> * osint.adb (Read_Library_Info_From_Full): If object timestamp is less than ALI file timestamp, return null. 2010-10-04 Vincent Celier <celier@adacore.com> * prj-makr.adb (Finalize): Invoke Pretty_Print with Max_Length set to 79 * prj-pp.adb (Pretty_Print): New parameter Max_Line_Length, that replaces global constant with the same name. When a line is too long, indent properly the next continuation line. * prj-pp.ads (Pretty_Print): New parameter Max_Line_Length with a range from 50 to 255, defaulted to 255, to indicate the maximum length of lines in the project file. 2010-10-04 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb (Analyze_Package_Body_Helper) <Has_Referencer>: New Check_Subprogram_Ref function and Check_Subprogram_Refs instantiation of Traverse_Func on it to look for subprogram references in a body. Call Check_Subprogram_Refs on the body of inlined subprograms at the outer level and keep clearing the Is_Public flag of subprograms as long as it returns OK. Do not look at anything else than subprograms once an inlined subprogram has been seen. From-SVN: r164940
2010-10-04[multiple changes]Arnaud Charlet5-22/+83
2010-10-04 Robert Dewar <dewar@adacore.com> * exp_cg.adb: Minor reformatting. 2010-10-04 Javier Miranda <miranda@adacore.com> * exp_cg.adb (Expand_N_Assignment_Statement): Restore tag check when the target object is an interface. * sem_disp.adb (Propagate_Tag): If the controlling argument is an interface type then we generate an implicit conversion to force displacement of the pointer to the object to reference the secondary dispatch table associated with the interface. 2010-10-04 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Set Enumeration_Rep_Expr to point to the literal, not the identifier. (Analyze_Enumeration_Representation_Clause): Improve error message for size too small for enum rep value (Analyze_Enumeration_Representation_Clause): Fix size test to use proper size (RM_Size, not Esize). From-SVN: r164939
2010-10-04[multiple changes]Arnaud Charlet4-11/+23
2010-10-04 Robert Dewar <dewar@adacore.com> * s-taprop-vxworks.adb, sem_res.adb: Minor reformatting. 2010-10-04 Javier Miranda <miranda@adacore.com> * exp_cg.adb (Write_Call_Info): Code clean up. From-SVN: r164938