platform/upstream/linaro-gcc.git
12 years ago * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
aldyh [Fri, 1 Jun 2012 15:44:10 +0000 (15:44 +0000)]
    * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
        * gimple.h (block_in_transaction): Check for flag_tm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188112 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.c (x86_sched_reorder): New function.
kyukhin [Fri, 1 Jun 2012 11:56:00 +0000 (11:56 +0000)]
   * config/i386/i386.c (x86_sched_reorder): New function.
       Added new function x86_sched_reorder.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188107 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-01 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 1 Jun 2012 11:38:10 +0000 (11:38 +0000)]
2012-06-01  Richard Guenther  <rguenther@suse.de>

* tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
Handle PHIs.
(classify_partition): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188106 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-01 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 1 Jun 2012 08:55:04 +0000 (08:55 +0000)]
2012-06-01  Richard Guenther  <rguenther@suse.de>

* tree-loop-distribution.c (enum partition_kind): New enum.
(struct partition_s): Add kind and main_stmt members.
(partition_alloc): Initialize kind to PKIND_NORMAL.
(partition_builtin_p): New function.
(copy_loop_before): Remove failure path and assert instead.
(generate_loops_for_partition): Likewise.
(generate_memset_zero): Fold into ...
(generate_memset_builtin): ... this.
(classify_partition): New function with code from
can_generate_builtin and generate_builtin.
(generate_builtin): Remove.
(can_generate_builtin): Likewise.
(fuse_partitions_with_similar_memory_accesses): Call
partition_builtin_p instead of can_generate_builtin.
(rdg_build_partitions): Do not call
fuse_partitions_with_similar_memory_accesses here...
(ldist_gen): ... but here after classifying all partitions.
Remove failure path of generate_code_for_partition.
(generate_code_for_partition): Generate code according
to partition classification.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188104 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-01 Manuel López-Ibáñez <manu@gcc.gnu.org>
redi [Fri, 1 Jun 2012 08:47:06 +0000 (08:47 +0000)]
2012-06-01  Manuel López-Ibáñez  <manu@gcc.gnu.org>
            Jonathan Wakely  <jwakely.gcc@gmail.com>

PR c++/50134
* doc/invoke.texi (Warning Options): Explain purpose and differences
between -Wmissing-prototypes and -Wmissing-declarations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188103 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAllow --specs options.
chrbr [Fri, 1 Jun 2012 07:55:39 +0000 (07:55 +0000)]
Allow --specs options.

2012-05-30  Christian Bruel  <christian.bruel@st.com>

* gcc.c (save_switch): Add user_p parameter.
(read_specs): Likewise.
(set_specs): Likewise.
(validate_switches): Likewise.
(validate_switches_from_spec): Likewise.
(validate_all_switches): Pass on user_p parameter.
(struct spec_list): Add user_p field.
(struct switchstr): Add known field.
(save_switch): Add known parameter.
(INIT_STATIC_SPEC): Initialize user_p;
(driver_unknown_option_callbac): call save_switch if
OPT_SPECIAL_unknown.
(driver_handle_option): Propagate OPT_specs.
(do_spec_1): Set validated only if known.
(check_live_switch): Likewise.
(validate_switches): Set validated if known or user_spec.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188102 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR ada/53517
ebotcazou [Fri, 1 Jun 2012 07:33:38 +0000 (07:33 +0000)]
PR ada/53517
* gnat.dg/lto14.adb: Skip on Solaris.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188100 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-01 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 1 Jun 2012 05:53:31 +0000 (05:53 +0000)]
2012-06-01  Tobias Burnus  <burnus@net-b.de>

        * intrinsics/chmod.c (chmod_func): On MinGW, don't set is_dir
        * and
        fix octal-mode handling.
        * io/unit.c (get_internal_unit): Add cast.
        * io/unix.c (min): Undef "min" before defining it.
        * runtime/backtrace.c (show_backtrace): Move label into
        ifndef __MINGW__ block.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188098 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/cris/sync-1-v10.c,
