aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2012-05-30arm.c (arm_evpc_neon_vrev): Adjust off by one error.Ramana Radhakrishnan4-3/+124
2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error. 2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> * gcc.target/arm/neon-vrev.c: New. From-SVN: r187999
2012-05-30Daily bump.GCC Administrator1-1/+1
From-SVN: r187998
2012-05-29re PR debug/53453 (darwin linker expects both AT_name and AT_comp_dir debug ↵Jack Howarth6-1/+25
notes) 2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu> PR debug/53453 * doc/tm.texi: Update. * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook. * target.def (force_at_comp_dir): New hook. * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define. * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir. From-SVN: r187994
2012-05-29Oops, wrong changelog, this is the right one:Jack Howarth1-1/+1
2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu> * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when Darwin >= 10. (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10. (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10. From-SVN: r187993
2012-05-29darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when Darwin >= 10.Jack Howarth2-2/+11
2012-05-29 Iain Sandoe <iains@gcc.gnu.org> * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when Darwin >= 10. (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10. (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10. From-SVN: r187992
2012-05-29re PR target/51340 (SH Target: Make -mfused-madd enabled by default)Oleg Endo7-6/+71
PR target/51340 * config/sh/sh.c (sh_option_override): Set TARGET_FMAC if flag_unsafe_math_optimizations is set. * doc/invoke.texi (SH Options): Add -mno-fused-madd description. Update description of -mfused-madd. PR target/51340 * gcc.target/sh/pr51340-1.c: New. * gcc.target/sh/pr51340-2.c: New. * gcc.target/sh/pr51340-3.c: New. From-SVN: r187988
2012-05-29re PR target/52941 (SH Target: Add support for movco.l / movli.l atomics on ↵Oleg Endo7-57/+580
SH4A) PR target/52941 * config/sh/predicates.md (atomic_arith_operand, atomic_logical_operand): New predicates. * config/sh/sh.c (sh_option_override): Check atomic options. * config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS, UNSUPPORTED_HARD_ATOMIC_CPU): New macros. (DRIVER_SELF_SPECS): Use UNSUPPORTED_ATOMIC_OPTIONS and UNSUPPORTED_HARD_ATOMIC_CPU. * config/sh/sync.md: Update description comments. (I12): New mode iterator. (fetchop_predicate, fetchop_constraint): New code attributes. (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard, atomic_exchangesi_hard, atomic_exchange<mode>_hard, atomic_fetch_<fetchop_name>si_hard, atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard, atomic_<fetchop_name>_fetchsi_hard, atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard, atomic_test_and_set_hard): New insns. (atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft, atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft, atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft, atomic_test_and_set_soft): Use same formatting for the first line of the asm block as in new insns above. (atomic_compare_and_swap<mode>, atomic_exchange<mode>, atomic_fetch_<fetchop_name><mode>, atomic_<fetchop_name>_fetch<mode>, atomic_test_and_set): Integrate new *_hard insns into expanders. * config/sh/sh.opt (mhard-atomic): New option. * doc/invoke.texi (SH Options): Document it. From-SVN: r187987
2012-05-29* c-common.c: Fix typo.Joseph Myers2-1/+5
From-SVN: r187980
2012-05-29c-decl.c (c_push_function_context): Always create a new language function.Meador Inge2-10/+11
2012-05-29 Meador Inge <meadori@codesourcery.com> * c-decl.c (c_push_function_context): Always create a new language function. (c_pop_function_context): Clear the language function created in c_push_function_context. From-SVN: r187979
2012-05-29ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.Matt Turner2-0/+9
* config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New. (define_bypass "ev6_fcmov"): New. From-SVN: r187978
2012-05-29integrate.c: Remove.Steven Bosscher44-465/+424
* integrate.c: Remove. * integrate.h: Remove. * Makefile.in: Remove make rules for integrate.c and INTEGRATE_H. * config/arm/t-arm: Remove INTEGRATE_H dependency for target files. * config/rs6000/t-rs6000: Likewise * config/spu/t-spu-elf: Likewise. * function.h (get_hard_reg_initial_val, has_hard_reg_initial_val, get_hard_reg_initial_reg, emit_initial_value_sets): Move prototypes from integrate.h to here. (initial_value_entry): New prototype. * reload.h (allocate_initial_values): Remove prototype. * tree.h (set_decl_abstract_flags, set_decl_origin_self): Likewise. * cse.c (fixed_base_plus_p): Don't handle virtual registers for integrate.c. * dwarf2out.c (set_decl_origin_self, set_block_origin_self, set_decl_abstract_flags, set_block_abstract_flags): Move from integrate.c to here, the only user. * expmed.c (extract_fixed_bit_field): Remove outdated comment about integrate.c. * function.c: Don't include integrate.h. (struct initial_value_pair, struct initial_value_struct, get_hard_reg_initial_val, has_hard_reg_initial_val, get_hard_reg_initial_reg, emit_initial_value_sets): Move from integrate.c to here. (initial_value_entry): New function. * genemit.c (main): Don't print integrate.h include line. * ira.c: Don't include integrate.h. (allocate_initial_values): Move from integrate.c to here. (ira): Update allocate_initial_values call. * tree-inline.c: Don't include integrate.h. (function_attribute_inlinable_p): Moved from integrate.c to here. * cfgexpand.c: Don't include integrate.h. * except.c: Likewise. * langhooks.c: Likewise. * passes.c: Likewise. * toplev.c: Likewise. * config/frv/frv.c: Likewise. * config/pa/pa.c: Likewise. * config/spu/spu.c: Likewise. * config/epiphany/epiphany.c: Likewise. * config/mep/mep.c: Likewise. * config/score/score.c: Likewise. * config/picochip/picochip.c: Likewise. * config/sh/sh.c: Likewise. * config/alpha/alpha.c: Likewise. * config/microblaze/microblaze.c: Likewise. * config/mips/mips.c: Likewise. * config/v850/v850.c: Likewise. * config/mmix/mmix.c: Likewise. * config/bfin/bfin.c: Likewise. * config/arm/arm.c: Likewise. * config/s390/s390.c: Likewise. * config/m32r/m32r.c: Likewise. * config/rs6000/rs6000.c: Likewise. * config/c6x/c6x.c: Include function.h instead of integrate.h. * config/tilegx/tilegx.c: Likewise. * config/tilepro/tilepro.c: Likewise. From-SVN: r187969
2012-05-29t-avr (s-avr-mmcu-texi): Call gen-avr-mmcu-texi$(build_exeext) via ./ and ↵Georg-Johann Lay2-1/+6
don't assume . is in PATH. * config/avr/t-avr (s-avr-mmcu-texi): Call gen-avr-mmcu-texi$(build_exeext) via ./ and don't assume . is in PATH. From-SVN: r187968
2012-05-29rtl.h (assign_stack_temp, [...]): Remove 'keep' argument.Michael Matz19-357/+132
* rtl.h (assign_stack_temp, assign_stack_temp_for_type, assign_temp): Remove 'keep' argument. (mark_temp_addr_taken): Remove prototype. * tree.h (expand_decl): Remove prototype. * function.c (struct temp_slot): Remove addr_taken and keep member. (assign_stack_temp_for_type) Don't initialize above, remove keep argument. (assign_stack_temp, assign_temp): Remove keep argument. (mark_temp_addr_taken): Remove. (preserve_temp_slots): Remove handling of addr_taken and keep members. (free_temp_slots): Ditto. * expr.c (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Remove dead code. * stmt.c (expand_asm_operands): Remove dead code. (expand_decl): Remove. * c-decl.c (finish_struct): Don't call expand_decl. * builtins.c (expand_builtin_cexpi): Adjust calls to assign_temp and assign_stack_temp. * calls.c (save_fixed_argument_area, initialize_argument_information, expand_call, emit_library_call_value_1, store_one_arg): Ditto. * expmed.c (extract_bit_field_1): Ditto. * expr.c (emit_group_load_1, emit_group_store, copy_blkmode_from_reg, emit_push_insn, expand_assignment, store_field, expand_constructor, expand_cond_expr_using_cmove, expand_expr_real_2, expand_expr_real_1): Ditto. * stmt.c (expand_asm_operands, expand_return): Ditto. * function.c (pop_temp_slots): Call free_temp_slots. * calls.c (store_one_arg): Don't call preserve_temp_slots or free_temp_slots. * expr.c (expand_assignment): Don't call free_temp_slots. * config/arm/arm.c (neon_expand_vector_init): Ditto. * config/i386/i386.c (ix86_expand_vector_set): Ditto. (ix86_expand_vector_extract): Ditto. * config/ia64/ia64.c (spill_xfmode_rfmode_operand, ia64_expand_movxf_movrf): Ditto. * config/mips/mips.c (mips_expand_vi_general): Ditto. * config/mmix/mmix.md (floatdisf2, floatunsdisf2, truncdfsf2, extendsfdf2): Ditto. * config/rs6000/rs6000.c (rs6000_expand_vector_init, rs6000_expand_vector_set, rs6000_expand_vector_extract, rs6000_allocate_stack_temp): Ditto. * config/rs6000/rs6000.md (fix_trunctfsi2_fprs): Ditto. * config/sparc/sparc.c (emit_soft_tfmode_libcall, sparc_emit_float_lib_cmp, sparc_emit_float_lib_cmp, sparc_expand_vector_init): Ditto. From-SVN: r187965
2012-05-29expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate a kept temp.Michael Matz12-13/+45
* expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate 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. From-SVN: r187962
2012-05-29re PR tree-optimization/53516 (Vectorization and memset recognition ↵Richard Guenther5-12/+85
miscompile bitfield stores) 2012-05-29 Richard Guenther <rguenther@suse.de> PR tree-optimization/53516 * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject bitfield accesses. * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise. * gcc.dg/torture/pr53516.c: New testcase. From-SVN: r187961
2012-05-29LANGUAGES: Fix typos.Joseph Myers133-232/+367
* LANGUAGES: Fix typos. * Makefile.in: Fix typos. * alias.c: Fix typos. * auto-inc-dec.c: Fix typos. * bb-reorder.c: Fix typos. * cfgcleanup.c: Fix typos. * cgraph.c: Fix typos. * cgraph.h: Fix typos. * cgraphunit.c: Fix typos. * collect2-aix.h: Fix typos. * collect2.c: Fix typos. * compare-elim.c: Fix typos. * config/alpha/vms.h: Fix typos. * config/arm/README-interworking: Fix typos. * config/arm/arm.c: Fix typos. * config/arm/iterators.md: Fix typos. * config/arm/vxworks.h: Fix typos. * config/avr/avr.c: Fix typos. * config/avr/avr.h: Fix typos. * config/avr/avr.md: Fix typos. * config/avr/builtins.def: Fix typos. * config/c6x/c6x.c: Fix typos. * config/cr16/cr16.c: Fix typos. * config/cr16/cr16.md: Fix typos. * config/cris/cris.md: Fix typos. * config/darwin.c: Fix typos. * config/darwin.opt: Fix typos. * config/i386/i386-c.c: Fix typos. * config/i386/i386.c: Fix typos. * config/ia64/ia64.c: Fix typos. * config/m68k/cf.md: Fix typos. * config/mep/mep.c: Fix typos. * config/microblaze/microblaze.c: Fix typos. * config/microblaze/microblaze.h: Fix typos. * config/mn10300/mn10300.c: Fix typos. * config/mn10300/mn10300.md: Fix typos. * config/pa/pa.c: Fix typos. * config/picochip/picochip.h: Fix typos. * config/rs6000/a2.md: Fix typos. * config/rs6000/rs6000.c: Fix typos. * config/rs6000/vector.md: Fix typos. * config/rx/rx.md: Fix typos. * config/rx/rx.opt: Fix typos. * config/s390/2097.md: Fix typos. * config/s390/s390.c: Fix typos. * config/s390/s390.h: Fix typos. * config/sh/sh.c: Fix typos. * config/sh/sh.md: Fix typos. * config/sparc/sync.md: Fix typos. * config/spu/spu.c: Fix typos. * config/spu/spu.md: Fix typos. * config/vms/vms.c: Fix typos. * config/vxworks-dummy.h: Fix typos. * config/vxworks.h: Fix typos. * cselib.c: Fix typos. * df-scan.c: Fix typos. * df.h: Fix typos. * doc/extend.texi: Fix typos. * doc/install.texi: Fix typos. * doc/invoke.texi: Fix typos. * doc/md.texi: Fix typos. * doc/plugins.texi: Fix typos. * doc/rtl.texi: Fix typos. * dse.c: Fix typos. * dwarf2asm.c: Fix typos. * dwarf2out.c: Fix typos. * except.h: Fix typos. * expr.c: Fix typos. * fold-const.c: Fix typos. * gcc.c: Fix typos. * gcse.c: Fix typos. * genautomata.c: Fix typos. * gengtype-state.c: Fix typos. * gengtype.c: Fix typos. * genhooks.c: Fix typos. * gimple-fold.c: Fix typos. * gimple-pretty-print.c: Fix typos. * gimple.c: Fix typos. * gimple.h: Fix typos. * gimplify.c: Fix typos. * graphite-interchange.c: Fix typos. * graphite-sese-to-poly.c: Fix typos. * ifcvt.c: Fix typos. * input.c: Fix typos. * ipa-cp.c: Fix typos. * ipa-inline-analysis.c: Fix typos. * ipa-inline-transform.c: Fix typos. * ipa-inline.c: Fix typos. * ipa-pure-const.c: Fix typos. * ipa-ref.h: Fix typos. * ipa-reference.c: Fix typos. * ipa-utils.c: Fix typos. * ipa.c: Fix typos. * ira-emit.c: Fix typos. * ira-lives.c: Fix typos. * lto-streamer.c: Fix typos. * lto-streamer.h: Fix typos. * lto-wrapper.c: Fix typos. * mcf.c: Fix typos. * mode-switching.c: Fix typos. * modulo-sched.c: Fix typos. * plugin.c: Fix typos. * postreload.c: Fix typos. * sched-deps.c: Fix typos. * sel-sched-ir.c: Fix typos. * sel-sched-ir.h: Fix typos. * sel-sched.c: Fix typos. * sese.c: Fix typos. * stor-layout.c: Fix typos. * target-hooks-macros.h: Fix typos. * target.def: Fix typos. * trans-mem.c: Fix typos. * tree-eh.c: Fix typos. * tree-predcom.c: Fix typos. * tree-sra.c: Fix typos. * tree-ssa-address.c: Fix typos. * tree-ssa-loop-ivopts.c: Fix typos. * tree-ssa-loop-niter.c: Fix typos. * tree-ssa-math-opts.c: Fix typos. * tree-ssa-pre.c: Fix typos. * tree-ssa-propagate.c: Fix typos. * tree-ssa-reassoc.c: Fix typos. * tree-ssa-sccvn.c: Fix typos. * tree-ssa-ter.c: Fix typos. * tree-ssa-uninit.c: Fix typos. * tree-ssanames.c: Fix typos. * tree-vect-generic.c: Fix typos. * tree-vect-slp.c: Fix typos. * tree.c: Fix typos. * tree.h: Fix typos. * varasm.c: Fix typos. * varpool.c: Fix typos. From-SVN: r187959
2012-05-29* doc/include/texinfo.tex: Update to version 2012-05-16.16.Joseph Myers2-927/+1966
From-SVN: r187956
2012-05-29tree-dfa.c (find_vars_r): Do not call add_referenced_vars for globals.Richard Guenther5-25/+39
2012-05-29 Richard Guenther <rguenther@suse.de> * tree-dfa.c (find_vars_r): Do not call add_referenced_vars for globals. (add_referenced_var_1): Re-organize. Assert we are not called for globals. (remove_referenced_var): Likewise. * varpool.c (add_new_static_var): Use create_tmp_var_raw. * tree-mudflap.c (execute_mudflap_function_ops): Do not call add_referenced_var on globals. * matrix-reorg.c (transform_access_sites): Likewise. From-SVN: r187955
2012-05-29alias.c (reg_known_value): Make this a VEC.Steven Bosscher2-28/+39
* alias.c (reg_known_value): Make this a VEC. (reg_known_equiv_p): Make this an sbitmap. (reg_known_value_size): Remove. (get_reg_known_value, set_reg_known_value, get_reg_known_equiv_p, set_reg_known_equiv_p): Update for reg_known_value and reg_known_value_size data structure change. (init_alias_analysis, end_alias_analysis): Likewise. From-SVN: r187953
2012-05-29re PR middle-end/53510 (OOM while compile some code)Jakub Jelinek3-19/+14
PR middle-end/53510 * input.c (read_line): Use XRESIZEVEC instead of XNEWVEC to avoid leaking memory. No need to handle memory allocation failure. Double string_len on each reallocation instead of adding 2. * gcov.c (read_line): Likewise. From-SVN: r187952
2012-05-29c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).Manuel López-Ibáñez3-3/+7
2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org> * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall). * c-opts.c (c_common_handle_option): Remove code handling warn_missing_braces. From-SVN: r187948
2012-05-29PR preprocessor/53229 - Fix diagnostics location when pasting tokensDodji Seketeli10-5/+88
As stated in the audit trail of this problem report, consider this test case: $ cat test.c 1 struct x { 2 int i; 3 }; 4 struct x x; 5 6 #define TEST(X) x.##X 7 8 void foo (void) 9 { 10 TEST(i) = 0; 11 } $ $ cc1 -quiet test.c test.c: In function 'foo': test.c:10:1: error: pasting "." and "i" does not give a valid preprocessing token TEST(i) = 0; ^ $ So, when pasting tokens, the error diagnostic uses the global and imprecise input_location variable, leading to an imprecise output. To properly fix this, I think libcpp should keep the token of the pasting operator '##', instead of representing it with flag on the LHS operand's token. That way, it could use its location. Doing that would be quite intrusive though. So this patch just uses the location of the LHS of the pasting operator, for now. It's IMHO better than the current situation. The patch makes paste_tokens take a location parameter that is used in the diagnostics. This change can still be useful later when we can use the location of the pasting operator, because paste_tokens will just be passed the new, more precise location. Incidentally, it appeared that when getting tokens from within preprocessor directives (like what is done in gcc.dg/cpp/paste12.c), with -ftrack-macro-expansion disabled, the location of the expansion point of macros was being lost because cpp_reader::set_invocation_location wasn't being properly set. It's because when cpp_get_token_1 calls enter_macro_context, there is a little period of time between the beginning of that later function and when the macro is really pushed (and thus when the macro is really expanded) where we wrongly consider that we are not expanding the macro because macro_of_context is still NULL. In that period of time, in the occurrences of indirect recursive calls to cpp_get_token_1, this later function wrongly sets cpp_reader::invocation_location because cpp_reader::set_invocation_location is not being properly set. To avoid that confusion the patch does away with cpp_reader::set_invocation_location and introduces a new flag cpp_reader::about_to_expand_macro_p that is set in the small time interval exposed earlier. A new in_macro_expansion_p is introduced as well, so that cpp_get_token_1 can now accurately detect when we are in the process of expanding a macro, and thus correctly collect the location of the expansion point. People seem to like screenshots. Thus, after the patch, we now have: $ cc1 -quiet test.c test.c: In function 'foo': test.c:6:18: error: pasting "." and "i" does not give a valid preprocessing token #define TEST(X) x.##X ^ test.c:10:3: note: in expansion of macro 'TEST' TEST(i) = 0; ^ $ Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk. libcpp/ PR preprocessor/53229 * internal.h (cpp_reader::set_invocation_location): Remove. (cpp_reader::about_to_expand_macro_p): New member flag. * directives.c (do_pragma): Remove Kludge as pfile->set_invocation_location is no more. * macro.c (cpp_get_token_1): Do away with the use of cpp_reader::set_invocation_location. Just collect the macro expansion point when we are about to expand the top-most macro. Do not override cpp_reader::about_to_expand_macro_p. This fixes gcc.dg/cpp/paste12.c by making get_token_no_padding properly handle locations of expansion points. (cpp_get_token_with_location): Adjust, as cpp_reader::set_invocation_location is no more. (paste_tokens): Take a virtual location parameter for the LHS of the pasting operator. Use it in diagnostics. Update comments. (paste_all_tokens): Tighten the assert. Propagate the location of the expansion point when no virtual locations are available. Pass the virtual location to paste_tokens. (in_macro_expansion_p): New static function. (enter_macro_context): Set the cpp_reader::about_to_expand_macro_p flag until we really start expanding the macro. gcc/testsuite/ PR preprocessor/53229 * gcc.dg/cpp/paste6.c: Force to run without -ftrack-macro-expansion. * gcc.dg/cpp/paste8.c: Likewise. * gcc.dg/cpp/paste8-2.c: New test, like paste8.c but run with -ftrack-macro-expansion. * gcc.dg/cpp/paste12.c: Force to run without -ftrack-macro-expansion. * gcc.dg/cpp/paste12-2.c: New test, like paste12.c but run with -ftrack-macro-expansion. * gcc.dg/cpp/paste13.c: Likewise. * gcc.dg/cpp/paste14.c: Likewise. * gcc.dg/cpp/paste14-2.c: New test, like paste14.c but run with -ftrack-macro-expansion. * gcc.dg/cpp/paste18.c: New test. From-SVN: r187945
2012-05-29trap-1.c, [...]: New tests.Hans-Peter Nilsson6-0/+65
* gcc.target/cris/torture/trap-1.c, gcc.target/cris/torture/trap-2.c, gcc.target/cris/torture/trap-3.c, gcc.target/cris/torture/trap-v0.c, gcc.target/cris/torture/trap-v3.c: New tests. From-SVN: r187943
2012-05-29cris.h (TARGET_HAS_BREAK, [...]): New macros.Hans-Peter Nilsson4-0/+25
* config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8): New macros. * config/cris/cris.md ("trap"): Define, enabled for TARGET_TRAP_USING_BREAK8. * config/cris/cris.opt (mtrap-using-break8): New option. From-SVN: r187942
2012-05-29Daily bump.GCC Administrator1-1/+1
From-SVN: r187941
2012-05-28re PR c++/25137 (Warning "missing braces around initializer" causing ↵Paolo Carlini7-3/+91
problems with tr1::array) /c-family 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/25137 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable -Wmissing_braces. 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/25137 * doc/invoke.texi: Document -Wmissing-braces not enabled by -Wall for C++. /testsuite 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/25137 * g++.dg/warn/Wbraces3.C: New. * g++.dg/warn/Wbraces4.C: Likewise. From-SVN: r187937
2012-05-28Fix grammo in last CL entry.Hans-Peter Nilsson1-1/+1
From-SVN: r187936
2012-05-28* doc/md.texi (Standard Names): Fix typos in documentation for atomic patterns.Hans-Peter Nilsson2-5/+6
From-SVN: r187935
2012-05-28md.texi (stack_protect_test): Remove negation of branch to label.Hans-Peter Nilsson2-1/+6
* doc/md.texi (stack_protect_test): Remove negation of branch to label. From-SVN: r187934
2012-05-28re PR c++/53505 (bitfield with bool type generated broken object file)Jakub Jelinek2-0/+47
PR tree-optimization/53505 * c-c++-common/torture/pr53505.c: New test. From-SVN: r187931
2012-05-28re PR c++/53503 ([C++0x] unexpected AST of kind ltgt_expr)Paolo Carlini2-0/+6
gcc/cp 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53503 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR. libstdc++-v3 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53503 * testsuite/26_numerics/headers/cmath/53503.cc: New. From-SVN: r187928
2012-05-28Daily bump.GCC Administrator1-1/+1
From-SVN: r187927
2012-05-27tree.c (build_constructor): Propagate TREE_SIDE_EFFECTS.Nathan Sidwell4-4/+41
* tree.c (build_constructor): Propagate TREE_SIDE_EFFECTS. testsuite/ * gcc.dg/stmt-expr-4.c: New. From-SVN: r187923
2012-05-27Daily bump.GCC Administrator1-1/+1
From-SVN: r187921
2012-05-26re PR c++/53491 (ICE in build_target_expr_with_type, at cp/tree.c:587)Paolo Carlini4-1/+30
/cp 2012-05-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53491 * tree.c (stabilize_expr): Handle exp of void type. /testsuite 2012-05-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53491 * g++.dg/parse/crash60.C: New. From-SVN: r187917
2012-05-26re PR c++/53220 (g++ mis-compiles compound literals)Jason Merrill9-8/+87
PR c++/53220 gcc/ * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning about array compound literals. gcc/cp/ * call.c (convert_like_real) [ck_list]: Take array address directly. * typeck.c (decay_conversion): Reject decay of an array compound literal. From-SVN: r187916
2012-05-26re PR ada/50294 (ICE in output_constructor_regular_field)Eric Botcazou2-0/+21
PR ada/50294 * gnat.dg/array21.adb: New test. From-SVN: r187914
2012-05-26cfgcleanup.c (try_optimize_cfg): Do not delete forwarder blocks if ↵Eric Botcazou3-31/+77
CLEANUP_NO_INSN_DEL. * cfgcleanup.c (try_optimize_cfg): Do not delete forwarder blocks if CLEANUP_NO_INSN_DEL. * cfgrtl.c (unique_locus_on_edge_between_p): New function extracted from cfg_layout_merge_blocks. (emit_nop_for_unique_locus_between): New function. (rtl_merge_blocks): Invoke emit_nop_for_unique_locus_between. (cfg_layout_merge_blocks): Likewise. From-SVN: r187913
2012-05-26* gnat.dg/renaming5.adb: Adjust dg-final directive.Eric Botcazou2-1/+5
From-SVN: r187912
2012-05-26df-scan.c (df_def_record_1): Assert a parallel must contain an EXPR_LIST at ↵Dimitrios Apostolou2-86/+158
this point. 2012-05-26 Dimitrios Apostolou <jimis@gmx.net> Paolo Bonzini <bonzini@gnu.org> * df-scan.c (df_def_record_1): Assert a parallel must contain an EXPR_LIST at this point. Receive the LOC and move its extraction... (df_defs_record): ... here. Change if-else to a switch statement. (df_find_hard_reg_defs, df_find_hard_reg_defs_1): New. (df_get_call_refs): Changed defs_generated from bitmap to HARD_REG_SET and compute it from df_find_hard_reg_defs(). Record DF_REF_BASE DEFs in REGNO order. Use HARD_REG_SET instead of bitmap for regs_invalidated_by_call. (df_insn_refs_collect): Record DF_REF_REGULAR DEFs after df_get_call_refs(). Co-Authored-By: Paolo Bonzini <bonzini@gnu.org> From-SVN: r187911
2012-05-26decl.c (variant_desc): Rename 'record' to 'new_type'.Eric Botcazou2-8/+24
* gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'. (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. From-SVN: r187908
2012-05-26Daily bump.GCC Administrator1-1/+1
From-SVN: r187906
2012-05-25re PR c++/32054 (Storage classes on anonymous unions in classes)Paolo Carlini4-0/+42
/cp 2012-05-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/32054 * parser.c (cp_parser_member_declaration): A storage class is not allowed in a declaration of an anonymous aggregate in a class scope. /testsuite 2012-05-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/32054 * g++.dg/other/anon-union3.C: New. From-SVN: r187902
2012-05-25compiler: Don't create a closure if not needed.Ian Lance Taylor1-23/+11
From-SVN: r187897
2012-05-25morestack.S (__morestack_non_split): Check whether caller is varargs and ↵Ian Lance Taylor2-0/+57
needs %bp to hold the stack frame on return. libgcc/: * config/i386/morestack.S (__morestack_non_split): Check whether caller is varargs and needs %bp to hold the stack frame on return. gcc/testsuite/: * gcc.dg/split-6.c: New test. From-SVN: r187894
2012-05-25re PR lto/52178 (Ada bootstrap failure in LTO mode)Eric Botcazou3-2/+20
PR lto/52178 * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL. * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR. From-SVN: r187892
2012-05-25t-linux64: Delete the 32-bit multilib that uses software floating point ↵Michael Meissner2-7/+10
emulation. 2012-05-25 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/t-linux64: Delete the 32-bit multilib that uses software floating point emulation. No longer build the multilibs with -mstrict-align. From-SVN: r187891
2012-05-25re PR objc++/53441 (obj-c++.dg/ivar-invalid-type-1.mm ICE)Uros Bizjak2-1/+8
PR obj-c++/53441 * decl.c (grokdeclarator): Check that current_class_type is non-NULL before calling constructor_name_p. From-SVN: r187888
2012-05-25re PR middle-end/53008 (abort in _ITM_getTMCloneSafe)Aldy Hernandez3-2/+25
PR middle-end/53008 * trans-mem.c (ipa_tm_create_version_alias): Output new_node if accessed indirectly. (ipa_tm_create_version): Same. From-SVN: r187887
2012-05-25* decl.c: Revert unwanted commit.Uros Bizjak1-2/+1
From-SVN: r187886