summaryrefslogtreecommitdiffstats
path: root/gcc/ada/gcc-interface
Commit message (Collapse)AuthorAgeFilesLines
...
* 2012-08-06 Jose Ruiz <ruiz@adacore.com> charlet2012-08-061-3/+19
| | | | | | | | | * gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC in kernel mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190173 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_expr_real_1): Do not expand operand #1 and #2ebotcazou2012-07-251-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | of BIT_FIELD_REF for ignored results. * fold-const.c (fold_ternary_loc) <BIT_FIELD_REF>: Check that the CONSTRUCTOR has vector type before using vector accessors on it. * gimplify.c (gimplify_compound_lval): Do not gimplify operand #1 and #2 of BIT_FIELD_REF. (gimplify_expr) <BIT_FIELD_REF>: Likewise. * tree-nested.c (convert_nonlocal_reference_op) <BIT_FIELD_REF>: Do not process operand #1 and #2. (convert_local_reference_op): Likewise. * tree-ssa-pre.c (create_component_ref_by_pieces_1): Remove superfluous breaks throughout. <BIT_FIELD_REF>: Reuse operand #1 and #2 directly. * tree.c (stabilize_reference) <BIT_FIELD_REF>: Do not stabilize operand #1 and #2. (UPDATE_FLAGS): Do not consider operand #2 of BIT_FIELD_REF. (build6_stat): Delete. * tree.h (build6_stat, build6, build6_stat_loc, build6_loc): Likewise. ada/ * gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do not stabilize operand #1 and #2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189864 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-23 Tristan Gingold <gingold@adacore.com>charlet2012-07-233-139/+149
| | | | | | | | | | | | | | | * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node. 2012-07-23 Olivier Hainque <hainque@adacore.com> * gcc-interface/Makefile.in: Adjust processing of Linker_Options for VxWorks. * gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189777 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-23 Tristan Gingold <gingold@adacore.com>charlet2012-07-231-0/+1
| | | | | | | | | * gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set location on TRY_CATCH_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189769 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensureebotcazou2012-07-191-1/+12
| | | | | | | | that an object of CW type initialized to a value is sufficiently aligned for this value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189682 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do notebotcazou2012-07-191-6/+6
| | | | | | | | | look up the REP part of the base type in advance. Deal with that of the variant types. (get_rep_part): Be prepared for record types with fields. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189666 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (stmt_group_may_fallthru): New function.ebotcazou2012-07-181-6/+24
| | | | | | | | (gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the block needs to be translated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189612 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Tristan Gingold <gingold@adacore.com>charlet2012-07-161-0/+4
| | | | | | | | * decl.c (intrin_return_compatible_p): Map Address to void *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189536 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/steven2012-07-162-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * system.h (dump_file): Do not define. * tree-pass.h: Include dumpfile.h, which is a new file containing... (enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name, dump_file, dump_flags, dump_file_name, get_dump_file_info, struct dump_file_info): all of this, moved to... * dumpfile.h: Here, new file. * tree-dump.h: Include dumpfile.h, but not tree-pass.h. (dump_stmt): Remove prototype for C++ specific function. (dump_enumerated_decls): Move prototype from here... * tree-flow.h (dump_enumerated_decls): ... to here. (get_ref_base_and_extent) Move prototype from here ... * tree.h (get_ref_base_and_extent) ... to here. * tree-ssa-live.c: Do not inclde tree-pretty-print.h, because gimple-pretty-print.h is enough. Do not include tree-dump.h, include timevar.h and dumpfile.h instead. (struct numbered_tree_d, compare_decls_by_uid, dump_enumerated_decls_push, dump_enumerated_decls): Move from here ... * tree-dfa.c:(struct numbered_tree_d, compare_decls_by_uid, dump_enumerated_decls_push, dump_enumerated_decls):... to here. Do not include timevar.h. * tree.c: Do not include timevar.h. * tree-cfg.c: Do not include langhooks.h, tree-pretty-print.h, and timevar.h. (dump_cfg_stats): Use current_function_name. (gimple_cfg2vcg): Likewise. (dump_function_to_file): Likewise. * df-scan.c: Do not include tree-pass.h and timevar.h. Include dumpfile.h. (df_entry_block_bitmap_verify, df_exit_block_bitmap_verify): Do not use print_current_pass. * df-problems.c: Include dumpfile.h. Always define REG_DEAD_DEBUGGING, avoid #ifdef code, because it leads to errors in the code not selected. (df_note_compute): Do not print_rtl_with_bb here. Fix compilation bug if REG_DEAD_DEBUGGING is not 0, get_insns is not available here. * lcm.c: Include dumpfile.h. Remove obsolete include of insn-attr.h. * dojump.c (do_compare_rtx_and_jump): Remove failure printing for missing probability notes. * stmt.c: Include dumpfile.h. (emit_case_decision_tree): Re-enable printing expand details only if TDF_DETAILS. * alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c, cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c, cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c, coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c, dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c, function.c, fwprop.c, gcse.c, gimple-fold.c, gimple-pretty-print.c, gimple-ssa-strength-reduction.c, gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c, graphite-dependences.c, graphite-interchange.c, graphite-optimize-isl.c, graphite-poly.c, graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c, ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c, ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c, jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c, loop-unroll.c, loop-unswitch.c, lower-subreg.c, lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c, mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c, plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c, print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c, regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c, sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c, store-motion.c, tracer.c, trans-mem.c, tree-affine.c, tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c, tree-data-ref.c, tree-diagnostic.c, tree-dump.c, tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c, tree-mudflap.c, tree-nrv.c, tree-object-size.c, tree-optimize.c, tree-outof-ssa.c, tree-predcom.c, tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c, tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c, tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c, tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c, tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c, tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c, tree-ssa-threadedge.c, tree-ssa-threadupdate.c, tree-ssa-uncprop.c, tree-ssa-uninit.c, tree-switch-conversion.c, tree-tailcall.c, tree-vect-data-refs.c, tree-vect-loop.c, tree-vect-loop-manip.c, tree-vectorizer.c, tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c, tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h only if needed. If tree-pass.h is included, do not include timevar.h and dumpfile.h. If tree-pass.h is not included but dump_file, or dump_flags, or the TDF_* flags are used, include dumpfile.h. If gimple-pretty-print.h is included, don't include tree-pretty-print.h. Remove assorted unnecessary includes. * config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c, config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c, config/spu/spu.c, config/mep/mep.c, config/i386/i386.c: Include dumpfile.h. * config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h. * arm/t-arm, avr/t-avr, i386/t-i386, ia64/t-ia64, mep/t-mep, spu/t-spu-elf: Fix dependencies. c-family/ * c-gimplify.c: Include dumpfile.h instead of tree-dump.h. * c-ada-spec.c: Likewise. * c-dump.c (dump_stmt): Move to cp/dump.c, the only user. c/ * c-decl.c: Include dumpfile.h instead of tree-dump.h. * Make-lang.in: Fix dependencies. cp/ * dump.c (dump_stmt): Moved here from c-dump.c. * optimize.c: Include dumpfile.h instead of tree-dump.h. * class.c: Likewise. * decl2.c: Likewise. * Make-lang.in: Fix dependencies. fortran/ * f95-lang.c: Include dumpfile.h instead of tree-dump.h. * Make-lang.in: Fix dependencies. java/ * java-gimplify.c Include dumpfile.h instead of tree-dump.h * Make-lang.in: Fix dependencies. lto/ * lto.c: Do not include timevar.h. * Make-lang.in: Fix dependencies. ada/ * gcc-interface/utils.c: Include timevar.h. * Make-lang.in: Fix dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189519 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-12 Vasiliy Fofanov <fofanov@adacore.com>charlet2012-07-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches. 2012-07-12 Thomas Quinot <quinot@adacore.com> * exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb, sem_util.ads, exp_aggr.adb (Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing for reverse storage order aggregate. (Exp_Pakd.Byte_Swap): New utility routine used by... (Exp_Pakd.Expand_Bit_Packed_Element_Set, Expand_Packed_Element_Reference): For the case of a free-standing packed array with reverse storage order, perform byte swapping. (Rtsfind): Make new entities RE_Bswap_{16,32,64} available. (Freeze.Check_Component_Storage_Order): New utility routine to enforce legality rules for nested composite types whose enclosing composite has an explicitly defined Scalar_Storage_Order attribute. (Sem_Util.In_Reverse_Storage_Order_Object): Renamed from Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to array types as well. (Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge for change of scalar storage order in assignments. The Lhs and Rhs now always have the same scalar storage order. 2012-07-12 Hristian Kirtchev <kirtchev@adacore.com> * g-debpoo.adb (Allocate): Add local constant No_Element. Initialize the allocated memory chunk to No_Element. 2012-07-12 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the case of an instance of a child unit where a formal derived type DT is an extension of a type T declared in a parent unit, and the actual in the instance of the child is the type T declared in the parent instance, and that actual is not a derived type. 2012-07-12 Eric Botcazou <ebotcazou@adacore.com> Tristan Gingold <gingold@adacore.com> * system-hpux-ia64.ads: Enable ZCX by default. * gcc-interface/Makefile.in: Use alternate stack on ia64-hpux. Change soext to .so. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189439 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Call_to_gnu): Robustify test for function caseebotcazou2012-07-031-3/+2
| | | | | | | if the CICO mechanism is used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189204 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils2.c (build_simple_component_ref): Do not lookebotcazou2012-07-031-1/+3
| | | | | | | through an extension if the type contains a placeholder. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189202 138bc75d-0d04-0410-961f-82ee72b054a4
* * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention onebotcazou2012-07-033-3/+62
| | | | | | | | | | | | | | | | | | | | | the designated subprogram type and also set Is_Dispatch_Table_Entity. (Expand_Interface_Thunk): Propagate the convention on the thunk. (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on the internal view of the constructors. (Set_CPP_Constructors): Likewise. * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the convention on the function. * gcc-interface/gigi.h (is_cplusplus_method): Declare. * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall' calling convention (get_minimal_subprog_decl): Likewise. (is_cplusplus_method): New predicate. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an error on access to C++ constructor or member function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189199 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for typesebotcazou2012-07-031-1/+6
| | | | | | | attached to a TYPE_DECL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189195 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/steven2012-06-192-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * target.def (output_ident): New hook. * targhooks.h (default_asm_output_ident_directive): Add prototype. * varasm.c (assemble_asm): Only prefix a tab if the string does not already start with one. (default_asm_output_ident_directive): New function to emit .ident as a top-level asm node while parsing, or directly to asm_out_file after parsing. * toplev.c (compile_file): Print a GCC .ident with targetm.asm_out.output_ident. * doc/tm.texi.in (ASM_OUTPUT_IDENT): Remove documentation for macro. (TARGET_ASM_OUTPUT_IDENT): Add @hook for this. * doc/tm.texi: Update. * config/elfos.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/i386/djgpp.h (IDENT_ASM_OP): Remove. * config/i386/gas.h (ASM_OUTPUT_IDENT): Remove. * config/arm/aout.h (ASM_OUTPUT_IDENT): Remove. * config/sparc/sparc.h (IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/picochip/picochip.h (IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/cris/cris-protos.h (cris_asm_output_ident): Add prototype. * config/cris/cris.c (cris_asm_output_ident): New function. * config/cris/cris.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove. * config/microblaze/microblaze-protos.h (microblaze_asm_output_ident): Add prototype. * config/microblaze/microblaze.c: Include cgraph.h for add_asm_node. (microblaze_asm_output_ident): Rewrite to work similar to default_asm_output_ident_directive for front-end .idents. * config/microblaze/microblaze.h (ASM_OUTPUT_IDENT): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/mips/mips.h (ASM_OUTPUT_IDENT): Remove. * config/mips/sde.h (IDENT_ASM_OP, ASM_OUTPUT_IDENT): Remove. * config/rx/rx.c: Include cgraph.h for add_asm_node. (rx_asm_output_ident): New function, similar to default_asm_output_ident_directive, but handle AS100 syntax also, so that #ident also works for rx in AS100 syntax. (TARGET_ASM_OUTPUT_IDENT): Define. * config/rx/rx.h (IDENT_ASM_OP): Remove. * Makefile.in: Fix dependencies for c-family/c-lex.o. c-family/ * c-lex.c: Do not include output.h. (cb_ident): Try to put out .ident with targetm.asm_out.output_ident. Remove uses of ASM_OUTPUT_IDENT. ada/ * gcc-interface/trans.c: Include target.h. (gigi): Try to put out .ident with targetm.asm_out.output_ident. Remove uses of ASM_OUTPUT_IDENT. * gcc-interface/Make-lang.in: Fix dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188791 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/53592ebotcazou2012-06-153-19/+20
| | | | | | | | | | * gcc-interface/gigi.h (maybe_vector_array): Make static inline. * gcc-interface/utils.c (maybe_vector_array): Delete. * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the array object as addressable if it has vector type and is on the LHS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188653 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/53590ebotcazou2012-06-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common.opt (-fdelete-dead-exceptions): New switch. * doc/invoke.texi (Code Gen Options): Document it. * cse.c (count_reg_usage) <CALL_INSN>: Use !insn_nothrow_p in lieu of insn_could_throw_p predicate. Do not skip an insn that could throw if dead exceptions can be deleted. (insn_live_p): Likewise, do not return true in that case. * dce.c (can_alter_cfg): New flag. (deletable_insn_p): Do not return false for an insn that can throw if the CFG can be altered and dead exceptions can be deleted. (init_dce): Set can_alter_cfg to false for fast DCE, true otherwise. * dse.c (scan_insn): Use !insn_nothrow_p in lieu of insn_could_throw_ predicate. Do not preserve an insn that could throw if dead exceptions can be deleted. * function.h (struct function): Add can_delete_dead_exceptions flag. * function.c (allocate_struct_function): Set it. * lto-streamer-in.c (input_struct_function_base): Stream it. * lto-streamer-out.c (input_struct_function_base): Likewise. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark a statement that could throw as necessary if dead exceptions can be deleted. ada/ * gcc-interface/misc.c (gnat_init_options_struct): Set opts->x_flag_delete_dead_exceptions to 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188651 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-14 Jose Ruiz <ruiz@adacore.com>charlet2012-06-141-358/+104
| | | | | | | | | | | | | * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall): Use the prefix specified with the --program-prefix configure option to determine the install name of the Ada tools. (ada.all.cross): Use a for loop to iterate over the set of Ada tools instead of duplicate the same processing. Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188612 138bc75d-0d04-0410-961f-82ee72b054a4
* Revertebotcazou2012-06-131-74/+3
| | | | | | | | | | | | | 2012-05-19 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall calling convention (get_minimal_subprog_decl): Likewise. (gnat_first_param_is_class): New predicate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188512 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-121-2568/+1999
| | | | | | | | | | | | | | | | | | * gcc-interface/Make-lang.in: Update dependencies. * sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb, sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments. Minor reformatting. 2012-06-12 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that implements AI05-0296, because the actual may be overloaded. * sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here, to be applied once the actual subprogram is properly resolved. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188456 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET).hainque2012-06-111-5/+7
| | | | | | | | | | | | | | | | (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to gnatlib. (gnatlib-shared-win32): Likewise. (gnatlib-shared-darwin): Likewise. (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to gnatlib-shared-win32. libada/ * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PICFLAG). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188390 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZEebotcazou2012-06-113-65/+57
| | | | | | | | | | | | | | | | | to units before invoking allocatable_size_p on it. Remove orphaned comment. Do not use ssize_int. <E_Record_Subtype>: Traverse list in original order. Minor tweak. (allocatable_size_p): Adjust and simplify. (build_subst_list): Use consistent terminology throughout. (build_variant_list): Likewise. Traverse list in original order. (create_field_decl_from): Likewise. (copy_and_substitute_in_size): Likewise. (create_variant_part_from): Add comment about field list order. * gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int. * gcc-interface/utils2.c (build_allocator): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188382 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Typeebotcazou2012-06-111-3/+6
| | | | | | | | | instead of Is_Scalar_Type for a constant with an address clause. Do not return the underlying constant for a constant used by reference if it holds the address of a constant and an lvalue is required. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188380 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically dealebotcazou2012-06-112-7/+8
| | | | | | | | | | with external constants wrt force_global here... <E_Constant>: ...but here instead. * gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto the list of global DECLs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188379 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize onebotcazou2012-06-111-8/+11
| | | | | | | | entry only for elementary types and abort if it is too large. <E_Record_Type>: Make sure the Esize is known before using it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188378 138bc75d-0d04-0410-961f-82ee72b054a4
* * output.h (merge_weak, assemble_alias,steven2012-06-042-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | initializer_constant_valid_p, initializer_constant_valid_for_bitfield_p): Move protos from here... * tree.h: ... to here. * cgraphclones.c: Do not include output.h. * gimplify.c: Likewise. * reload.c: Likewise. * recog.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-switch-conversion.c: Likewise. * c-parser.c: Likewise. * c-typeck.c: Likewise. * Makefile.in: Fix dependencies. c-family/ * c-common.c: Do not include output.h. * c-pragma.c: Likewise. cp/ * semantics.c: Do not include output.h. * decl2.c: Likewise. * friend.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. * Make-lang.in: Fix dependencies. ada/ * gcc-interface/utils2.c: Do not include output.h. * gcc-interface/Make-lang.in: Fix dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188178 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocatematz2012-05-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | a kept temp. (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Make unreachable. * gimple-fold.c (canonicalize_constructor_val): Canonicalize COMPOUND_LITERAL_EXPR. * function.c (expand_function_start): Don't call expand_decl, instead assert that we have RTL assigned. * tree-ssa-live.c (remove_unused_locals): Clear nonlocal_goto_save_area if its backing variable is removed. * stmt.c (expand_asm_operands): Remove handling of non-lvalues as mem inputs. (expand_decl): Assert that this does nothing. * calls.c (expand_call): Don't call mark_temp_addr_taken. * c-tree.h (c_expand_decl): Remove prototype. c-family/ * c-common.h (c_expand_decl): Remove prototype. ada/ * gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187962 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.ebotcazou2012-05-261-8/+15
| | | | | | | | | | | (build_variant_list): Adjust to above renaming. (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name to the type of the variant containers. (create_variant_part_from): Likewise. Give a unique name to the type of the variant part. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187908 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (gnat_write_global_declarations): Put a nameebotcazou2012-05-201-1/+5
| | | | | | | on the dummy global variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187692 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.ebotcazou2012-05-193-9/+80
| | | | | | | | | | | | | (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall calling convention (get_minimal_subprog_decl): Likewise. (gnat_first_param_is_class): New predicate. * gcc-interface/misc.c (gnat_handle_option): Fix formatting. * gcc-interface/Makefile.in: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187676 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object atebotcazou2012-05-181-0/+8
| | | | | | | | global level with unconstrained nominal subtype and a non-fixed size, make a variable for the size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187666 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Olivier Hainque <hainque@adacore.com>charlet2012-05-151-1/+1
| | | | | | | | | * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS instead of trying to mimic it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187533 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Tristan Gingold <gingold@adacore.com>charlet2012-05-152-80/+92
| | | | | | | | | | | | | | | | | | | * fe.h (Get_RT_Exception_Name): Define. * types.ads (RT_Exception_Code): Update comment. * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New procedure to get the name of the rcheck subprograms. * a-except-2005.adb (Rcheck_xx): Rename. * a-except.adb Likewise, but also keep the old Rcheck_nn routines for bootstrap. * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check instead of __gnat_rcheck_10. * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name to create the __gnat_rcheck routines name. * gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187517 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | PR 53063 c-family/ * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init, Wreorder): Use LangEnabledBy. * c-opts.c (c_common_handle_option): Do not enable them explicitly. Call lang-specific generated functions. (c_common_post_options): Do not set them here. gcc/ * doc/options.texi: (LangEnabledBy): Document it. * optc-gen.awk: Handle LangEnabledBy. * opth-gen.awk: Generate declaration for lang-specific functions. * opt-read.awk: Record lang numbers. * opt-functions.awk (flag_set_p): Ignore the arguments of flags. (lang_sanitized_name): New. ada/ * gcc-interface/misc.c: Include opts.h and options.h before tm.h. (gnat_handle_option): Call lang-specific generated function. fortran/ * options.c (gfc_handle_option): Call lang-specific generated function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187462 138bc75d-0d04-0410-961f-82ee72b054a4
* * attribs.c (decl_attributes): Avoid emitting a warning ifbernds2012-05-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ATTR_FLAG_BUILT_IN. * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Use lowercase for rtx codes. Document meaning of sets inside CALL_INSN_FUNCTION_USAGE. * c-family/c-common.c (DEF_ATTR_STRING): Define and undefine as necessary. * builtin-attrs.def (DEF_ATTR_FOR_STRING): Define. Use it to define a string "1". (ATTR_RET1_NOTHROW_NONNULL_LEAF): New attr definition. * builtins.def (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCPY): Use it for these functions. * postreload.c (reload_combine): Deal with SETs inside CALL_INSN_FUNCTION_USAGE. * caller-save.c (setup_save_areas, save_call_clobbered_regs): Look for REG_RETURNED notes and use a cheap restore if possible. * ira-int.h (struct ira_allocno): New member cheap_calls_crossed_num. (ALLOCNO_CHEAP_CALLS_CROSSED_NUM): New macro. * ira-build.c (ira_create_allocno, create_cap_allocno, propagate_allocno_info, propagate_some_info_from_allocno, copy_info_to_removed_store_destination, ira_flattening): Handle it. * ira-lives.c (pseudo_regno_single_word_and_live_p, find_call_crossed_cheap_reg): New static functions. (process_bb_node_lives): Look for SETs in CALL_INSN_FUNCTION_USAGE, and set ALLOCNO_CHEAP_CALLS_CROSSED_NUM if possible. Also make a REG_RETURNED note in that case. * ira.c (setup_reg_renumber): Change assert to allow cases where allocnos only cross calls for which they are cheap to restore. * ira-costs.c (ira_tune_allocno_costs): Compare ALLOCNO_CALLS_CROSSED_NUM to ALLOCNO_CHEAP_CALLS_CROSSED_NUM rather than 0. * reg-notes.def (REG_RETURNED): New note. * cse.c (cse_insn): Likewise. * sched-deps.c (sched_analyze_insn): Likewise. * expr.c (init_block_move_fn): Set a "fn spec" attribute. * calls.c (decl_return_flags): New static function. (expand_call): Generate a SET in CALL_INSN_FUNCTION_USAGE for functions that return one of their arguments. * lto/lto-lang.c (handle_fnspec_attribute): New static function. (lto_attribute_table): Add "fn spec". (DEF_ATTR_STRING): Define and undefine along with the other macros. * regcprop.c (struct kill_set_value_data): New. (kill_set_value): Interpret data as a pointer to such a struct. Do nothing if the caller wants the register to be ignored. (copyprop_hardreg_forward_1): Handle SETs in CALL_INSN_FUNCTION_USAGE. testsuite/ * gcc.target/i386/retarg.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187459 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-131-2/+2
| | | | | | | | | | | gcc/ * optc-gen.awk: Error instead of warning for conflicting help. ada/ * gcc-interface/lang.opt (I): Comment out help text with no effect. (nostdinc): Comment out help text with no effect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187437 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.ebotcazou2012-05-121-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187428 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-111-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 53063 gcc/ * doc/options.texi (EnabledBy): Document * opts.c: Include opts.h and options.h before tm.h. (finish_options): Do not handle some sub-options here... (common_handle_option): ... instead call common_handle_option_auto here. * optc-gen.awk: Handle EnabledBy. * opth-gen.awk: Declare common_handle_option_auto. * common.opt (Wuninitialized): Use EnabledBy. Delete Init. (Wmaybe-uninitialized): Likewise. (Wunused-but-set-variable): Likewise. (Wunused-function): Likewise. (Wunused-label): Likewise. (Wunused-value): Likewise. (Wunused-variable): Likewise. * opt-read.awk: Create opt_numbers array. ada/ * gcc-interface/misc.c (gnat_parse_file): Move before ... (gnat_handle_option): ... this. Use handle_generated_option. c-family/ * c-opts.c (c_common_handle_option): Use handle_generated_option to enable sub-options. fortran/ * options.c: Include diagnostics.h instead of diagnostics-core.h. (set_Wall): Do not see warn_unused here. (gfc_handle_option): Set it here using handle_generated_option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187403 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix copyright dateebotcazou2012-05-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187371 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-10 Richard Guenther <rguenther@suse.de>rguenth2012-05-101-4/+1
| | | | | | | | | | | | | | | | | | | | | | | ada/ * gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use. c-family/ * c-common.c (c_sizeof_or_alignof_type): Remove assert and adjust commentary about TYPE_IS_SIZETYPE types. * tree.h (TYPE_IS_SIZETYPE): Remove. * fold-const.c (int_const_binop_1): Remove TYPE_IS_SIZETYPE use. (extract_muldiv_1): Likewise. * gimple.c (gtc_visit): Likewise. (gimple_types_compatible_p): Likewise. (iterative_hash_canonical_type): Likewise. (gimple_canonical_types_compatible_p): Likewise. * gimplify.c (gimplify_one_sizepos): Likewise. * print-tree.c (print_node): Likewise. * stor-layout.c (initialize_sizetypes): Do not set TYPE_IS_SIZETYPE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187363 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.ebotcazou2012-05-061-0/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187210 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renamingebotcazou2012-05-061-0/+8
| | | | | | | | case, use the padded type if the renamed object has an unconstrained type with default discriminant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187209 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariantebotcazou2012-05-061-110/+149
| | | | | | | | | | conditions with only one bound. (Raise_Error_to_gnu): Likewise.  New function extracted from... (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here.  Call above function in regular mode only. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187208 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/misc.c (gnat_post_options): Disable caret by default.ebotcazou2012-05-061-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187207 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (make_packable_type): Declare.ebotcazou2012-05-065-756/+839
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (make_type_from_size): Likewise. (relate_alias_sets): Likewise. (maybe_pad_type): Adjust. (init_gnat_to_gnu): Delete. (destroy_gnat_to_gnu): Likewise. (init_dummy_type): Likewise. (destroy_dummy_type): Likewise. (init_gnat_utils): Declare. (destroy_gnat_utils): Likewise. (ceil_pow2): New inline function. * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2. <object>: Pass True for the final processing of alignment and size. <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return type if necessary. (round_up_to_align): Delete. (ceil_alignment): Likewise. (relate_alias_sets): Move to... (make_aligning_type): Likewise. (make_packable_type): Likewise. (maybe_pad_type): Likewise. (make_type_from_size): Likewise. * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete. (struct pad_type_hash): New type. (pad_type_hash_table): New static variable. (init_gnat_to_gnu): Merge into... (init_dummy_type): Likewise. (init_gnat_utils): ...this. New function. (destroy_gnat_to_gnu): Merge into... (destroy_dummy_type): Likewise. (destroy_gnat_utils): ...this. New function. (pad_type_hash_marked_p): New function. (pad_type_hash_hash): Likewise. (pad_type_hash_eq): Likewise. (relate_alias_sets): ...here. (make_aligning_type): Likewise. (make_packable_type): Likewise. (maybe_pad_type): Likewise. Change same_rm_size parameter into set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it is complete and has constant size, canonicalize it. Bail out earlier if a warning need not be issued. (make_type_from_size): Likewise. <INTEGER_TYPE>: Bail out if size is too large (gnat_types_compatible_p): Do not deal with padded types. (convert): Compare main variants for padded types. * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils. (gnat_to_gnu): Do not convert at the end for a call to a function that returns an unconstrained type with default discriminant. (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects. * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise. Do not use the padded type if it is BLKmode and the inner type is non-BLKmode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187206 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ada/charlet2012-05-021-21/+9
| | | | | | | | | | | | | | | | 2012-05-02 Pascal Obry <obry@adacore.com> Revert 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com> libada/ 2012-05-02 Pascal Obry <obry@adacore.com> Revert 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com> git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187047 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (ld_plugin_symbol_resolution_names): Move to symtab.chubicka2012-04-301-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cgraph_asm_nodes, cgraph_asm_last_node): Move to cgraphunit.c (cgraph_add_to_same_comdat_group): Remove. (cgraph_add_asm_node): Move to cgraphunit.c. (cgraph_make_decl_local): Move to symtab.c (cgraph_make_node_local_1): Update. (cgraph_can_remove_if_no_direct_calls_and): Update. (used_from_object_file_p): Update. (resolution_used_from_other_file_p): Move to symtab.c (cgraph_used_from_object_file_p): move to symtab.c (verify_cgraph_node): Verify same comdat groups. * cgraph.h (cgraph_asm_node): Rename to ... (asm_node): ... this one. (cgraph_asm_nodes): Rename to ... (asm_nodes): ... this one. (symtab_add_to_same_comdat_group): New function. (symtab_dissolve_same_comdat_group_list): New function. (symtab_used_from_object_file_p): Declare. (symtab_make_decl_local): Declare. (cgraph_add_to_same_comdat_group): Remove. (cgraph_add_asm_node): Remove. (cgraph_used_from_object_file_p, varpool_used_from_object_file_p): Remove. (cgraph_finalize_compilation_unit): Rename to ... (finalize_compilation_unit): ... this one. (cgraph_optimize): Rename to .... (compile): ... this one. (add_asm_node): Declare. (fixup_same_cpp_alias_visibility): Declare. (cgraph_make_decl_local): Remove. (varpool_assemble_pending_decls): Rename to ... (varpool_output_variables): ... this one. (varpool_remove_unreferenced_decls): Remove. * ipa-inline-transform.c (clone_inlined_nodes): Dissolve comdat groups. (preserve_function_body_p): Make static. * toplev.c (compile_file): Update comments; update. * cgraphunit.c: Update comments. (cgraph_expand_all_functions): Rename to ... (expand_all_functions): ... this one; update. (cgraph_mark_functions_to_output): Rename to ... (mark_functions_to_output): ... this one; cleanup. (cgraph_output_pending_asms): Remove prototype. (asm_nodes, asm_last_node): New static vars. (cgraph_process_new_functions): Update. (cgraph_reset_node): Cleanup; add comment. (cgraph_add_new_function): Update. (cgraph_output_pending_asms): Rename to ... (output_asm_statements): ... this one. (add_asm_node): New function. (fixup_same_cpp_alias_visibility): New function based on code in cgraph_analyze_function. (cgraph_analyze_function): Use it. (cgraph_order_sort): Update. (cgraph_output_in_order): Update. (cgraph_function_versioning): Update. (cgraph_optimize): Rename to ... (compile): ... this one; initialize streamer hooks here. (cgraph_finalize_compilation_unit): Rename to ... (finalize_compilation_unit): ... this one; do not initialize streamer hook here. * lto-streamer-out.c (lto_output_toplevel_asms): Update. * dwarf2out.c: Update ocmment. * optimize.c (maybe_clone_body): Use symtab_add_to_same_comdat_group. * method.c (use_thunk): Likewise. * semantics.c (maybe_add_lambda_conv_op): Likewise. * decl2.c (maybe_emit_vtables): Likewise. (cp_write_global_declarations): Use finalize_compilation_unit. * parser.c (cp_parser_asm_definition): Use add_asm_node. * lto-streamer-in.c (lto_input_toplevel_asms): Use add_asm_node * c-decl.c (c_write_global_declarations): Use finalize_compilation_unit. * langhooks.c (write_global_declarations): Update. * ipa.c (cgraph_externally_visible_p): Update. (dissolve_same_comdat_group_list): Remove. (function_and_variable_visibility): Update. * symtab.c: Inlcude lto-streamer.h and rtl.h (ld_plugin_symbol_resolution_names): New. (symtab_add_to_same_comdat_group): New. (symtab_dissolve_same_comdat_group_list): New. (resolution_used_from_other_file_p): Move here from cgraph.c (symtab_used_from_object_file_p): New. (symtab_make_decl_local): New. * passes.c (register_pass): Update comments. * c-parser.c (c_parser_asm_definition): Update. * varpool.c (varpool_analyze_node): Use fixup_same_cpp_alias_visibility. (varpool_remove_unreferenced_decls): Make static. (varpool_assemble_pending_decls): Rename to ... (varpool_output_variables): ... this one; call varpool_remove_unreferenced_decls. (varpool_used_from_object_file_p): Remove. * gogo-tree.cc (Gogo::write_globals): Use finalize_compilation_unit. * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update comment. (gnat_write_global_declarations): Use finalize_compilation_unit. * f95-lang.c (gfc_finish): Update comments. * lto.c (lto_main): Use compile (). * lto-partition.c (partition_cgraph_node_p): Use symtab_used_from_object_file_p. (partition_varpool_node_p): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186998 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,ebotcazou2012-04-301-22/+42
| | | | | | | | | | | | | | do not adjust the size of a tagged type if there is a representation clause on it. Otherwise, round the adjustment up to the alignment of the first field and use the appropriate helper routine. (maybe_pad_type): Do not warn in type annotation mode on a tagged type. (gnat_to_gnu_field): Do not error out under the same circumstances. (annotate_rep): In type annotation mode, do not adjust the offset of components of a tagged type with representation clause. Otherwise, round the adjustment up to the alignment of the first field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186961 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (ix86_handle_struct_attribute): Use the properebotcazou2012-04-301-0/+13
| | | | | | | | | | | predicate to discriminate types. ada/ * gcc-interface/utils.c (finish_record_type): Force the traditional GCC layout for bitfields on the type if it is packed or has a representation clause and an alternate layout is available. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186958 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (mark_out_of_scope): Delete.ebotcazou2012-04-304-124/+106
| | | | | | | | | | | | | | | | | | | | (destroy_gnat_to_gnu): Declare. (destroy_dummy_type): Likewise. * gcc-interface/decl.c (mark_out_of_scope): Delete. * gcc-interface/utils.c (destroy_gnat_to_gnu): New function. (destroy_dummy_type): Likewise. * gcc-interface/trans.c (gnat_validate_uc_list): New variable. (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list after the translation is completed.  Call destroy_gnat_to_gnu and destroy_dummy_type at the end. (Subprogram_Body_to_gnu): Do not call mark_out_of_scope. (gnat_to_gnu) <N_Block_Statement>: Likewise. <N_Validate_Unchecked_Conversion>: Do not process the node, only push it onto gnat_validate_uc_list. (validate_unchecked_conversion): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186956 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud