Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
From-SVN: r187998
|
|
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-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-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
|
|
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
|
|
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
|
|
From-SVN: r187980
|
|
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
|
|
* config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.
(define_bypass "ev6_fcmov"): New.
From-SVN: r187978
|
|
* 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
|
|
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
|
|
* 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
|
|
* 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
|
|
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
|
|
* 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
|
|
From-SVN: r187956
|
|
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
|
|
* 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
|
|
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-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
|
|
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
|
|
* 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
|
|
* 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
|
|
From-SVN: r187941
|
|
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
|
|
From-SVN: r187936
|
|
From-SVN: r187935
|
|
* doc/md.texi (stack_protect_test): Remove negation of
branch to label.
From-SVN: r187934
|
|
PR tree-optimization/53505
* c-c++-common/torture/pr53505.c: New test.
From-SVN: r187931
|
|
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
|
|
From-SVN: r187927
|
|
* tree.c (build_constructor): Propagate TREE_SIDE_EFFECTS.
testsuite/
* gcc.dg/stmt-expr-4.c: New.
From-SVN: r187923
|
|
From-SVN: r187921
|
|
/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
|
|
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
|
|
PR ada/50294
* gnat.dg/array21.adb: New test.
From-SVN: r187914
|
|
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
|
|
From-SVN: r187912
|
|
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
|
|
* 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
|
|
From-SVN: r187906
|
|
/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
|
|
From-SVN: r187897
|
|
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
|
|
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
|
|
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
|
|
PR obj-c++/53441
* decl.c (grokdeclarator): Check that current_class_type is non-NULL
before calling constructor_name_p.
From-SVN: r187888
|
|
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
|
|
From-SVN: r187886
|