hp [Fri, 1 Jun 2012 05:51:07 +0000 (05:51 +0000)]
* gcc.target/cris/sync-1-v10.c,
gcc.target/cris/sync-1-v32.c, gcc.target/cris/sync-1.c,
gcc.target/cris/sync-2c.c, gcc.target/cris/sync-2i.c,
gcc.target/cris/sync-2s.c, gcc.target/cris/sync-3i.c,
gcc.target/cris/sync-3s.c, gcc.target/cris/sync-4c.c,
gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c,
gcc.target/cris/torture/sync-mis-op-i-1.c,
gcc.target/cris/torture/sync-mis-op-i-1a.c,
gcc.target/cris/torture/sync-mis-op-i-2.c,
gcc.target/cris/torture/sync-mis-op-i-2a.c,
gcc.target/cris/torture/sync-mis-op-i-3.c,
gcc.target/cris/torture/sync-mis-op-i-3a.c,
gcc.target/cris/torture/sync-mis-op-s-1.c,
gcc.target/cris/torture/sync-mis-op-s-1a.c,
gcc.target/cris/torture/sync-mis-xchg-i-1.c,
gcc.target/cris/torture/sync-mis-xchg-i-1a.c,
gcc.target/cris/torture/sync-mis-xchg-i-2.c,
gcc.target/cris/torture/sync-mis-xchg-i-2a.c,
gcc.target/cris/torture/sync-mis-xchg-i-3.c,
gcc.target/cris/torture/sync-mis-xchg-i-3a.c,
gcc.target/cris/torture/sync-mis-xchg-s-1.c,
gcc.target/cris/torture/sync-mis-xchg-s-1a.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188097 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago Add CRIS atomic patterns for 1, 2, and 4 bytes.
hp [Fri, 1 Jun 2012 05:49:16 +0000 (05:49 +0000)]
Add CRIS atomic patterns for 1, 2, and 4 bytes.
* config/cris/cris.c (cris_emit_trap_for_misalignment): New function.
* config/cris/cris-protos.h: Declare it.
* config/cris/cris.h [!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]
(TARGET_DEFAULT): Add alignment by 32.
[!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 10] (TARGET_DEFAULT): New
case, as TARGET_CPU_DEFAULT == 0 but with alignment as for
TARGET_CPU_DEFAULT == 32.
(TARGET_TRAP_UNALIGNED_ATOMIC): New macro.
* config/cris/cris.md: Include sync.md.  Avoid allocating specific
numbers by replacing the define_constants for all UNSPECs with the
equivalent define_c_enum construct.
* config/cris/cris.opt (mtrap-unaligned-atomic): New option.
* config/cris/sync.md: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188096 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
redi [Fri, 1 Jun 2012 00:47:32 +0000 (00:47 +0000)]
* doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188095 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 1 Jun 2012 00:18:00 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188094 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoSparc longlong.h enhancements.
davem [Fri, 1 Jun 2012 00:12:22 +0000 (00:12 +0000)]
Sparc longlong.h enhancements.

libgcc/

* longlong.h [SPARC] (umul_ppmm, udiv_qrnnd): Use hardware integer multiply
and divide instructions on 32-bit when V9.
(add_ssaaaa, sub_ddmmss): Convert to branchless code on 64-bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188090 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-31 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 31 May 2012 23:02:18 +0000 (23:02 +0000)]
2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/53543
* include/bits/hashtable_policy.h (_Insert::__is_convertible):
Rename to __is_conv to avoid clash with clang built-in.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188088 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Thu, 31 May 2012 21:32:01 +0000 (21:32 +0000)]
gcc/
2012-02-24  Matt Turner  <mattst88@gmail.com>

* config/mips/4600.md (r4600_imul_si): Rename from r4600_imul.
(r4600_imul_di): New.
(r4600_idiv_si): Rename from r4600_idiv.
(r4600_idiv_di): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188083 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * output.h (__gcc_host_wide_int__): Move to hwint.h.
steven [Thu, 31 May 2012 20:19:00 +0000 (20:19 +0000)]
* output.h (__gcc_host_wide_int__): Move to hwint.h.
(decl_default_tls_model): Move to tree.h
(dump_file): Move to system.h.
(default_stabs_asm_out_destructor, default_stabs_asm_out_constructor,
dbxout_int, dbxout_stabd, dbxout_begin_stabn, dbxout_begin_stabn_sline,
dbxout_begin_empty_stabs, dbxout_begin_simple_stabs,
dbxout_begin_simple_stabs_desc, dbxout_stab_value_zero,
dbxout_stab_value_zero, dbxout_stab_value_label_diff,
dbxout_stab_value_internal_label,
dbxout_stab_value_internal_label_diff): Move from here ...
* dbxout.h: ... to here.
* system.h (dump_file): Moved here from output.h.
* hwint.h (__gcc_host_wide_int__): Moved here from output.h.
* tree.h (decl_default_tls_model): Moved here from output.h.
* varasm.c (default_stabs_asm_out_destructor,
default_stabs_asm_out_constructor): Move from here ...
* dbxout.c: ... to here.

* gcov-dump.c (dump_file): Rename to dump_gcov_file.  Update callers.

