aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2012-05-17lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor ↵Jan Hubicka12-35/+123
over decl without. * lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl without. * cgraph.c (cgraph_remove_node): Clear also body of unanalyzed nodes. * cgraph.h (varpool_can_remove_if_no_refs): Handle external correctly. * cgraphunit.c (process_function_and_variable_attributes): Finalize extrnal decls. (mark_functions_to_output): Also accept bodies for functions with clones. (output_in_order): Skip external vars. * lto-cgraph.c (lto_output_node): External functions are never in other partition. (lto_output_varpool_node): Likewise. * lto-streamer-out.c (lto_write_tree): Always use error_mark_nodes for forgotten initializers. * ipa.c (process_references): Handle external vars. (symtab_remove_unreachable_nodes): Update to handle external vars. (varpool_externally_visible_p): External vars are externally visible. * gimple-fold.c (can_refer_decl_in_current_unit_p): Update. * varpool.c (varpool_remove_node): Remove constructor. (decide_is_variable_needed): Handle externals. (varpool_remove_unreferenced_decls): Likewise. * lto-partition.c (add_references_to_partition): Handle external vars. (partition_varpool_node_p): Likewise. (lto_promote_cross_file_statics): Do not promote externals. From-SVN: r187631
2012-05-17re PR c++/53371 (rvalue reference type as exception-declaration)Paolo Carlini4-14/+64
/cp 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53371 * except.c (is_admissible_throw_operand): Rename to is_admissible_throw_operand_or_catch_parameter and handle catch parameter too. (expand_start_catch_block): Use it. (build_throw): Adjust. /testsuite 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53371 * g++.dg/cpp0x/catch1.C: New. From-SVN: r187630
2012-05-17re PR objc++/53388 (Removal of build_min_nt breaks bootstrap for objc++)Paolo Carlini2-4/+10
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> PR objc++/53388 * objc-act.c (objc_get_class_reference, objc_build_message_expr): Use build_min_nt_loc. From-SVN: r187629
2012-05-17c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.Manuel López-Ibáñez6-30/+33
2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org> c-family/ * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here. * c-opts.c (c_common_handle_option): Do not handle explicitly Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors. gcc/ * opts.c (common_handle_option): -pedantic-errors enables -Wpedantic. (enable_warning_as_error): Do not special case Wuninitialized. * optc-gen.awk: Add sanity checks. From-SVN: r187628
2012-05-17re PR c++/44516 (improve error message when no matching operator)Paolo Carlini13-76/+151
gcc/cp 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44516 * typeck.c (build_x_array_ref, build_x_conditional_expr, build_x_compound_expr, build_x_modify_expr): Add location_t parameter. (finish_class_member_access_expr, build_x_indirect_ref, build_x_binary_op, build_x_compound_expr_from_list, build_x_compound_expr_from_vec): Adjust callers. * tree.c (build_min_nt_loc): New. (build_min_nt): Remove. * typeck2.c (build_x_arrow): Adjust callers. * pt.c (tsubst_qualified_id, tsubst_omp_for_iterator, tsubst_copy_and_build): Likewise. * semantics.c (finish_mem_initializers, handle_omp_for_class_iterator, finish_omp_atomic): Likewise. * decl2.c (grok_array_decl, build_anon_union_vars): Adjust. * parser.c (cp_parser_question_colon_clause, cp_parser_assignment_expression, cp_parser_expression, cp_parser_template_id, cp_parser_omp_for_loop): Likewise. * cp-tree.h: Update. gcc/testsuite 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44516 * g++.dg/parse/error48.C: New. * g++.dg/template/crash89.C: Adjust dg-error line numbers. * g++.old-deja/g++.robertl/eb109.C: Add column info to dg-error string. libstdc++ 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44516 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust dg-error line number. From-SVN: r187627
2012-05-17ipa-reference.c (is_proper_for_analysis): Do not check flags that might ↵Jan Hubicka2-15/+35
change as result of global optimization. * ipa-reference.c (is_proper_for_analysis): Do not check flags that might change as result of global optimization. (analyze_function): Do not check analyzed and externally_visible flags; be happy about address dereferences. (propagate): Prune all_module_statics so it really contains just statics; prune all the local summaries. (ipa_reference_write_optimization_summary): Simplify. From-SVN: r187626
2012-05-17m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm.Kwok Cheung Yeung4-1/+32
* config/m68k/m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm. * config/m68k/m68k-tables.opt: Regenerated. * doc/invoke.texi (M680x0 Options): Document. From-SVN: r187625
2012-05-17[multiple changes]Patrick Marlier4-1/+26
2012-05-16 Dave Boutcher <daveboutcher@gmail.com> Patrick Marlier <patrick.marlier@gmail.com> * trans-mem.c (ipa_tm_transform_clone): Transform functions with indirect calls. testsuite/ 2012-05-16 Patrick Marlier <patrick.marlier@gmail.com> * gcc.dg/tm/indirect-2.c: New test. From-SVN: r187621
2012-05-17Daily bump.GCC Administrator1-1/+1
From-SVN: r187620
2012-05-16Regenerate configure files for libtool.m4 changeH.J. Lu2-3/+14
boehm-gc/ * configure: Regenerated. gcc/ * configure: Regenerated. libatomic/ * configure: Regenerated. libffi/ * configure: Regenerated. libgfortran/ * configure: Regenerated. libgomp/ * configure: Regenerated. libitm/ * configure: Regenerated. libjava/classpath/ * configure: Regenerated. libjava/ * configure: Regenerated. libmudflap/ * configure: Regenerated. libobjc/ * configure: Regenerated. libquadmath/ * configure: Regenerated. libssp/ * configure: Regenerated. libstdc++-v3/ * configure: Regenerated. lto-plugin/ * configure: Regenerated. zlib/ * configure: Regenerated. From-SVN: r187616
2012-05-16gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under GIMPLE_ASSIGN.Andrew Pinski2-6/+15
2012-05-16 Andrew Pinski <apinski@cavium.com> * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under GIMPLE_ASSIGN. From-SVN: r187608
2012-05-16Fix var tracking ICE due to reorg.David S. Miller2-0/+25
If during reorg we delete a code label, and as a result we decide to delete all the code following that label, we hit this condition in jump.c:delete_related_insns(): if (was_code_label && prev && BARRIER_P (prev)) which passes and then we proceed to delete insns until we hit a non-deleted code label. During this traversal, we can end up deleting a CALL, but in doing so we will leave the var tracking note for the call arguments around. Later in dwarf2_var_location() we will ICE, because we can't find the CALL when we search backwards for it. The note searching scheme in the fix below is cribbed from code in try_split() which has to handle a similar problem. gcc/ * jump.c (delete_related_insns): If we remove a CALL, make sure we delete it's NOTE_INSN_CALL_ARG_LOCATION note too. From-SVN: r187606
2012-05-16re PR tree-optimization/53217 (internal compiler error: verify_ssa failed)Bill Schmidt4-3/+108
gcc: 2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/53217 * tree-ssa-reassoc.c (bip_map): New static variable. (possibly_move_powi): Move feeding multiplies with __builtin_powi call. (attempt_builtin_powi): Save feeding multiplies on a stack. (reassociate_bb): Create and destroy bip_map. gcc/testsuite: 2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/53217 * gfortran.dg/pr53217.f90: New test. From-SVN: r187595
2012-05-16Makefile.tpl (gcc-no-fixedincludes): Rename into ...Olivier Hainque2-1/+52
toplevel/ * Makefile.tpl (gcc-no-fixedincludes): Rename into ... (gcc-install-no-fixedincludes): Now forwarder to local target in gcc/ (install-no-fixedincludes): Adjust accordingly. * Makefile.in: Regenerate. gcc/ * Makefile.in (install-no-fixedincludes): New target, former toplevel gcc-no-fixedincludes. Stash "include-fixed" in addition to "include". Add comments and improve stamp preservation across the whole sequence. (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h. From-SVN: r187594
2012-05-16tree-inline.c (insert_init_stmt): Do not call mark_symbols_for_renaming.Richard Guenther2-12/+27
2012-05-16 Richard Guenther <rguenther@suse.de> * tree-inline.c (insert_init_stmt): Do not call mark_symbols_for_renaming. (setup_one_parameter): Avoid initializing unused parameters. (declare_return_variable): Properly handle DECL_BY_REFERENCE return vars in SSA form. From-SVN: r187593
2012-05-16tree-flow.h (get_virtual_var): Remove.Richard Guenther3-24/+5
2012-05-16 Richard Guenther <rguenther@suse.de> * tree-flow.h (get_virtual_var): Remove. * tree-dfa.c (get_virtual_var): Likewise. From-SVN: r187592
2012-05-16tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only ↵Richard Guenther4-34/+11
bitmap of new names. 2012-05-16 Richard Guenther <rguenther@suse.de> * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only bitmap of new names. (slpeel_tree_peel_loop_to_edge): Likewise. Do not set CFG hooks. * tree-flow.h (ssa_names_to_replace): Remove. * tree-into-ssa.c (ssa_names_to_replace): Likewise. From-SVN: r187591
2012-05-16re PR tree-optimization/53364 (Wrong code generation)Richard Guenther4-2/+49
2012-05-16 Richard Guenther <rguenther@suse.de> PR tree-optimization/53364 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly detect a view-conversion of the decl. * g++.dg/torture/pr53364.C: New testcase. From-SVN: r187590
2012-05-16re PR testsuite/52641 (Test cases fail for 16-bit int targets)Georg-Johann Lay4-0/+28
PR testsuite/52641 * gcc.dg/pr52549.c: Fix test for long != void* * gcc.c-torture/execute/pr52979-1.x: New file. * gcc.c-torture/execute/pr52979-2.x: New file. From-SVN: r187588
2012-05-16PR preprocessor/7263 - Avoid pedantic warnings on system headers macro tokensDodji Seketeli26-207/+558
Now that we track token locations accross macro expansions, it would be cool to be able to fix PR preprocessor/7263 for real. That is, consider this example where we have a system header named header.h like this: #define _Complex __complex__ #define _Complex_I 1.0iF and then a normal C file like this: #include "header.h" static _Complex float c = _Complex_I; If we compile the file with -pedantic, the usages of _Complex or _Complex_I should not trigger any warning, even though __complex__ and the complex literal are extensions to the standard C. They shouldn't trigger any warning because _Complex and _Complex_I are defined in a system header (and expanded in normal user code). To be able to handle this, we must address two separate concerns. First, warnings about non-standard usage of numerical literals are emitted directly from within libcpp. So we must teach libcpp's parser for numerical literals to use virtual locations, instead of the spelling location it uses today. Once we have that, as the diagnostics machinery already knows how to avoid emitting errors happening on tokens that come from system headers, we win. Second, there is the issue of tracking locations for declaration specifiers, like the "_Complex" in the declaration: static _Complex float c; For that, we need to arrange for each possible declaration specifier to have its own location, because otherwise, we'd warn on e.g, on: _Complex float c; but not on: static _Complex float c; So this patch addresses the two concerns above. It's actually a follow-up on an earlier patch[1] I wrote as part of my initial work on virtual locations. We then agreed[2] that the second concern was important to address before the patch could get a chance to go in. [1]: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00957.html [2]: http://gcc.gnu.org/ml/gcc-patches/2011-10/msg00264.html Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk. libcpp/ PR preprocessor/7263 * include/cpplib.h (cpp_classify_number): Take a location parameter. * expr.c (SYNTAX_ERROR_AT, SYNTAX_ERROR2_AT): New diagnostic macros that take a location parameter. (cpp_classify_number): Take a (virtual) location parameter. Use it for diagnostics. Adjust comments. (eval_token): Take a location parameter. Pass it to cpp_classify_number and to diagnostic routines. (_cpp_parse_expr): Use virtual locations of tokens when parsing expressions. Pass a virtual location to eval_token and to diagnostic routines. gcc/c-family/ PR preprocessor/7263 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call to cpp_classify_number. For diagnostics, use the precise location instead of the global input_location. gcc/ PR preprocessor/7263 * c-tree.h (enum c_declspec_word): Declare new enum. (struct c_declspecs::locations): New member. (declspecs_add_qual, declspecs_add_scspec) (declspecs_add_addrspace, declspecs_add_alignas): Take a new location parameter. * c-decl.c (build_null_declspecs): Initialize the new struct c_declspecs::locations member. (declspecs_add_addrspace): Take a location parameter for the address space. Store it onto declaration specifiers. (declspecs_add_qual): Likewise, take a location parameter for the qualifier. (declspecs_add_type): Likewise, take a location parameter for the type specifier. (declspecs_add_scspec): Likewise, take a location parameter for the storage class specifier. (declspecs_add_attrs): Likewise, take a location parameter for the first attribute. (declspecs_add_alignas): Likewise, take a location parameter for the alignas token. (finish_declspecs): For diagnostics, use the location of the relevant declspec, instead of the global input_location. * c-parser.c (c_parser_parameter_declaration): Pass the precise virtual location of the declspec to the declspecs-setters. (c_parser_declspecs): Likewise. Avoid calling c_parser_peek_token repeatedly. gcc/cp/ PR preprocessor/7263 * cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all the possible declarator specifiers so far. (struct cp_decl_specifier_seq::locations): Declare new member. (cp_decl_specifier_seq::{specs, type_location}): Remove. (decl_spec_seq_has_spec_p): Declare new function. * parser.c (cp_parser_check_decl_spec): Remove. (set_and_check_decl_spec_loc): Define new static function. (decl_spec_seq_has_spec_p): Define new public function. (cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt) (cp_parser_type_specifier, cp_parser_simple_type_specifier) (cp_parser_set_storage_class, cp_parser_set_decl_spec_type) (cp_parser_alias_declaration): Set the locations for each declspec, using set_and_check_decl_spec_loc. (cp_parser_explicit_instantiation, cp_parser_init_declarator) (cp_parser_member_declaration, cp_parser_init_declarator): Use the new declspec location for specifiers. Use the new decl_spec_seq_has_spec_p. (cp_parser_type_specifier_seq): Use the new set_and_check_decl_spec_loc. Stop using cp_parser_check_decl_spec. Use the new decl_spec_seq_has_spec_p. (, cp_parser_init_declarator): Use the new set_and_check_decl_spec_loc. (cp_parser_single_declaration, cp_parser_friend_p) (cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration): Use the new decl_spec_seq_has_spec_p. * decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p. Use the more precise ds_redefined_builtin_type_spec location for diagnostics about re-declaring C++ built-in types. (start_decl, grokvardecl, grokdeclarator): Use the new decl_spec_seq_has_spec_p. gcc/testsuite/ PR preprocessor/7263 * gcc.dg/binary-constants-2.c: Run without tracking locations accross macro expansion. * gcc.dg/binary-constants-3.c: Likewise. * gcc.dg/cpp/sysmac2.c: Likewise. * testsuite/gcc.dg/nofixed-point-2.c: Adjust for more precise location. * gcc.dg/cpp/syshdr3.c: New test. * gcc.dg/cpp/syshdr3.h: New header for the new test above. * gcc.dg/system-binary-constants-1.c: New test. * gcc.dg/system-binary-constants-1.h: New header for the new test above. * g++.dg/cpp/syshdr3.C: New test. * g++.dg/cpp/syshdr3.h: New header the new test above. * g++.dg/system-binary-constants-1.C: New test. * g++.dg/system-binary-constants-1.h: New header the new test above. From-SVN: r187587
2012-05-16configure.ac: Stack protector enabling for Android targets.Igor Zamyatin3-0/+15
* configure.ac: Stack protector enabling for Android targets. * configure: Regenerate. From-SVN: r187586
2012-05-16e500-double.h: Really remove.Olivier Hainque1-0/+0
* config/rs6000/e500-double.h: Really remove. From-SVN: r187585
2012-05-16ira.c (pseudo_move_insn): Delete.Richard Sandiford2-14/+19
gcc/ * ira.c (pseudo_move_insn): Delete. (find_moveable_pseudos): Don't set it. (move_unallocated_pseudos): Use DF_REG_DEF_CHAIN to find the definitions of the original pseudo. Delete all of them. From-SVN: r187582
2012-05-16rs6000-opts.h (enum processor_type): Add PROCESSOR_PPC8548.Olivier Hainque14-181/+178
* config/rs6000/rs6000-opts.h (enum processor_type): Add PROCESSOR_PPC8548. * config/rs6000/rs6000-cpus.def: Reference it for cpu="8548". * config/rs6000/rs6000.md (cpu attribute definition): Add ppc8548. * config/rs6000/8540.md: indicate that the units/patterns apply to ppc8548 as well. * config/rs6000/rs6000.c (rs6000_option_override_internal): Rename default_cpu into implicit_cpu, conveying what --with-cpu was passed at configure time. Treat implicit_cpu as have_CPU. Pick defaults for SPE related flags, check that what is queried is supported by the selected configuration. Rework the single/double_float and MASK_STRING resets to hit for all the E500 cores (854x + E500MC variants). Select the ppc8540 costs for PROCESSOR_PPC8548 as well. (rs6000_issue_rate): case CPU_PPC8548 together with CPU_PPC8540. (rs6000_use_sched_lookahead): Likewise, rewriting function as a case statement instead of a sequence of ifs. * config/rs6000/rs6000.h (TARGET_E500): Remove. (TARGET_NO_LWSYNC): Adjust accordingly. * config/rs6000/e500.h (TARGET_E500): Remove. (CHECK_E500_OPTIONS): Adjust accordingly. * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove. (TARGET_DEFAULT): Reformat definition to match the one in linuxspe.h. * config/rs6000/linuxspe.h: Likewise. * config/rs6000/vxworks.h: Remove bogus TARGET_E500 overrides and superfluous comments. * config/rs6000/e500-double.h: Remove. * config.gcc (pick a default with_cpu): For powerpc*-*-*spe*, default to with_cpu=8548 if --enable-e500-double, and to 8540 otherwise. (set misc flags section): For powerpc*|rs6000*, remove inclusion of e500-double.h for --enable-e500-double. From-SVN: r187581
2012-05-16Makefile.in (s-header-vars): Resort to -n instead of trailing -e d in sed ↵Olivier Hainque2-1/+11
invocation. * Makefile.in (s-header-vars): Resort to -n instead of trailing -e d in sed invocation. From-SVN: r187580
2012-05-16compiler: Fix assembler names of types defined in functions.Ian Lance Taylor2-2/+2
From-SVN: r187574
2012-05-16Daily bump.GCC Administrator1-1/+1
From-SVN: r187573
2012-05-15tm.texi.in (Type Layout): Update reference to source-code.Hans-Peter Nilsson3-6/+12
* doc/tm.texi.in (Type Layout) <SIZE_TYPE>: Update reference to source-code. * doc/tm.texi: Regenerate. From-SVN: r187568
2012-05-15compiler: Fix taking address of constant outside of function.Ian Lance Taylor1-9/+40
From-SVN: r187565
2012-05-15Fix dateEric Botcazou1-1/+1
From-SVN: r187563
2012-05-15re PR ada/52494 (s-taprop-dummy.adb does not define subpackage Specific used ↵Andris Pavenis2-0/+27
in s-tpoaal.sdb) PR ada/52494 * s-taprop-dummy.adb (Specific): New package. From-SVN: r187562
2012-05-15compiler: Sort array constructors by index.Ian Lance Taylor1-10/+48
From-SVN: r187560
2012-05-15re PR c/11586 (after call sigaction, system() return wrong status)Paolo Carlini2-1/+5
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com> * g++.old-deja/g++.pt/crash10.C: Adjust post PR11586. From-SVN: r187559
2012-05-15compiler: Don't try to take the address of a constant.Ian Lance Taylor1-2/+4
From-SVN: r187553
2012-05-15tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P.Paolo Carlini2-1/+5
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com> * tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P. From-SVN: r187552
2012-05-15re PR target/53358 (ICE due to TARGET_READ_MODIFY_WRITE peephole2)Jakub Jelinek4-0/+36
PR target/53358 * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check that operands[2] is either immediate, or q_regs_operand. * gcc.dg/pr53358.c: New test. From-SVN: r187544
2012-05-152012-05-15 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini3-3/+3
* Fix PR number in ChangeLog entries (11586 -> 11856). From-SVN: r187543
2012-05-15re PR c++/11856 (unsigned warning in template)Paolo Carlini7-6/+31
/cp 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/11586 * pt.c (tsubst_copy_and_build): Increase / decrease c_inhibit_evaluation_warnings around build_x_binary_op call. /c-family 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/11586 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings. /testsuite 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/11586 * g++.dg/warn/Wtype-limits.C: Don't warn in templates. * g++.dg/warn/Wtype-limits-Wextra.C: Likewise. From-SVN: r187542
2012-05-15aix-unwind.h (*_REGNO): New, set of useful register numbers.Olivier Hainque2-0/+42
libgcc/ * config/rs6000/aix-unwind.h (*_REGNO): New, set of useful register numbers. LR_REGNO replaces R_LR. (ucontext_for): New, helper for ... (ppc_aix_fallback_frame_state): New, implementation for aix 5.2 and 5.3 of ... (MD_FALLBACK_FRAME_STATE_FOR): Define for 32bit configurations. testsuite/ * g++.dg/eh/sighandle.C: New testcase. From-SVN: r187540
2012-05-15cgraphunit.c (thunk_adjust): Use make_rename_temp.Richard Guenther2-23/+24
2012-05-15 Richard Guenther <rguenther@suse.de> * cgraphunit.c (thunk_adjust): Use make_rename_temp. (assemble_thunk): Likewise. Manually rename and register function arguments. From-SVN: r187538
2012-05-15re PR tree-optimization/53355 (Autovectorization of a simple loop could be ↵Richard Guenther4-0/+84
improved.) 2012-05-15 Richard Guenther <rguenther@suse.de> PR tree-optimization/53355 * tree-vrp.c (extract_range_from_binary_expr_1): Handle LSHIFT_EXPRs by constants. * gcc.dg/tree-ssa/vrp67.c: New testcase. From-SVN: r187535
2012-05-15Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS instead of trying to ↵Olivier Hainque2-1/+6
mimic it. 2012-05-15 Olivier Hainque <hainque@adacore.com> * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS instead of trying to mimic it. From-SVN: r187533
2012-05-15[multiple changes]Arnaud Charlet10-397/+64
2012-05-15 Robert Dewar <dewar@adacore.com> * sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor reformatting. 2012-05-15 Geert Bosch <bosch@adacore.com> * uintp.adb (UI_Rem): Remove optimizations, as they are complex and are not needed. (Sum_Digits): Remove, no longer used. (Sum_Double_Digits): Likewise. 2012-05-15 Yannick Moy <moy@adacore.com> * aspects.ads: Minor typo. 2012-05-15 Thomas Quinot <quinot@adacore.com> * gnat_rm.texi (Scalar_Storage_Order): Fix RM reference. * sem_ch13.adb: Minor comment fix: incorrect RM reference. 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate atomicity from an object to its underlying type only if it is composite. From-SVN: r187532
2012-05-15sem_ch5.adb (Analyze_Iterator_Specification): Set kind of loop variable ↵Ed Schonberg3-2/+35
after pre-analysis of iterator name... 2012-05-15 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): Set kind of loop variable after pre-analysis of iterator name, to prevent premature usage of loop variable. 2012-05-15 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Is_Variable): In Ada 2012, an explicit dereference that is a rewriting of an expression whose type has a declared Implicit_Derenference aspect is a variable. From-SVN: r187531
2012-05-15exp_ch4.adb (Insert_Dereference_Action): Reimplemented.Hristian Kirtchev7-39/+226
2012-05-15 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The routine performs address and size adjustments for dereferences of heap-allocated controlled objects. This manipulation is needed in order to restore the original state of the memory at the time it was allocated by the finalization machinery. * rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables RE_Id and RE_Unit_Table. * sinfo.adb (Has_Dereference_Action): New routine. (Set_Has_Dereference_Action): New routine. * sinfo.ads: Add new semantic flag Has_Dereference_Action along its association in nodes. (Has_Dereference_Action): New routine and pragma Inline. (Set_Has_Dereference_Action): New routine and pragma Inline. * s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New routine. From-SVN: r187530
2012-05-15[multiple changes]Arnaud Charlet15-80/+97
2012-05-15 Thomas Quinot <quinot@adacore.com> * uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and remainder of U / Base in a single operation. 2012-05-15 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb, a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb, vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting. From-SVN: r187529
2012-05-15[multiple changes]Arnaud Charlet3-19/+40
2012-05-15 Thomas Quinot <quinot@adacore.com> * exp_ch4.adb (Has_Inferable_Discriminants): For a qualified expression, use correct node for test on the subtype denoted by the subtype mark. 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Scope_In_Main_Unit): Rename into... (In_Main_Unit_Or_Subunit): ...this. Also return true if the subprogram is within a subunit of the main unit. (Add_Inlined_Body): Adjust for above renaming. (Add_Inlined_Subprogram): Likewise. Pass the subprogram directly. (Analyze_Inlined_Bodies): Really set aside inlined subprograms not handled by Add_Inlined_Body. From-SVN: r187528
2012-05-15[multiple changes]Arnaud Charlet12-138/+280
2012-05-15 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Expand_With_Clause): In the context of a generic package declaration, a private with-clause on a child unit implies that the implicit with clauses on its parents are private as well. 2012-05-15 Javier Miranda <miranda@adacore.com> * sem_ch6.adb (Is_Interface_Conformant): Add missing call to Base_Type to handle subtypes. * exp_ch6.adb (Expand_Call): For calls located in thunks handle unchecked conversions of access types found in actuals. * exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked conversion to actuals whose type is an access type. Done to avoid reporting spurious errors. 2012-05-15 Vincent Celier <celier@adacore.com> * prj-env.adb (Create_Mapping): Ignore sources that are suppressed (Create_Mapping_File.Process): Ditto * prj-nmsc.adb (Add_Source): Update to take into account suppressed files that may hide inherited sources. (Mark_Excluded_Sources): Mark excluded sources of the current project as suppressed. * prj.ads (Source_Data): New Boolean component Suppressed, defaulted to False 2012-05-15 Thomas Quinot <quinot@adacore.com> * exp_intr.adb: Minor reformatting. 2012-05-15 Thomas Quinot <quinot@adacore.com> * gnat_rm.texi: Document attribute Scalar_Storage_Order. 2012-05-15 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Build_Offset_To_Top): Modify the expansion of the offset_to_top functions to ensure that their profile is conformant with the profile specified in Ada.Tags. No change in functionality. 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Subp_Info): Remove Count and Next_Nopred components, add Processed component and move around Next component. (Add_Call): Reverse meaning of Successors table to the natural one. (Add_Inlined_Body): Do not inline a package if it is in the main unit. (Add_Inlined_Subprogram): Do not add the subprogram to the list if the package is in the main unit. Do not recurse on the successors. (Add_Subp): Adjust to new contents of Subp_Info. (Analyze_Inlined_Bodies): Do not attempt to compute a topological order on the list of inlined subprograms, but compute the transitive closure from the main unit instead. (Get_Code_Unit_Entity): Always return the spec for a package. From-SVN: r187526
2012-05-15[multiple changes]Arnaud Charlet10-71/+265
2012-05-15 Yannick Moy <moy@adacore.com> * aspects.ads: Minor addition of comments to provide info on how to add new aspects. 2012-05-15 Thomas Quinot <quinot@adacore.com> * osint.ads: Minor reformatting. 2012-05-15 Thomas Quinot <quinot@adacore.com> * exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads (Expand_Assign_Array): Handle the case of a packed bit array within a record with reverse storage order (assign element by element in that case). (In_Reverse_Storage_Order_Record): New subprogram, code extracted from Exp_Pakd. 2012-05-15 Yannick Moy <moy@adacore.com> * a-ngelfu.ads: Add postconditions using Ada 2012 aspect syntax, reflecting some of the RM requirements for these functions, from Annex A.5.1 or G.2.4. 2012-05-15 Thomas Quinot <quinot@adacore.com> * adaint.c: Minor fix: move misplaced comment. 2012-05-15 Doug Rupp <rupp@adacore.com> * vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage use by customers. From-SVN: r187525
2012-05-15gnat1drv.adb: Enable Exception_Extra_Info in CodePeer_Mode.Arnaud Charlet2-1/+7
2012-05-15 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb: Enable Exception_Extra_Info in CodePeer_Mode. 2012-05-15 Sergey Rybin <rybin@adacore.com frybin> * gnat_ugn.texi (Complexity Metrics Control section): Fix reference to McCabe's book defining complexity metrics. From-SVN: r187524