* collect2.h (dump_file): Rename to dump_ld_file.
* collect2.c: Likewise.
* tlink.c: Likewise.

* alias.c: Do not include output.h.
* auto-inc-dec.c: Likewise.
* bt-load.c: Likewise.
* caller-save.c: Likewise.
* cfg.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfglayout.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraphclones.c: Likewise.
* combine-stack-adj.c: Likewise.
* combine.c: Likewise.
* cprop.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* dbgcnt.c: Likewise.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* dojump.c: Likewise.
* fwprop.c: Likewise.
* gcse.c: Likewise.
* graph.c: Likewise.
* haifa-sched.c: Likewise.
* hw-doloop.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-utils.c: Likewise.
* ira-build.c: Likewise.
* ira-emit.c: Likewise.
* lcm.c: Likewise.
* loop-doloop.c: Likewise.
* loop-invariant.c: Likewise.
* loop-iv.c: Likewise.
* loop-unroll.c: Likewise.
* loop-unswitch.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-section-in.c: Likewise.
* lto-streamer-in.c: Likewise.
* mcf.c: Likewise.
* mode-switching.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* profile.c: Likewise.
* ree.c: Likewise.
* reg-stack.c: Likewise.
* regcprop.c: Likewise.
* regmove.c: Likewise.
* regstat.c: Likewise.
* reload1.c: Likewise.
* sched-ebb.c: Likewise.
* sel-sched-dump.c: Likewise.
* simplify-rtx.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* tracer.c: Likewise.
* tree-affine.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-dfa.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-optimize.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* web.c: Likewise.

* config/m32r/m32r.c: Include dbxout.h.
* config/pa/pa.c: Likewise.
* config/rs6000/rs6000.c: Likewise.

* Makefile.in: Fix dependencies.
* config/rs6000/t-rs5000: Likewise.

c-family/
* c-ada-spec.c: Do not include output.h.
* c-semantics.c: Likewise.

cp/
* call.c: Do not include output.h.
* class.c: Likewise.
* except.c: Likewise.
* friend.c: Likewise.
* init.c: Likewise.
* lex.c: Likewise.
* method.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.

objc/
* objc-act.c: Do not include output.h.

fortran/
* trans-common.c: Do not include output.h.
* trans-decl.c: Likewise.

java/
* resource.c: Do not include output.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188082 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/52558
aldyh [Thu, 31 May 2012 19:46:43 +0000 (19:46 +0000)]
    PR tree-optimization/52558
        * cfg.c (alloc_aux_for_edge): Fix comment.
        (alloc_aux_for_edge): Remove static.
        * basic-block.h (alloc_aux_for_edge): Protoize.
        * tree-ssa-loop-im.c (execute_sm_if_changed): New.
        (execute_sm_if_changed_flag): New.
        (execute_sm_if_changed_flag_set): New.
        (execute_sm): Do not generate data races unless requested.
        (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
        (tree_ssa_lim_finalize): Call free_aux_for_edges.
        * gimple.h (block_in_transaction): New.
        (gimple_in_transaction): Use block_in_transaction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188081 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-31 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 31 May 2012 18:51:27 +0000 (18:51 +0000)]
2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/51007
        * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
        * configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188076 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd new skeleton ChangeLog file generator to contrib/
dnovillo [Thu, 31 May 2012 18:01:15 +0000 (18:01 +0000)]
Add new skeleton ChangeLog file generator to contrib/

This script analyzes a .diff file and generates a skeleton ChangeLog
entry for it.  It tries fairly hard to find function names, so it's
important to use the -p switch with diff.

I wrote the initial code a while ago.  Cary added a bunch of smarts to
make it understand C++ and guess the function names better than the
original version.

2012-05-31   Diego Novillo  <dnovillo@google.com>
     Cary Coutant  <ccoutant@google.com>

* mklog: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188072 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/51345
gjl [Thu, 31 May 2012 17:32:42 +0000 (17:32 +0000)]
PR target/51345
* config/avr/avr.opt (-msp8): Document it.
* doc/invoke.texi (AVR Options): Ditto.  And document related
built-in macros.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188070 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix compilation of build/*.o when using C++.
dnovillo [Thu, 31 May 2012 17:25:41 +0000 (17:25 +0000)]
Fix compilation of build/*.o when using C++.

Found this while testing the C++ conversion for vec.[ch] on the
cxx-conversion branch.  We do not build the build/*.o files with g++,
so I was getting lots of syntax errors while compiling build/vec.o.

2012-05-31   Diego Novillo  <dnovillo@google.com>

       * configure.ac (CXX_FOR_BUILD): Define and substitute.
       (BUILD_CXXFLAGS): Define and substitute.
       * Makefile.in (BUILD_CXXFLAGS): Define.
       (CXX_FOR_BUILD): Define.
       (COMPILER_FOR_BUILD): Set to CXX_FOR_BUILD if building with C++.
       (LINKER_FOR_BUILD): Likewise.
       (BUILD_COMPILERFLAGS): Set to BUILD_CXXFLAGS if building with C++.
       (BUILD_LINKERFLAGS): Likewise.
       * configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188069 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * Makefile.in: Fix many dependencies.
steven [Thu, 31 May 2012 16:43:31 +0000 (16:43 +0000)]
* Makefile.in: Fix many dependencies.
* tree-profile.c: Don't include regs.h.
* tree-vectorizer.c: Don't include cfglayout.h.
* tree-vect-stmts.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-loop.c: Likewise.
* reg-stack.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* toplev.c: Likewise.
* varasm.c: Don't include cfglayout.h, basic-block.h,
and tree-iterator.h.
* tree-cfgcleanup.c: Don't include cfglayout.h.
* passes.c: Don't include cfglayout.h, dwarf2asm.h,
dwarf2out.h, dbxout.h, sdbout.h, and xcoffout.h.
* cgraphclones.c: Don't include plugin.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188068 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/avr/gen-avr-mmcu-texi.c: Sort MCUs.
gjl [Thu, 31 May 2012 15:07:32 +0000 (15:07 +0000)]
* config/avr/gen-avr-mmcu-texi.c: Sort MCUs.
* doc/avr-mmcu.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188067 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/avr/t-avr: Correct avr-mmcu.texi dependencies.
gjl [Thu, 31 May 2012 15:01:03 +0000 (15:01 +0000)]
* config/avr/t-avr: Correct avr-mmcu.texi dependencies.
(s-avr-mmcu-texi): Don't sed on gen-avr-mmcu-texi output.
* doc/avr-mmcu.texi (svn:eol-style): Set to native.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188065 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-31 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 31 May 2012 14:39:52 +0000 (14:39 +0000)]
2012-05-31  Richard Guenther  <rguenther@suse.de>

* tree-loop-distribution.c (struct partition_s): New struct,
typedef and vector type.
(partition_alloc, partition_free): New functions.
(generate_loops_for_partition, generate_builtin,
generate_code_for_partition, rdg_flag_uses, rdg_flag_vertex,
rdg_flag_vertex_and_dependent, rdg_flag_loop_exits,
build_rdg_partition_for_component, can_generate_builtin,
similar_memory_accesses, fuse_partitions_with_similar_memory_accesses,
rdg_build_partitions, dump_rdg_partitions, debug_rdg_partitions,
number_of_rw_in_partition, partition_contains_all_rw,
ldist_gen): Use partition_t instead of bitmap.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188064 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-31 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 31 May 2012 14:28:41 +0000 (14:28 +0000)]
2012-05-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53521
        * trans.c (gfc_deallocate_scalar_with_status): Properly
        handle the case size == 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188062 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-31 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 31 May 2012 13:57:15 +0000 (13:57 +0000)]
2012-05-31  Richard Guenther  <rguenther@suse.de>

* tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
Use FOR_EACH_SSA_DEF_OPERAND.
(generate_builtin): Adjust.
(stmt_generated_in_another_partition): Remove.
(add_scalar_computations_to_partition): Likewise.
(rdg_build_partitions): Do not call
add_scalar_computations_to_partition.

* gcc.dg/tree-ssa/ldist-pr45948-2.c: New testcase copy of
ldist-pr45948.c with disabled SCCP.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188061 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-dfa.c (get_ref_base_and_extent): Compute the offset using
ebotcazou [Thu, 31 May 2012 13:40:03 +0000 (13:40 +0000)]
* tree-dfa.c (get_ref_base_and_extent): Compute the offset using
double ints throughout.
* tree-sra.c (build_user_friendly_ref_for_offset) <RECORD_TYPE>:
Check that the position of the field is representable as an integer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188060 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-31 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 31 May 2012 11:06:35 +0000 (11:06 +0000)]
2012-05-31  Richard Guenther  <rguenther@suse.de>

PR middle-end/48493
* gcc.dg/torture/pr48493.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188058 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-31 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 31 May 2012 11:05:51 +0000 (11:05 +0000)]
2012-05-31  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (dr_analyze_innermost): Properly convert
the MEM_REF offset to sizetype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188057 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/testsuite
gretay [Thu, 31 May 2012 09:57:17 +0000 (09:57 +0000)]
gcc/testsuite

2012-05-31  Greta Yorsh  <Greta.Yorsh@arm.com>

* lib/target-supports.exp (check_effective_target_vect_char_mult): Add
arm32 to targets.
* gcc.dg/vect/slp-perm-8.c (main): Prevent vectorization
of the initialization loop.
        (dg-final): Adjust the expected number of vectorized loops depending
on vect_char_mult target selector.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188054 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/invoke.texi (AVR Options): Fix typos.
gjl [Thu, 31 May 2012 09:35:58 +0000 (09:35 +0000)]
* doc/invoke.texi (AVR Options): Fix typos.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188053 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/cris/asm-v8.S, gcc.target/cris/asm-v10.S,
hp [Thu, 31 May 2012 09:30:24 +0000 (09:30 +0000)]
* gcc.target/cris/asm-v8.S, gcc.target/cris/asm-v10.S,
gcc.target/cris/asm-other.S, gcc.target/cris/inasm-v8.c,
gcc.target/cris/inasm-v10.c, gcc.target/cris/inasm-other.c:
New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188052 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/cris/cris.h (CC1_SPEC): Pass through all -march=
hp [Thu, 31 May 2012 09:28:28 +0000 (09:28 +0000)]
* config/cris/cris.h (CC1_SPEC): Pass through all -march=
and -mcpu= options.
(ASM_SPEC): Ditto, not just -march=v32, but translate non-v10,
non-v32 into --march=v0_v0_v10.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188051 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-31 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 31 May 2012 06:10:18 +0000 (06:10 +0000)]
2012-05-31  Tobias Burnus  <burnus@net-b.de>

        Revert:
        2012-05-16  Tobias Burnus  <burnus@net-b.de>

        * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188048 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Thu, 31 May 2012 05:30:31 +0000 (05:30 +0000)]
gcc/
* ira-int.h (target_ira_int): Rename x_move_cost to
x_ira_register_move_cost, x_may_move_in_cost to
x_ira_may_move_in_cost and x_may_move_out_cost to
x_ira_may_move_out_cost.  Delete the old fields with
those names and also x_ira_max_register_move_cost,
x_ira_max_may_move_in_cost and x_ira_max_may_move_out_cost.
(move_cost, may_move_in_cost, may_move_out_cost)
(ira_max_register_move_cost, ira_max_may_move_in_cost)
(ira_max_may_move_out_cost): Delete.
* ira.c (init_move_cost): Rename to...
(ira_init_register_move_cost): ...this, deleting the old
function with that name.  Apply above variable renamings.
Retain asserts for null fields.
(ira_init_once): Don't initialize register move costs here.
(free_register_move_costs): Apply above variable renamings.
Remove code for deleted fields.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188047 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Thu, 31 May 2012 05:30:19 +0000 (05:30 +0000)]
gcc/
* ira.c (init_move_cost): Adjust choice of subclasses to match
the current ira_init_register_move_cost choice.  Use
ira_class_subset_p instead of reg_class_subset_p.
(ira_init_register_move_cost): Assert that move_cost,
may_move_in_cost and may_move_out_cost already hold the desired
values for their ira_* equivalents.  For the latter two,
ignore classes that can't store a register of the given mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188046 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Thu, 31 May 2012 05:30:07 +0000 (05:30 +0000)]
gcc/
* ira.c (setup_allocno_and_important_classes): Use
ira_class_hard_regs_num to check whether a class has any
allocatable registers.
(ira_init_register_move_cost): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188045 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Thu, 31 May 2012 05:29:57 +0000 (05:29 +0000)]
gcc/
* ira.c (init_move_cost): Adjust local variable names to match
file conventions.  Use ira_assert instead of gcc_assert.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188044 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Thu, 31 May 2012 05:29:47 +0000 (05:29 +0000)]
gcc/
* regs.h (move_table, move_cost, may_move_in_cost, may_move_out_cost):
Move these definitions and associated target_globals fields to...
* ira-int.h: ...here.
* rtl.h (init_move_cost): Delete.
* reginfo.c (last_mode_for_init_move_cost, init_move_cost): Move to...
* ira.c: ...here, making the latter static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188043 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Thu, 31 May 2012 05:29:36 +0000 (05:29 +0000)]
gcc/
* ira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary
and ira_register_move_cost instead of init_move_cost and move_cost.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188042 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Thu, 31 May 2012 05:27:03 +0000 (05:27 +0000)]
gcc/
* ira.h (target_ira): Delete x_ira_available_class_regs.
(ira_available_class_regs): Delete.
* ira.c (setup_available_class_regs): Delete.
(setup_alloc_classes): Don't call it.
(setup_pressure_classes): Use ira_class_hard_regs_num instead of
ira_available_class_regs.
* haifa-sched.c (print_curr_reg_pressure, setup_insn_reg_pressure_info)
(model_spill_cost): Likewise.
* ira-build.c (low_pressure_loop_node_p): Likewise.
* ira-color.c (color_pass): Likewise.
* ira-emit.c (change_loop): Likewise.
* ira-lives.c (inc_register_pressure, dec_register_pressure)
(single_reg_class, ira_implicitly_set_insn_hard_regs)
(process_bb_node_lives): Likewise.
* loop-invariant.c (gain_for_invariant): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188041 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Thu, 31 May 2012 00:17:38 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188039 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: Don't crash for invalid constant types for && or ||.
ian [Wed, 30 May 2012 23:04:47 +0000 (23:04 +0000)]
compiler: Don't crash for invalid constant types for && or ||.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188033 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
danglin [Wed, 30 May 2012 22:54:20 +0000 (22:54 +0000)]
2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

PR target/52999
* config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
(pa_section_type_flags): New.
(pa_legitimate_constant_p): Revert previous change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188031 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/53356
jason [Wed, 30 May 2012 22:07:23 +0000 (22:07 +0000)]
PR c++/53356
* tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR
representing a bitwise copy of a glvalue.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188029 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree.c (stabilize_expr): Tweak logic.
jason [Wed, 30 May 2012 22:07:14 +0000 (22:07 +0000)]
* tree.c (stabilize_expr): Tweak logic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188028 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ira.c (allocate_initial_values): Make static.
steven [Wed, 30 May 2012 17:43:35 +0000 (17:43 +0000)]
* ira.c (allocate_initial_values): Make static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188025 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-30 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 30 May 2012 16:44:42 +0000 (16:44 +0000)]
2012-05-30  Tobias Burnus  <burnus@net-b.de>

        PR c/53502
        * decl.c (match_attr_spec): Remove "typedef".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188024 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>:
uros [Wed, 30 May 2012 14:52:38 +0000 (14:52 +0000)]
* config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>:
Generate tls_initial_exec_64_sun only when !TARGET_X32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188022 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/53356
jason [Wed, 30 May 2012 14:50:44 +0000 (14:50 +0000)]
PR c++/53356
* tree.c (stabilize_init): Side effects make the init unstable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188019 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-30 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 30 May 2012 12:29:26 +0000 (12:29 +0000)]
2012-05-30  Richard Guenther  <rguenther@suse.de>

PR middle-end/53501
* fold-const.c (fold_binary_loc): Make sure to call
fold_plusminus_mult_expr with the original sign of operands.

* gcc.dg/torture/pr53501.c: New testcase.
* c-c++-common/restrict-2.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188009 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/powerpc/powerpc.exp: Load torture-options.exp, call
amodra [Wed, 30 May 2012 11:41:23 +0000 (11:41 +0000)]
* gcc.target/powerpc/powerpc.exp: Load torture-options.exp, call
torture-finish.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188008 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * Makefile.in: Fix many dependencies.
steven [Wed, 30 May 2012 10:55:53 +0000 (10:55 +0000)]
* Makefile.in: Fix many dependencies.
(DWARF2_H): Depend on dwarf2.def.
(RTL_ERROR_H): Depend on rtl-error.h.
(TREE_PRETTY_PRINT_H, GIMPLE_PRETTY_PRINT_H): New.  Replace
all gimple-pretty-print.h and tree-pretty-print.h references.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188007 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-30 Marc Glisse <marc.glisse@inria.fr>
glisse [Wed, 30 May 2012 10:48:06 +0000 (10:48 +0000)]
2012-05-30  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of
concatenations.

gcc/testsuite/
* gcc.target/i386/shuf-concat.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188006 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-30 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 30 May 2012 09:14:27 +0000 (09:14 +0000)]
2012-05-30  Richard Guenther  <rguenther@suse.de>

PR middle-end/53522
* tree-emutls.c (gen_emutls_addr): Do not add globals to
referenced-vars.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188005 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * explow.c (probe_stack_range): Restore simple control flow and stop
ebotcazou [Wed, 30 May 2012 08:52:36 +0000 (08:52 +0000)]
* explow.c (probe_stack_range): Restore simple control flow and stop
again when the probe cannot be generated if HAVE_check_stack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188003 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/53519
jakub [Wed, 30 May 2012 06:53:46 +0000 (06:53 +0000)]
PR rtl-optimization/53519
* combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.

* gcc.c-torture/compile/pr53519.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188001 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-30 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 30 May 2012 06:26:09 +0000 (06:26 +0000)]
2012-05-30  Tobias Burnus  <burnus@net-b.de>

        * decl.c: Fix comment typos.
        * expr.c: Ditto.
        * frontend-passes.c: Ditto.
        * match.c: Ditto.
        * resolve.c: Ditto.
        * trans-array.c: Ditto.
        * trans-common.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-types.c: Ditto.

2012-05-30  Tobias Burnus  <burnus@net-b.de>

        * io/io.h: Fix comment typos.
        * io/list_read.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188000 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
ramana [Wed, 30 May 2012 01:40:32 +0000 (01:40 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187999 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Wed, 30 May 2012 00:17:54 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187998 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
mrs [Tue, 29 May 2012 23:44:09 +0000 (23:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187994 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoOops, wrong changelog, this is the right one:
mrs [Tue, 29 May 2012 23:24:33 +0000 (23:24 +0000)]
Oops, wrong changelog, this is the right one:

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187993 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-29 Iain Sandoe <iains@gcc.gnu.org>
mrs [Tue, 29 May 2012 23:20:33 +0000 (23:20 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187992 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/51340
olegendo [Tue, 29 May 2012 20:55:58 +0000 (20:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187988 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/52941
olegendo [Tue, 29 May 2012 20:26:41 +0000 (20:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187987 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-29 Edmar Wienskoski <edmar@freescale.com>
edmarwjr [Tue, 29 May 2012 20:18:29 +0000 (20:18 +0000)]
2012-05-29  Edmar Wienskoski  <edmar@freescale.com>

*  MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187986 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-29 François Dumont <fdumont@gcc.gnu.org>
fdumont [Tue, 29 May 2012 19:29:29 +0000 (19:29 +0000)]
2012-05-29  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
(__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
with iterator returning rvalue.
* testsuite/25_algorithms/stable_sort/3.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187985 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agofixincludes/
tschwinge [Tue, 29 May 2012 19:28:57 +0000 (19:28 +0000)]
fixincludes/
* configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead of
gcc_AC_FUNC_MMAP_BLACKLIST.
* Makefile.in (ACLOCAL_AMFLAGS): Don't include ../gcc.
* aclocal.m4: Regenerate.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187984 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * lto-plugin.c: Fix typo.
jsm28 [Tue, 29 May 2012 19:21:25 +0000 (19:21 +0000)]
* lto-plugin.c: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187982 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * mf-impl.h: Fix typo.
jsm28 [Tue, 29 May 2012 19:21:05 +0000 (19:21 +0000)]
* mf-impl.h: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187981 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * c-common.c: Fix typo.
jsm28 [Tue, 29 May 2012 19:20:43 +0000 (19:20 +0000)]
* c-common.c: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187980 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-29 Meador Inge <meadori@codesourcery.com>
jsm28 [Tue, 29 May 2012 19:07:04 +0000 (19:07 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187979 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.
rth [Tue, 29 May 2012 18:52:25 +0000 (18:52 +0000)]
    * config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.
        (define_bypass "ev6_fcmov"): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187978 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * mt-sde: Fix typos.
jsm28 [Tue, 29 May 2012 15:54:57 +0000 (15:54 +0000)]
* mt-sde: Fix typos.
* stdint.m4: Fix typos.
* tcl.m4: Fix typos.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187971 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * integrate.c: Remove.
steven [Tue, 29 May 2012 15:36:18 +0000 (15:36 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187969 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/avr/t-avr (s-avr-mmcu-texi): Call
gjl [Tue, 29 May 2012 15:21:34 +0000 (15:21 +0000)]
* config/avr/t-avr (s-avr-mmcu-texi): Call
gen-avr-mmcu-texi$(build_exeext) via ./ and don't assume . is in PATH.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187968 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/arm/ieee754-df.S: Fix typos.
jsm28 [Tue, 29 May 2012 14:54:22 +0000 (14:54 +0000)]
* config/arm/ieee754-df.S: Fix typos.
* config/arm/ieee754-sf.S: Fix typos.
* config/c6x/libunwind.S: Fix typos.
* config/epiphany/udivsi3-float.c: Fix typos.
* config/microblaze/muldi3_hard.S: Fix typos.
* config/picochip/adddi3.S: Fix typos.
* config/picochip/ashlsi3.S: Fix typos.
* config/picochip/ashrsi3.S: Fix typos.
* config/picochip/clzsi2.S: Fix typos.
* config/picochip/cmpsi2.S: Fix typos.
* config/picochip/divmod15.S: Fix typos.
* config/picochip/divmodhi4.S: Fix typos.
* config/picochip/divmodsi4.S: Fix typos.
* config/picochip/longjmp.S: Fix typos.
* config/picochip/lshrsi3.S: Fix typos.
* config/picochip/parityhi2.S: Fix typos.
* config/picochip/popcounthi2.S: Fix typos.
* config/picochip/setjmp.S: Fix typos.
* config/picochip/subdi3.S: Fix typos.
* config/picochip/ucmpsi2.S: Fix typos.
* config/picochip/udivmodhi4.S: Fix typos.
* config/picochip/udivmodsi4.S: Fix typos.
* config/spu/divv2df3.c: Fix typos.
* config/spu/mfc_multi_tag_release.c: Fix typos.
* config/spu/mfc_tag_release.c: Fix typos.
* configure.ac: Fix typos.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187967 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * directives.c: Fix typos.
jsm28 [Tue, 29 May 2012 14:53:50 +0000 (14:53 +0000)]
* directives.c: Fix typos.
* include/line-map.h: Fix typos.
* line-map.c: Fix typos.
* macro.c: Fix typos.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187966 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * rtl.h (assign_stack_temp, assign_stack_temp_for_type,
matz [Tue, 29 May 2012 14:44:47 +0000 (14:44 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187965 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate
matz [Tue, 29 May 2012 14:41:53 +0000 (14:41 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187962 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-29 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 29 May 2012 14:40:16 +0000 (14:40 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187961 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * LANGUAGES: Fix typos.
jsm28 [Tue, 29 May 2012 14:14:06 +0000 (14:14 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187959 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/include/texinfo.tex: Update to version 2012-05-16.16.
jsm28 [Tue, 29 May 2012 13:39:54 +0000 (13:39 +0000)]
* doc/include/texinfo.tex: Update to version 2012-05-16.16.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187956 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-29 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 29 May 2012 12:48:34 +0000 (12:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187955 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * alias.c (reg_known_value): Make this a VEC.
steven [Tue, 29 May 2012 11:37:21 +0000 (11:37 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187953 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/53510
jakub [Tue, 29 May 2012 11:34:38 +0000 (11:34 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187952 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
paolo [Tue, 29 May 2012 10:09:51 +0000 (10:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187948 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR bootstrap/53459 - unused local typedef when building on altivec
dodji [Tue, 29 May 2012 09:42:39 +0000 (09:42 +0000)]
PR bootstrap/53459 - unused local typedef when building on altivec

PR bootstrap/53459
* lex.c (search_line_fast): Avoid unused local typedefs to simulate
a static assertion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187947 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRevert "PR bootstrap/53459 - unused local typedef when building on altivec"
dodji [Tue, 29 May 2012 09:42:28 +0000 (09:42 +0000)]
Revert "PR bootstrap/53459 - unused local typedef when building on altivec"

This reverts commit r187853

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187946 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR preprocessor/53229 - Fix diagnostics location when pasting tokens
dodji [Tue, 29 May 2012 09:36:29 +0000 (09:36 +0000)]
PR preprocessor/53229 - Fix diagnostics location when pasting tokens

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187945 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/cris/torture/trap-1.c,
hp [Tue, 29 May 2012 01:54:09 +0000 (01:54 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187943 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8):
hp [Tue, 29 May 2012 01:52:16 +0000 (01:52 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187942 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Tue, 29 May 2012 00:17:51 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187941 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/c-family
paolo [Mon, 28 May 2012 17:42:29 +0000 (17:42 +0000)]
/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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187937 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix grammo in last CL entry.
hp [Mon, 28 May 2012 16:05:36 +0000 (16:05 +0000)]
Fix grammo in last CL entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187936 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/md.texi (Standard Names): Fix typos in documentation for atomic patterns.
hp [Mon, 28 May 2012 16:04:14 +0000 (16:04 +0000)]
* doc/md.texi (Standard Names): Fix typos in documentation for atomic patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187935 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/md.texi (stack_protect_test): Remove negation of
hp [Mon, 28 May 2012 15:43:42 +0000 (15:43 +0000)]
* doc/md.texi (stack_protect_test): Remove negation of
        branch to label.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187934 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/53505
jakub [Mon, 28 May 2012 14:28:00 +0000 (14:28 +0000)]
PR tree-optimization/53505
* c-c++-common/torture/pr53505.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187931 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/cp
paolo [Mon, 28 May 2012 12:09:01 +0000 (12:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187928 138bc75d-0d04-0410-961f-82ee72b054a4