Jason Merrill [Mon, 7 Nov 2011 17:51:16 +0000 (12:51 -0500)]
decl.c (cp_finish_decl): Only make_tree_vector if we're calling check_initializer.
* decl.c (cp_finish_decl): Only make_tree_vector if we're calling
check_initializer.
From-SVN: r181099
Rainer Orth [Mon, 7 Nov 2011 17:14:32 +0000 (17:14 +0000)]
Append to HOST_LIBGCC2_CFLAGS in libgcc
* config.host (tmake_file): Correct comment.
(bfin*-elf*): Remove bfin/t-elf from tmake_file, add
t-libgcc-pic.
(bfin*-uclinux*): Likewise.
(bfin*-linux-uclibc*): Likewise.
(xstormy16-*-elf): Add stormy16/t-stormy16 to tmake_file.
* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Append instead of
assigning.
* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Likewise.
* config/c6x/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/h8300/t-h8300 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/lm32/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/m32r/t-m32r (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mips/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Likewise.
* config/pdp11/t-pdp11 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/picochip/t-picochip (HOST_LIBGCC2_CFLAGS): Likewise.
* config/stormy16/t-stormy16 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/t-openbsd-thread (HOST_LIBGCC2_CFLAGS): Likewise.
* config/bfin/t-elf: Remove.
* config/t-vxworks (HOST_LIBGCC2_CFLAGS): Remove.
From-SVN: r181098
Rainer Orth [Mon, 7 Nov 2011 17:12:33 +0000 (17:12 +0000)]
Consistently use t-rtems in libgcc
* config.host (*-*-rtems*): Add t-rtems to tmake_file.
(i[34567]86-*-rtems*): Remove t-rtems from tmake_file.
(lm32-*-elf*, lm32-*-rtems*): Split into ...
(lm32-*-elf*): ... this.
(lm32-*-rtems*): ... and this.
Add to tmake_file.
(m32r-*-rtems*): Add to tmake_file.
(moxie-*-rtems*): Likewise.
(sparc-*-rtems*): Likewise.
Remove t-rtems from tmake_file.
(sparc64-*-rtems*): Likewise.
* config/t-rtems (HOST_LIBGCC2_CFLAGS): Use LIBGCC2_INCLUDES
instead.
From-SVN: r181097
H.J. Lu [Mon, 7 Nov 2011 16:38:24 +0000 (16:38 +0000)]
Check HARD_FRAME_POINTER_REGNUM.
2011-11-07 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2cfi.c (dwarf2out_frame_debug_expr): Check
HARD_FRAME_POINTER_REGNUM instead of hard_frame_pointer_rtx
in Rule 18.
From-SVN: r181096
Rainer Orth [Mon, 7 Nov 2011 16:34:31 +0000 (16:34 +0000)]
Return gthr-posix.h to libgcc (PR bootstrap/50982)
libgcc:
PR bootstrap/50982
* config/gthr-posix.h: Move ...
* gthr-posix.h: ... here.
* config/gthr-lynx.h: Reflect this.
* config/gthr-vxworks.h: Likewise.
* config/rs6000/gthr-aix.h: Likewise.
* configure.ac (target_thread_file): Likewise.
* configure: Regenerate.
libstdc++-v3:
PR bootstrap/50982
* include/Makefile.am (${host_builddir}/gthr-posix.h): Reflect
gthr-posix.h move.
* include/Makefile.in: Regenerate.
From-SVN: r181095
Arnaud Charlet [Mon, 7 Nov 2011 16:30:55 +0000 (17:30 +0100)]
[multiple changes]
2011-11-07 Olivier Hainque <hainque@adacore.com>
* sigtramp-ppcvxw.c: Add general comments.
(CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add
rules for r2 to r13, plus CTR and XER.
(CFA_REG): New, register number used to hold the local CFA.
(CFI_DEF_CFA, SIGTRAMP_BODY): Use it.
Make that 15, not 14, with documentation.
(TCR): Undef before definition, preventing conflict with reg number in
VxWorks headers.
2011-11-07 Robert Dewar <dewar@adacore.com>
* exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb,
aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb: A tagged type is a legal actual for an aliased
formal.
2011-11-07 Pascal Obry <obry@adacore.com>
* g-socket.adb, g-socket.ads: Minor reformatting.
2011-11-07 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Actuals): Minor error message improvement.
2011-11-07 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add discussion of default mode handling of
source representation with no -gnatW option given, in particular
noting that NEL (next line) is not recognized in this context.
From-SVN: r181094
Arnaud Charlet [Mon, 7 Nov 2011 16:25:32 +0000 (17:25 +0100)]
[multiple changes]
2011-11-07 Yannick Moy <moy@adacore.com>
* sem_util.adb (Note_Possible_Modification): In Alfa mode,
generate a reference for a modification even when the modification
does not come from source.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Iterator_Loop): For the "of" iterator form,
use the indexing attributes rather than the Element function,
to obtain variable references.
* sem_ch4.adb (Try_Container_Indexing): Code cleanup. Use
Find_Aspect rather than iterating over representation
items. Improve error message.
* a-cohama.adb, a-cohama.ads Update to latest RM, with two versions
of Reference functions.
From-SVN: r181093
Arnaud Charlet [Mon, 7 Nov 2011 16:22:28 +0000 (17:22 +0100)]
[multiple changes]
2011-11-07 Yannick Moy <moy@adacore.com>
* sem_util.adb (Unique_Entity): For a parameter on a subprogram
body that has a corresponding parameter on the subprogram
declaration, define the unique entity as being the declaration
one.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Return_Type): In Ada 2012 mode, if the
return type of a function is the class-wide type of an incomplete
type T, T can be a Taft-amendment type and does not have to be
completed in the current private part.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* aspects.ads (Inherited_Aspect): Map that indicates type aspects
that are inherited by default, and apply to the class-wide type
as well.
* aspects.adb (Find_Aspect): If the entity is class-wide and the
aspect is inherited, use the aspect of the specific type.
From-SVN: r181092
Arnaud Charlet [Mon, 7 Nov 2011 16:20:14 +0000 (17:20 +0100)]
[multiple changes]
2011-11-07 Hristian Kirtchev <kirtchev@adacore.com>
* exp_alfa.adb: Remove with and use clause for
Exp_Ch8. Add with and use clause for Exp_Util.
Remove local constant Disable_Processing_Of_Renamings.
(Expand_Alfa_N_Object_Renaming_Declaration): The expansion of
object renamings has been reenabled.
(Expand_Possible_Renaming):
The expansion of identifier and expanded names has been
reenabled. Perform the substitutions only for entities that
denote an object.
* exp_ch8.ads, exp_ch8.adb (Evaluate_Name): Moved to Exp_Util.
* exp_util.adb (Evaluate_Name): Moved from Exp_Ch8.
(Remove_Side_Effects): Alphabetize local variables. Add a guard
to avoid the infinite expansion of an expression in Alfa mode. Add
processing for function calls in Alfa mode.
* exp_util.ads (Evaliate_Name): Moved from Exp_Ch8.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Entity): If the entity is an access to
subprogram whose designated type is itself a subprogram type,
its own return type must be decorated with size information.
From-SVN: r181091
Jakub Jelinek [Mon, 7 Nov 2011 16:00:08 +0000 (17:00 +0100)]
i386.c (ix86_expand_builtin): If gather mask argument is known to have all high bits set...
* config/i386/i386.c (ix86_expand_builtin): If gather mask
argument is known to have all high bits set, pass pc_rtx as
second argument to the expander instead of op0.
* config/i386/sse.md (*avx2_gathersi<mode>_2,
*avx2_gatherdi<mode>_2): New patterns.
* config/i386/avx2intrin.h (_mm256_i32gather_pd,
_mm256_i64gather_pd, _mm256_i32gather_ps): Set mask using
_mm256_cmp_pd with zero vector arguments and _CMP_EQ_OQ instead of
_mm256_set1_pd.
From-SVN: r181090
Jakub Jelinek [Mon, 7 Nov 2011 15:59:07 +0000 (16:59 +0100)]
re PR tree-optimization/50789 (Gather vectorization)
PR tree-optimization/50789
* tree-vect-stmts.c (process_use): Add force argument, avoid
exist_non_indexing_operands_for_use_p check if true.
(vect_mark_stmts_to_be_vectorized): Adjust callers. Handle
STMT_VINFO_GATHER_P.
(gen_perm_mask): New function.
(perm_mask_for_reverse): Use it.
(reverse_vec_element): Rename to...
(permute_vec_elements): ... this. Add Y and MASK_VEC arguments,
generalize for any permutations.
(vectorizable_load): Adjust caller. Handle STMT_VINFO_GATHER_P.
* target.def (TARGET_VECTORIZE_BUILTIN_GATHER): New hook.
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_GATHER): Document it.
* doc/tm.texi: Regenerate.
* tree-data-ref.c (initialize_data_dependence_relation,
compute_self_dependence): No longer static.
* tree-data-ref.h (initialize_data_dependence_relation,
compute_self_dependence): New prototypes.
* tree-vect-data-refs.c (vect_check_gather): New function.
(vect_analyze_data_refs): Detect possible gather load data
refs.
* tree-vectorizer.h (struct _stmt_vec_info): Add gather_p field.
(STMT_VINFO_GATHER_P): Define.
(vect_check_gather): New prototype.
* config/i386/i386-builtin-types.def: Add types for alternate
gather builtins.
* config/i386/sse.md (AVXMODE48P_DI): Remove.
(VEC_GATHER_MODE): Rename mode_attr to...
(VEC_GATHER_IDXSI): ... this.
(VEC_GATHER_IDXDI, VEC_GATHER_SRCDI): New mode_attrs.
(avx2_gathersi<mode>, *avx2_gathersi<mode>): Use <VEC_GATHER_IDXSI>
instead of <VEC_GATHER_MODE>.
(avx2_gatherdi<mode>): Use <VEC_GATHER_IDXDI> instead of
<<AVXMODE48P_DI> and <VEC_GATHER_SRCDI> instead of VEC_GATHER_MODE
on src and mask operands.
(*avx2_gatherdi<mode>): Likewise. Use VEC_GATHER_MODE iterator
instead of AVXMODE48P_DI.
(avx2_gatherdi<mode>256, *avx2_gatherdi<mode>256): Removed.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_GATHERALTSIV4DF, IX86_BUILTIN_GATHERALTDIV8SF,
IX86_BUILTIN_GATHERALTSIV4DI and IX86_BUILTIN_GATHERALTDIV8SI.
(ix86_init_mmx_sse_builtins): Create those builtins.
(ix86_expand_builtin): Handle those builtins and adjust expansions
of other gather builtins.
(ix86_vectorize_builtin_gather): New function.
(TARGET_VECTORIZE_BUILTIN_GATHER): Define.
* gcc.target/i386/avx2-gather-1.c: New test.
* gcc.target/i386/avx2-gather-2.c: New test.
* gcc.target/i386/avx2-gather-3.c: New test.
* gcc.target/i386/avx2-gather-4.c: New test.
From-SVN: r181089
Janne Blomqvist [Mon, 7 Nov 2011 15:31:31 +0000 (17:31 +0200)]
clock and time are part of the C standard library.
2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
* intrinsic.texi (MCLOCK, MCLOCK8, TIME, TIME8): Functions clock
and time are part of the C standard library.
From-SVN: r181087
Uros Bizjak [Mon, 7 Nov 2011 15:21:35 +0000 (16:21 +0100)]
pr49781-1.c (dg-options): Add -mtune=generic.
* gcc.target/i386/pr49781-1.c (dg-options): Add -mtune=generic.
From-SVN: r181086
Janne Blomqvist [Mon, 7 Nov 2011 14:32:50 +0000 (16:32 +0200)]
Revert previous fix for PR 45723.
libgfortran ChangeLog:
2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/45723
* io/open.c (new_unit): Don't check file size before attempting
seek.
testsuite ChangeLog:
2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/45723
* gfortran.dg/open_dev_null.F90: Remove testcase.
From-SVN: r181085
Jonathan Wakely [Mon, 7 Nov 2011 13:45:03 +0000 (13:45 +0000)]
acinclude.m4 (GLIBCXX_CHECK_SC_NPROC_ONLN): Define.
* acinclude.m4 (GLIBCXX_CHECK_SC_NPROC_ONLN): Define.
(GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP): Define.
(GLIBCXX_CHECK_SYSCTL_HW_NCPU): Define.
* configure.ac: Use new checks.
* configure: Regenerate.
* config.h.in: Regenerate.
* src/thread.cc: Check new config macros.
* testsuite/lib/libstdc++.exp: Likewise.
From-SVN: r181084
Uros Bizjak [Mon, 7 Nov 2011 13:09:09 +0000 (14:09 +0100)]
target-supports.exp (check_effective_target_sync_int_128): Don't cache the result.
* lib/target-supports.exp (check_effective_target_sync_int_128):
Don't cache the result.
(check_effective_target_sync_long_long): Ditto.
From-SVN: r181082
Jonathan Wakely [Mon, 7 Nov 2011 11:36:04 +0000 (11:36 +0000)]
* config/abi/pre/gnu.ver: Fix exports for string::pop_back.
From-SVN: r181081
Uros Bizjak [Mon, 7 Nov 2011 10:23:56 +0000 (11:23 +0100)]
f16cintrin: Remove extra _X86INTRIN_H_INCLUDED check.
* config/i386/f16cintrin: Remove extra _X86INTRIN_H_INCLUDED check.
From-SVN: r181080
Tristan Gingold [Mon, 7 Nov 2011 10:17:44 +0000 (10:17 +0000)]
config.gcc (*-*-*vms*): Set c_target_objs, cxx_target_objs.
2011-11-07 Tristan Gingold <gingold@adacore.com>
* config.gcc (*-*-*vms*): Set c_target_objs, cxx_target_objs.
* config/vms/t-vms: Add vms-c.o rule.
* config/vms/vms-c.c: New file.
* config/vms/vms-protos.h (vms_c_register_pragma): New prototype.
* config/vms/vms.h (REGISTER_TARGET_PRAGMAS): Define.
From-SVN: r181079
Tristan Gingold [Mon, 7 Nov 2011 09:03:20 +0000 (09:03 +0000)]
vms.h (TARGET_OBJECT_SUFFIX, [...]): Move to config/vms/vms.h
2011-11-07 Tristan Gingold <gingold@adacore.com>
* config/alpha/vms.h (TARGET_OBJECT_SUFFIX,
TARGET_EXECUTABLE_SUFFIX, TARGET_OS_CPP_BUILTINS,
TARGET_ABI_OPEN_VMS, LONG_TYPE_SIZE, ADA_LONG_TYPE_SIZE,
POINTER_SIZE, POINTERS_EXTEND_UNSIGNED): Move to config/vms/vms.h
(SUBTARGET_OS_CPP_BUILTINS): Define.
(TARGET_DEFAULT): Tune according to POINTER_SIZE.
(MASK_RETURN_ADDR): Define in 64 bit mode.
* config/ia64/vms.h: Likewise.
* config/vms/vms.h: New file.
* config/vms/vms64.h: New file.
* config/alpha/vms64.h: Removed.
* config/ia64/vms64.h: Removed.
* config.gcc (alpha64-dec-*vms*, alpha*-dec-*vms*, ia64-hp-*vms*):
Adjust for above change.
From-SVN: r181078
Enkovich Ilya [Mon, 7 Nov 2011 08:47:15 +0000 (08:47 +0000)]
re PR target/50962 (Additional opportunity for AGU stall avoidance optimization for Atom processor)
gcc/
PR target/50962
* config/i386/i386-protos.h (ix86_use_lea_for_mov): New.
* config/i386/i386.c (ix86_use_lea_for_mov): Likewise.
* config/i386/i386.md (movsi_internal): Emit lea if profitable.
(movdi_internal_rex64): Likewise.
From-SVN: r181077
Jonathan Wakely [Mon, 7 Nov 2011 08:46:58 +0000 (08:46 +0000)]
acinclude.m4: Check for <stdalign.h>
* acinclude.m4: Check for <stdalign.h>
* configure: Regenerate.
* config.h.in: Likewise.
* include/Makefile.am: Add <cstdalign>.
* include/Makefile.in: Regenerate.
* include/c_global/cstdalign: New.
* testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: New.
* doc/xml/manual/backwards_compatibility.xml: Update.
* doc/xml/manual/status_cxx2011.xml: Update.
From-SVN: r181076
Sergey Ostanevich [Mon, 7 Nov 2011 08:41:55 +0000 (08:41 +0000)]
re PR rtl-optimization/47698 (CMOV accessing volatile memory with read side effect)
gcc/
PR rtl-optimization/47698
* ifconv.c (noce_operand_ok): prevent CMOV generation
for volatile mem.
gcc/testsuite/
PR rtl-optimization/47698
* gcc.target/i386/47698.c: New test.
From-SVN: r181075
Tristan Gingold [Mon, 7 Nov 2011 08:33:14 +0000 (08:33 +0000)]
alpha-common.c (alpha_option_init_struct): New function.
2011-11-07 Tristan Gingold <gingold@adacore.com>
* common/config/alpha/alpha-common.c (alpha_option_init_struct):
New function.
(TARGET_OPTION_INIT_STRUCT): Define.
* config/alpha/alpha.c (TARGET_MIN_ANCHOR_OFFSET)
(TARGET_MAX_ANCHOR_OFFSET)
(TARGET_USE_BLOCKS_FOR_CONSTANT_P): Redefine.
From-SVN: r181074
Jonathan Wakely [Mon, 7 Nov 2011 07:54:06 +0000 (07:54 +0000)]
re PR libstdc++/50982 (AIX libstdc++ GTHREADS incompatibility)
PR libstdc++/50982
* include/std/mutex (__once_proxy): Use void parameter list to
work on implicit extern "C" systems.
From-SVN: r181072
Xinliang David Li [Mon, 7 Nov 2011 07:43:46 +0000 (07:43 +0000)]
make __stl_prime_list in comdat
From-SVN: r181071
Quentin Neill [Mon, 7 Nov 2011 04:59:47 +0000 (04:59 +0000)]
Fix r180999, update ChangeLog
2011-11-06 Quentin Neill <quentin.neill@amd.com>
Fix r180999, update ChangeLog
* config.gcc: Add f16cintrin.h.
* f16cintrin.h: Add missing endif.
From-SVN: r181070
Jason Merrill [Mon, 7 Nov 2011 04:40:14 +0000 (23:40 -0500)]
re PR c++/35688 (template visibility not overridden by template arguments)
PR c++/35688
gcc/c-common/
* c-common.c (decl_has_visibility_attr): Split out from...
(c_determine_visibility): ...here.
* c-common.h: Declare it.
gcc/cp/
* decl2.c (constrain_visibility): Check decl_has_visibility_attr
rather than DECL_VISIBILITY_SPECIFIED.
From-SVN: r181069
Quentin Neill [Mon, 7 Nov 2011 04:22:14 +0000 (04:22 +0000)]
Fix r180999.
2011-11-05 Quentin Neill <quentin.neill@amd.com>
Fix r180999.
* config.gcc: Add f16cintrin.h.
From-SVN: r181068
Sebastian Huber [Mon, 7 Nov 2011 03:22:39 +0000 (03:22 +0000)]
config.host (arm*-*-rtemseabi*): New target.
2011-11-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config.host (arm*-*-rtemseabi*): New target.
From-SVN: r181065
Sebastian Huber [Mon, 7 Nov 2011 03:21:19 +0000 (03:21 +0000)]
config.gcc (arm*-*-rtemseabi*): New target.
2011-11-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config.gcc (arm*-*-rtemseabi*): New target.
* config/arm/rtems-eabi.h: New.
* config/arm/t-rtems-eabi: New.
From-SVN: r181064
David S. Miller [Mon, 7 Nov 2011 02:22:40 +0000 (02:22 +0000)]
Get rid of sparc's UNSPEC_SHORT_LOAD.
* config/sparc/sparc.md (UNSPEC_SHORT_LOAD): Delete.
(zero_extend_v8qi_vis, zero_extend_v4hi_vis,
*zero_extend_v8qi_<P:mode>_insn,
*zero_extend_v4hi_<P:mode>_insn): Express using vec_merge
and vec_duplicate instead of using an UNSPEC.
From-SVN: r181063
Terry Guo [Mon, 7 Nov 2011 02:20:35 +0000 (02:20 +0000)]
wmul-1.c: Adjust optimization level.
2011-11-07 Terry Guo <terry.guo@arm.com>
* gcc.target/arm/wmul-1.c: Adjust optimization level.
* gcc.target/arm/wmul-2.c: Ditto.
* gcc.target/arm/wmul-3.c: Ditto.
* gcc.target/arm/wmul-4.c: Ditto.
From-SVN: r181062
Alan Modra [Mon, 7 Nov 2011 01:14:33 +0000 (11:44 +1030)]
re PR target/30282 (Optimization flag -O1 -fschedule-insns2 cause red zone to be used when there is none)
PR target/30282
* config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit
blockage for ABI_V4.
From-SVN: r181056
Dave Korn [Mon, 7 Nov 2011 00:30:29 +0000 (00:30 +0000)]
cygwin.h (LIBGCJ_SONAME): Updated to match recent libgcj version bump.
* config/i386/cygwin.h (LIBGCJ_SONAME): Updated to match recent
libgcj version bump.
* config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
From-SVN: r181055
Eric Botcazou [Mon, 7 Nov 2011 00:22:18 +0000 (00:22 +0000)]
gcse.c: Adjust outdated comments throughout.
* gcse.c: Adjust outdated comments throughout.
(struct mem_conflict_info): New structure.
(mems_conflict_for_gcse_p): Use it to communicate with caller.
(load_killed_in_block_p): Pass it to note_stores.
(hash_expr): Remove superfluous line break.
(hash_scan_set): Rename PAT parameter into SET.
(hash_scan_insn): Reorder cases.
(canon_list_insert): Fix long line.
(edge_list): Delete.
(prune_expressions): Rename E local variable into EXPR.
(compute_pre_data): Return struct edge_list * object.
(pre_expr_reaches_here_p_work): Fix formatting.
(process_insert_insn): Move around comment.
(pre_edge_insert): Fix long line.
(pre_insert_copies): Likewise.
(gcse_emit_move_after): Swap SRC and DEST parameters.
(pre_delete): Adjust call to gcse_emit_move_after.
(pre_gcse): Take struct edge_list * parameter. Fix long line.
(one_pre_gcse_pass): Use flag_gcse_lm condition for all routines.
Use a local list of edges.
(hoist_code): Fix long line. Adjust call to gcse_emit_move_after.
(pre_ldst_expr_hash): Fix long line.
(free_ldst_mems): Rename into...
(free_ld_motion_mems): ...this.
(first_ls_expr): Delete.
(next_ls_expr): Likewise.
(print_ldst_list): Do not use above two functions.
(simple_mem): Adjust interface.
(compute_ld_motion_mems): Fix formatting.
(update_ld_motion_stores): Reuse local variable.
From-SVN: r181054
GCC Administrator [Mon, 7 Nov 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181053
Jonathan Wakely [Mon, 7 Nov 2011 00:06:23 +0000 (00:06 +0000)]
basic_string.h (basic_string::at): Move adjacent to other overload.
* include/bits/basic_string.h (basic_string::at): Move adjacent to other
overload.
(basic_string::pop_back): Define.
* include/debug/string (__gnu_debug::basic_string::pop_back): Likewise.
* include/ext/vstring.h (__versa_string::pop_back): Likewise.
* config/abi/pre/gnu.ver: Add new symbols.
* testsuite/21_strings/basic_string/modifiers/char/pop_back.cc: New.
* testsuite/21_strings/basic_string/modifiers/wchar_t/pop_back.cc: New.
* testsuite/21_strings/basic_string/range_access.cc: Split to ...
* testsuite/21_strings/basic_string/range_access/char/1.cc: Here and ...
* testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: Here.
* testsuite/ext/vstring/modifiers/char/pop_back.cc: New.
* testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: New.
From-SVN: r181049
Joseph Myers [Sun, 6 Nov 2011 23:51:19 +0000 (23:51 +0000)]
c-decl.c (shadow_tag_warned, [...]): Handle _Alignas specifiers.
* c-decl.c (shadow_tag_warned, grokdeclarator): Handle _Alignas
specifiers.
(build_null_declspecs): Initialize align_log and alignas_p fields.
(declspecs_add_alignas): New.
* c-parser.c (c_token_starts_declspecs): Handle RID_ALIGNAS.
(c_parser_declspecs): Handle _Alignas specifiers.
(c_parser_alignas_specifier): New.
(c_parser_alignof_expression): Diagnose alignof use for non-C1X.
Diagnose _Alignof (expression).
* c-tree.h (struct c_declspecs): Add align_log and alignas_p
fields.
(declspecs_add_alignas): Declare.
* ginclude/stddef.h (max_align_t): Define for C1X and C++11.
* ginclude/stdalign.h: New.
* Makefile.in (USER_H): Add stdalign.h.
c-family:
* c-common.c (c_common_reswords): Add _Alignas and _Alignof.
(c_sizeof_or_alignof_type): Diagnose alignof applied to a function
type.
(check_user_alignment): New. Split out of
handle_aligned_attribute. Disallow integer constants with
noninteger types. Conditionally allow zero.
(handle_aligned_attribute): Use check_user_alignment.
* c-common.h (RID_ALIGNAS, check_user_alignment): New.
testsuite:
* g++.dg/cpp0x/alignof3.C, gcc.dg/c1x-align-1.c,
gcc.dg/c1x-align-2.c, gcc.dg/c1x-align-3.c, gcc.dg/c1x-align-4.c,
gcc.dg/c90-align-1.c, gcc.dg/c99-align-1.c: New tests.
* gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu90-const-expr-1.c,
gcc.dg/gnu99-const-expr-1.c, gcc.dg/gnu99-static-1.c: Update
expected diagnostics.
From-SVN: r181048
Jonathan Wakely [Sun, 6 Nov 2011 23:25:25 +0000 (23:25 +0000)]
backwards_compatibility.xml: Fix autoconf tests for C++11 compiler features and library headers.
* doc/xml/manual/backwards_compatibility.xml: Fix autoconf tests for
C++11 compiler features and library headers. Add stable id
attributes. Use <filename> element for headers and surround in angle
brackets. Use <classname> for classes.
* doc/html/*: Regenerate.
From-SVN: r181047
Joern Rennecke [Sun, 6 Nov 2011 22:58:54 +0000 (22:58 +0000)]
regset.h (fixed_reg_set_regset): Declare.
* regset.h (fixed_reg_set_regset): Declare.
* dse.c: Include regset.h .
(struct insn_info): Add member fixed_regs_live.
(note_add_store_info): New typedef.
(note_add_store): New function.
(emit_inc_dec_insn_before): Expect arg to be of type insn_info_t .
Use gen_add3_insn / gen_move_insn.
Check new insn for unwanted clobbers before emitting it.
(check_for_inc_dec): Rename to...
(check_for_inc_dec_1:) ... this. Return bool. Take insn_info
parameter. Changed all callers in file.
(check_for_inc_dec, copy_fixed_regs): New functions.
(scan_insn): Set fixed_regs_live field of insn_info.
* rtl.h (check_for_inc_dec): Update prototype.
* postreload.c (reload_cse_simplify): Take new signature of
check_ind_dec into account.
* reginfo.c (fixed_reg_set_regset): New variable.
(init_reg_sets_1): Initialize it.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r181046
Jonathan Wakely [Sun, 6 Nov 2011 22:10:41 +0000 (22:10 +0000)]
status_cxx2011.xml: Document <cuchar> and <cstdalign> as missing.
* doc/xml/manual/status_cxx2011.xml: Document <cuchar> and
<cstdalign> as missing.
From-SVN: r181045
Janus Weil [Sun, 6 Nov 2011 21:36:54 +0000 (22:36 +0100)]
gfortran.h (gfc_extend_expr): Modified prototype.
2011-11-06 Janus Weil <janus@gcc.gnu.org>
* gfortran.h (gfc_extend_expr): Modified prototype.
* interface.c (gfc_extend_expr): Return 'match' instead of 'gfc_try'.
Remove argument 'real_error'.
* resolve.c (resolve_operator): Modified call to 'gfc_extend_expr'.
From-SVN: r181044
Paolo Carlini [Sun, 6 Nov 2011 21:05:44 +0000 (21:05 +0000)]
re PR c++/47695 ([C++0X] Calling a deleted function fails twice)
2011-11-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/47695
* decl2.c (mark_used): Early return false after error or sorry.
* cp-tree.h (mark_used): Adjust declaration.
* semantics.c (finish_id_expression): Check mark_used return value.
From-SVN: r181042
Jonathan Wakely [Sun, 6 Nov 2011 20:15:53 +0000 (20:15 +0000)]
faq.xml: Replace references to C++0x with C++11.
* doc/xml/faq.xml: Replace references to C++0x with C++11.
* doc/xml/manual/intro.xml: Likewise.
* doc/xml/manual/backwards_compatibility.xml: Likewise.
* doc/xml/manual/shared_ptr.xml: Likewise.
* doc/xml/manual/configure.xml: Likewise.
* doc/xml/manual/evolution.xml: Likewise.
* doc/xml/manual/using.xml: Likewise.
* doc/xml/manual/strings.xml: Likewise.
* doc/xml/manual/debug_mode.xml: Likewise.
* doc/xml/manual/policy_data_structures.xml: Likewise.
* doc/xml/manual/extensions.xml: Likewise.
* doc/xml/manual/diagnostics.xml: Likewise.
* doc/xml/manual/test.xml: Likewise.
* doc/xml/manual/status_cxx200x.xml: Likewise, and rename to...
* doc/xml/manual/status_cxx2011.xml: Here.
* doc/Makefile.am: Rename status_cxx200x.xml.
* doc/Makefile.in: Regenerate.
* doc/html/*: Regenerate.
From-SVN: r181041
Jakub Jelinek [Sun, 6 Nov 2011 19:43:32 +0000 (20:43 +0100)]
tree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove any user labels.
* tree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove
any user labels.
From-SVN: r181040
John David Anglin [Sun, 6 Nov 2011 19:24:19 +0000 (19:24 +0000)]
re PR other/50991 (crtstuff.c:65:23: fatal error: libgcc_tm.h: No such file or directory)
PR other/50991
* Makefile.in: Make EXTRA_PARTS depend on libgcc_tm.h instead of
extra-parts.
From-SVN: r181039
John David Anglin [Sun, 6 Nov 2011 19:12:54 +0000 (19:12 +0000)]
pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.
* config/pa/pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.
Remove dependence of declaration and target define on definition of
HPUX_LONG_DOUBLE_LIBRARY. Update implementation.
From-SVN: r181038
François Dumont [Sun, 6 Nov 2011 17:16:00 +0000 (17:16 +0000)]
41975.cc: Add tests to check performance with or without cache of hash code and with...
2011-11-06 François Dumont <fdumont@gcc.gnu.org>
* testsuite/performance/23_containers/insert_erase/41975.cc: Add
tests to check performance with or without cache of hash code and with
string type that has a costlier hash functor than int type.
From-SVN: r181037
Andrew Macleod [Sun, 6 Nov 2011 14:55:48 +0000 (14:55 +0000)]
Check in patch/merge from cxx-mem-model Branch
From-SVN: r181031
Joern Rennecke [Sun, 6 Nov 2011 14:43:20 +0000 (14:43 +0000)]
Remove unwanted svn:executable properties that svn add had decided to add.
From-SVN: r181030
Richard Guenther [Sun, 6 Nov 2011 13:02:15 +0000 (13:02 +0000)]
2011-11-6 Richard Guenther <rguenther@suse.de>
* ipa-prop.c (ipa_modify_call_arguments): Re-compute
inlinable flag.
From-SVN: r181027
Ira Rosen [Sun, 6 Nov 2011 09:01:45 +0000 (09:01 +0000)]
tree-vectorizer.h (vectorizable_condition): Add argument.
* tree-vectorizer.h (vectorizable_condition): Add argument.
* tree-vect-loop.c (vectorizable_reduction): Fail for condition
in SLP. Update calls to vectorizable_condition.
* tree-vect-stmts.c (vect_is_simple_cond): Add basic block info
to the arguments. Pass it to vect_is_simple_use_1.
(vectorizable_condition): Add slp_node to the arguments.
Support vectorization of basic blocks. Fail for reduction in
SLP. Update calls to vect_is_simple_cond and
vect_is_simple_use. Support SLP: call vect_get_slp_defs to get
vector operands.
(vect_analyze_stmt): Update calls to vectorizable_condition.
(vect_transform_stmt): Likewise.
* tree-vect-slp.c (vect_create_new_slp_node): Handle COND_EXPR.
(vect_get_and_check_slp_defs): Handle COND_EXPR. Allow pattern
def stmts.
(vect_build_slp_tree): Handle COND_EXPR.
(vect_analyze_slp_instance): Push pattern statements to root
node.
(vect_get_constant_vectors): Fix comments. Handle COND_EXPR.
From-SVN: r181026
David S. Miller [Sun, 6 Nov 2011 02:39:03 +0000 (19:39 -0700)]
More improvements to sparc VIS vec_init code generation.
gcc/
* config/sparc/sparc.md (UNSPEC_SHORT_LOAD): New unspec.
(zero-extend_v8qi_vis, zero_extend_v4hi_vis): New expanders.
(*zero_extend_v8qi_<P:mode>_insn,
*zero_extend_v4hi_<P:mode>_insn): New insns.
* config/sparc/sparc.c (vector_init_move_words,
vector_init_prepare_elts, sparc_expand_vector_init_vis2,
sparc_expand_vector_init_vis1): New functions.
(vector_init_bshuffle): Rewrite to handle more cases and make use
of locs[] array prepared by vector_init_prepare_elts.
(vector_init_fpmerge, vector_init_faligndata): Delete.
(sparc_expand_vector_init): Rewrite using new infrastructure.
gcc/testsuite/
* lib/test-supports.exp
(check_effective_target_ultrasparc_vis2_hw): New proc.
(check_effective_target_ultrasparc_vis3_hw): New proc.
* gcc.target/sparc/vec-init-1.inc: New vector init common code.
* gcc.target/sparc/vec-init-2.inc: Likewise.
* gcc.target/sparc/vec-init-3.inc: Likewise.
* gcc.target/sparc/vec-init-1-vis1.c: New test.
* gcc.target/sparc/vec-init-1-vis2.c: New test.
* gcc.target/sparc/vec-init-1-vis3.c: New test.
* gcc.target/sparc/vec-init-2-vis1.c: New test.
* gcc.target/sparc/vec-init-2-vis2.c: New test.
* gcc.target/sparc/vec-init-2-vis3.c: New test.
* gcc.target/sparc/vec-init-3-vis1.c: New test.
* gcc.target/sparc/vec-init-3-vis2.c: New test.
* gcc.target/sparc/vec-init-3-vis3.c: New test.
From-SVN: r181024
Jonathan Wakely [Sun, 6 Nov 2011 00:51:17 +0000 (00:51 +0000)]
* doc/xml/manual/test.xml: Fix dg-warning examples.
From-SVN: r181023
Jonathan Wakely [Sun, 6 Nov 2011 00:29:36 +0000 (00:29 +0000)]
re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
PR libstdc++/44436
* doc/xml/manual/status_cxx200x.xml: Document emplace members are
missing.
From-SVN: r181022
GCC Administrator [Sun, 6 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181021
Jason Merrill [Sat, 5 Nov 2011 21:06:34 +0000 (17:06 -0400)]
* decl.c (cp_finish_decl): Mostly revert previous change.
From-SVN: r181017
Joern Rennecke [Sat, 5 Nov 2011 20:48:23 +0000 (20:48 +0000)]
config.gcc (epiphany-*-*): New architecture.
gcc:
* config.gcc (epiphany-*-*): New architecture.
(epiphany-*-elf): New configuration.
* config/epiphany, common/config/epiphany : New directories.
* doc/extend.texi (disinterrupt attribute): Add Epiphany.
(interrupt attribute): Add Epiphany.
(long_call, short_call attribute): Add Epiphany.
* doc/invoke.texi (Options): Add Epiphany options.
* doc/md.texi (Machine Constraints): Add Epiphany constraints.
* doc/install.texi (Options specification):
Add --with-stack-offset=@var{num} description.
(host/target specific issues): Add epiphany-*-elf.
* doc/contrib.texi (Contributors): Mention Epiphany port.
gcc/testsuite:
* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x:
Disable test on Epiphany.
* gcc.c-torture/execute/
20101011-1.c: Disable test on Epiphany.
* gcc.dg/stack-usage-1.c [__epiphany__] (SIZE): Define.
* gcc.dg/pragma-pack-3.c: Disable test on Epiphany.
* g++.dg/parse/pragma3.C: Likewise.
* stackalign/builtin-apply-2.c (STACK_ARGUMENTS_SIZE): Define.
(bar): Use it.
* gcc.dg/weak/typeof-2.c [epiphany-*-*]: Add option -mshort-calls.
* gcc.dg/tls/thr-cse-1.c: Likewise.
* g++.dg/opt/devirt2.C: Likewise.
* gcc.dg/
20020312-2.c [epiphany-*-*] (PIC_REG): Define.
* gcc.dg/builtin-apply2.c [__epiphany__]: (STACK_ARGUMENTS_SIZE): 20.
* gcc.target/epiphany: New directory.
libgcc:
* config.host (epiphany-*-elf*): New configuration.
* config/epiphany: New Directory.
contrib:
* contrib-list.mk: Add Epiphany configurations.
From-SVN: r181016
Tobias Burnus [Sat, 5 Nov 2011 20:43:44 +0000 (21:43 +0100)]
quad_2.f90: New.
2011-11-05 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/quad_2.f90: New.
From-SVN: r181015
Jakub Jelinek [Sat, 5 Nov 2011 19:58:37 +0000 (20:58 +0100)]
re PR tree-optimization/50693 (Loop optimization restricted by GOTOs)
PR tree-optimization/50693
* tree-cfg.c (gimple_can_merge_blocks_p): Allow merging with
non-forced user labels.
(gimple_merge_blocks): Turn non-forced user labels into
debug bind stmt with the label as first operand and reset value.
(gimple_duplicate_bb): Don't duplicate label debug stmts.
* dwarf2out.c (gen_label_die): Handle NOTE_INSN_DELETED_DEBUG_LABEL.
* final.c (final_scan_insn): Likewise.
(rest_of_clean_state): Don't dump NOTE_INSN_DELETED_DEBUG_LABEL.
* var-tracking.c (debug_label_num): New variable.
(delete_debug_insns): Don't delete DEBUG_INSNs for LABEL_DECLs,
instead turn them into NOTE_INSN_DELETED_DEBUG_LABEL notes.
* cfglayout.c (skip_insns_after_block, duplicate_insn_chain): Handle
NOTE_INSN_DELETED_DEBUG_LABEL.
(duplicate_insn_chain): Don't duplicate LABEL_DECL DEBUG_INSNs.
* insn-notes.def (DELETED_DEBUG_LABEL): New note kind.
* print-rtl.c (print_rtx): Handle NOTE_INSN_DELETED_DEBUG_LABEL.
* gengtype.c (adjust_field_rtx_def): Likewise.
* config/i386/i386.c (ix86_output_function_epilogue): For MachO
clear CODE_LABEL_NUMBER of NOTE_INSN_DELETED_DEBUG_LABEL
if their are at the end of function and nop hasn't been emitted.
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Likewise.
From-SVN: r181014
Jonathan Wakely [Sat, 5 Nov 2011 13:33:29 +0000 (13:33 +0000)]
re PR libstdc++/49894 ([C++0x] Uniform initialization in constructor)
PR libstdc++/49894
PR bootstrap/50982
* include/std/mutex (once_flag): Use NSDMI.
From-SVN: r181013
Georg-Johann Lay [Sat, 5 Nov 2011 13:15:57 +0000 (13:15 +0000)]
Fix typo in entry for r180962.
From-SVN: r181012
Georg-Johann Lay [Sat, 5 Nov 2011 13:08:54 +0000 (13:08 +0000)]
re PR rtl-optimization/50448 (Missed optimization accessing struct component with integer address)
PR rtl-optimization/50448
* cprop.c (try_replace_reg): Also try to replace uses of FROM that
appear in SET_DEST.
From-SVN: r181011
Eric Botcazou [Sat, 5 Nov 2011 11:30:23 +0000 (11:30 +0000)]
Tweak previous commit
From-SVN: r181010
Eric Botcazou [Sat, 5 Nov 2011 10:44:45 +0000 (10:44 +0000)]
strlenopt-22g.c: New wrapper around...
* gcc.dg/strlenopt-22g.c: New wrapper around...
* gcc.dg/strlenopt-22.c: ...this. Do not define USE_GNU and adjust.
From-SVN: r181009
Ralf Corsepius [Sat, 5 Nov 2011 06:25:16 +0000 (07:25 +0100)]
Fix malformated ChangeLog entries.
From-SVN: r181007
Peter Dufault [Sat, 5 Nov 2011 06:18:08 +0000 (06:18 +0000)]
rtems.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Extend rs6000_spe handling.
2011-11-05 Peter Dufault <dufault@hda.com>,
Sebastian Huber <sebastian.huber@embedded-brains.de>
* config/rs6000/rtems.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
Extend rs6000_spe handling.
Co-Authored-By: Sebastian Huber <sebastian.huber@embedded-brains.de>
From-SVN: r181006
Ralf Corsepius [Sat, 5 Nov 2011 06:09:09 +0000 (07:09 +0100)]
t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.
2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org>
* config/rs6000/t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.
Remove -mcpu=601 multilib.
Remove -Dmpc8260 multilib.
* config/rs6000/rtems.h: Allow --float-gprs=... to override grps
on E500 targets.
From-SVN: r181005
Ralf Corsepius [Sat, 5 Nov 2011 04:45:12 +0000 (05:45 +0100)]
config.host (avr-*-rtems*): Add config/avr/t-rtems.
2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org>
* config.host (avr-*-rtems*): Add config/avr/t-rtems.
* config/avr/t-rtems: New.
Filter out _exit from LIB1ASMFUNCS.
From-SVN: r181003
Jason Merrill [Sat, 5 Nov 2011 03:28:14 +0000 (23:28 -0400)]
re PR c++/26714 (violation of [class.temporary]/5)
PR c++/26714
* init.c (perform_member_init): Strip TARGET_EXPR around NSDMI.
Do temporary lifetime extension.
From-SVN: r181002
Jason Merrill [Sat, 5 Nov 2011 03:28:05 +0000 (23:28 -0400)]
re PR c++/48370 (G++ fails to extend reference temporary lifetime in some situations)
PR c++/48370
* decl.c (cp_finish_decl): Run cleanups in the right order.
From-SVN: r181001
David S. Miller [Sat, 5 Nov 2011 02:46:21 +0000 (02:46 +0000)]
Tweak libgcc configure test for 64-bit.
libgcc/
* configure.ac: Test for 64-bit addresses on !x86 using __LP64__.
* configure: Rebuild.
From-SVN: r181000
Quentin Neill [Sat, 5 Nov 2011 02:31:29 +0000 (02:31 +0000)]
Piledriver f16cintrin.h fix.
2011-11-04 Quentin Neill <quentin.neill@amd.com>
Piledriver f16cintrin.h fix.
* config/i386/f16cintrin.h: Contents moved from immintrin.h.
* config/config.gcc: Add f16cintrin.h.
From-SVN: r180999
GCC Administrator [Sat, 5 Nov 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r180996
Ian Lance Taylor [Fri, 4 Nov 2011 23:03:37 +0000 (23:03 +0000)]
Fix select { case v, ok := <-c: }.
From-SVN: r180992
Eric Botcazou [Fri, 4 Nov 2011 21:46:07 +0000 (21:46 +0000)]
re PR c++/50608 (cannot apply 'offsetof' to a non-constant address)
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
PR c++/50608
* c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
to fold_offsetof.
* c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
c-family/
* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
(fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
<INDIRECT_REF>: Return the argument.
<ARRAY_REF>: Remove special code for negative offset.
Call fold_build_pointer_plus instead of size_binop.
(fold_offsetof): Remove STOP_REF argument and adjust.
* c-common.h (fold_offsetof_1): Declare.
(fold_offsetof): Remove STOP_REF argument.
cp/
* semantics.c (finish_offsetof): Adjust call to fold_offsetof.
* typeck.c (cp_build_addr_expr_1): Call fold_offsetof_1.
From-SVN: r180986
Alan Modra [Fri, 4 Nov 2011 21:05:46 +0000 (07:35 +1030)]
reload1.c (gen_reload): Don't use REGNO on SUBREGs.
* reload1.c (gen_reload): Don't use REGNO on SUBREGs.
* print-rtl.c (print_rtx): Don't segfault on negative regno.
From-SVN: r180983
David S. Miller [Fri, 4 Nov 2011 20:25:59 +0000 (20:25 +0000)]
Fix sparc regression due to recent movcc pattern changes.
PR target/49965
* config/sparc/sparc.c (sparc_expand_conditional_move): Handle the
fact that sparc_emit_float_lib_cmp modifies the comparison in
operands[1].
From-SVN: r180982
Benjamin Kosnik [Fri, 4 Nov 2011 19:39:23 +0000 (19:39 +0000)]
run_doxygen: Fix sed quoting.
2011-11-04 Benjamin Kosnik <bkoz@redhat.com>
* scripts/run_doxygen: Fix sed quoting.
From-SVN: r180978
Andreas Krebbel [Fri, 4 Nov 2011 19:05:36 +0000 (19:05 +0000)]
t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S variable.
2011-11-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S
variable.
From-SVN: r180976
Ralf Corsepius [Fri, 4 Nov 2011 18:16:31 +0000 (19:16 +0100)]
config.gcc (bfin*-rtems*): Add newlib-stdint.h.
2010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org>
* config.gcc (bfin*-rtems*): Add newlib-stdint.h.
* config.gcc (lm32*-rtems*): Add newlib-stdint.h.
From-SVN: r180974
Hans-Peter Nilsson [Fri, 4 Nov 2011 18:06:43 +0000 (18:06 +0000)]
gcc-dg.exp (gcc_force_conventional_output): New global variable, default empty, -ffat-lto-objects for effective_target_lto.
* lib/gcc-dg.exp (gcc_force_conventional_output): New global
variable, default empty, -ffat-lto-objects for effective_target_lto.
(gcc-dg-test-1): Add options from dg-final methods.
* lib/scanasm.exp (scan-assembler_required_options)
(scan-assembler-not_required_options): New procs.
From-SVN: r180972
Paolo Carlini [Fri, 4 Nov 2011 17:51:20 +0000 (17:51 +0000)]
typeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED.
2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
* typeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED.
* mangle.c (write_unnamed_type_name): Likewise.
From-SVN: r180970
Magnus Fromreide [Fri, 4 Nov 2011 17:38:16 +0000 (18:38 +0100)]
parser.c (cp_parser_enumerator_list): Do not warn about trailing commas in C++0x mode.
* parser.c (cp_parser_enumerator_list): Do not warn about
trailing commas in C++0x mode.
From-SVN: r180967
Eric Botcazou [Fri, 4 Nov 2011 17:37:03 +0000 (17:37 +0000)]
re PR target/50979 (architecture mismatch: "mul32" not enabled for "smul" or "umul")
PR target/50979
* config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
From-SVN: r180966
Olivier Goffart [Fri, 4 Nov 2011 17:15:02 +0000 (17:15 +0000)]
re PR c++/50965 (C++11 Non static member initializer are not run when class is initialized with {})
PR c++/50965
* class.c (check_field_decls): NSDMI makes a class non-aggregate.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r180965
Jiangning Liu [Fri, 4 Nov 2011 16:50:04 +0000 (16:50 +0000)]
re PR rtl-optimization/38644 (Optimization flag -O1 -fschedule-insns2 causes wrong code)
2011-11-04 Jiangning Liu <jiangning.liu@arm.com>
PR rtl-optimization/38644
* config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
for epilogue having stack adjustment.
testcase:
* gcc.target/arm/stack-red-zone.c: New.
From-SVN: r180964
Paolo Carlini [Fri, 4 Nov 2011 16:31:18 +0000 (16:31 +0000)]
re PR c++/48420 (Missed -Wconversion-null warning when passing const bool to T*)
/cp
2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48420
* call.c (conversion_null_warnings): For 'false' to NULL pointer,
just check that TREE_TYPE (expr) is a BOOLEAN_TYPE.
/testsuite
2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48420
* g++.dg/warn/Wconversion-null-3.C: New.
From-SVN: r180963
Georg-Johann Lay [Fri, 4 Nov 2011 16:20:18 +0000 (16:20 +0000)]
re PR target/50931 ([avr] Support a 24-bit scalar integer mode)
gcc/
PR target/50931
* config/avr/avr-modes.def: New file defining PSImode.
* config/avr/avr-c.c (__INT24_MAX__, __INT24_MIN__,
__UINT24_MAX__): New built-in defines.
* config/avr/avr.md (adjust_len): Add tstpsi, mov24, reload_in24,
ashlpsi, ashrpsi, lshrpsi.
(QISO, QIDI, HISI, HIDI, MPUSH, rotx, rotsmode): Add PSI.
(MOVMODE): New mode iterator.
(movpsi): New expander.
(movqi, movhi, movsi, movsf, movpsi): Write as one using MOVMODE.
(*reload_inpsi, *movpsi): New insns.
(*reload_inpsi): New RTL peephole.
(addpsi3, *addpsi3_zero_extend.qi, *addpsi3_zero_extend.hi,
*addpsi3_sign_extend.hi): New insns.
(subpsi3, *subpsi3_zero_extend.qi, *subpsi3_zero_extend.hi,
*subpsi3_sign_extend.hi): New insns.
(divmodpsi4, udivmodpsi4): New define insn-and-split.
(*divmodpsi4_call, *udivmodpsi4_call): New insns.
(andpsi3, iorpsi3, xorpsi3): New insns.
(*rotlpsi2.1, *rotlpsi2.23): New insns.
(*rotw<mode>): Insn condition only allow even-sized modes.
(*rotb<mode>): Insn condition allows odd-sized modes.
(ashlpsi3, ashrpsi3, lshrpsi3, *addpsi3.lt0): New insns.
(negpsi2, one_cmplpsi2): New insns.
(extendqipsi2, extendhipsi2, extendpsisi2): New insns.
(zero_extendqipsi2, zero_extendhipsi2, zero_extendpsisi2): New
insn-and-splits.
(*cmppsi, *negated_tstpsi, *reversed_tstpsi): New insns.
(cbranchpsi4): New expander.
* config/avr/constraints.md (Ca3, Co3, Cx3): New constraints.
* config/avr/avr-protos.h (avr_out_tstpsi, avr_out_movpsi,
avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3,
avr_out_reload_inpsi): New prototypes.
* config/avr/avr.c (TARGET_SCALAR_MODE_SUPPORTED_P): Define to...
(avr_scalar_mode_supported_p): ...this new static function.
(avr_asm_len): Always return "".
(avr_out_load_psi, avr_out_store_psi): New static functions.
(avr_out_movpsi, avr_out_reload_inpsi): New functions.
(avr_out_tstpsi): New function.
(avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3): New functions.
(avr_out_plus_1, output_reload_in_const): Handle 3-byte types.
(avr_simplify_comparison_p): Ditto.
(adjust_insn_length): Handle ADJUST_LEN_RELOAD_IN24,
ADJUST_LEN_MOV24, ADJUST_LEN_TSTPSI, ADJUST_LEN_ASHLPSI,
ADJUST_LEN_ASHRPSI, ADJUST_LEN_LSHRPSI.
(avr_rtx_costs_1): Report PSI costs.
(avr_libcall_value): Handle odd-sized parameters.
(avr_init_builtin_int24): New static function to define built-in
24-bit types __int24 and __uint24.
(avr_init_builtins): Use it.
libgcc/
PR target/50931
* config/t-avr (LIB1ASMFUNCS): Add _divmodpsi4, _udivmodpsi4.
* config/lib1funcs.S (__udivmodpsi4, __divmodpsi4): New functions.
From-SVN: r180962
Ed Smith-Rowland [Fri, 4 Nov 2011 16:16:09 +0000 (16:16 +0000)]
re PR c++/50941 ([C++0x] user-defined string literals provide incorrect length for wchar_t, char16_t, and char32_t)
PR c++/50941
* parser.c (cp_parser_userdef_string_literal): Fix string length.
From-SVN: r180961
Arnaud Charlet [Fri, 4 Nov 2011 15:32:18 +0000 (15:32 +0000)]
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r180960
Thomas Doerfler [Fri, 4 Nov 2011 15:22:06 +0000 (15:22 +0000)]
re PR target/50980 (arm-rtems multilib not matching for -mfpu=vfp -mfloat-abi=soft)
2011-11-04 Thomas Doerfler <thomas.doerfler@embedded-brains.de>
PR target/50980
* config/arm/rtems-elf.h, config/arm/t-rtems: Add optional
support for VFP floating point model.
From-SVN: r180959
Arnaud Charlet [Fri, 4 Nov 2011 14:10:21 +0000 (15:10 +0100)]
Minor reformatting.
From-SVN: r180957
Eric Botcazou [Fri, 4 Nov 2011 14:10:01 +0000 (15:10 +0100)]
gnat_ugn.texi (Performance Considerations): New sub-section.
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi (Performance Considerations) <Vectorization
of loops>: New sub-section. <Other Optimization Switches>:
Minor tweak.
From-SVN: r180956
Arnaud Charlet [Fri, 4 Nov 2011 14:09:05 +0000 (15:09 +0100)]
[multiple changes]
2011-11-04 Robert Dewar <dewar@adacore.com>
* sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
Avoid junk semicolon after argument of machine code Asm operand.
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
CodePeer mode or if restriction No_Exception_Handlers is present.
* exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
nodes in CodePeer mode or if restriction No_Exception_Handlers
is present.
2011-11-04 Robert Dewar <dewar@adacore.com>
* s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Specification): The
specification is legal if it is a function that returns an
abstract type, if it comes from an attribute renaming of a stream
attribute of an abstract type.
2011-11-04 Gary Dismukes <dismukes@adacore.com>
* exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
components, check whether recursively check whether the prefix
denotes an unaligned object.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Debug): The argument of
the pragma is legal if it is an expanded name that denotes a
procedure that be can called without parameters.
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi (Performance Considerations) <Vectorization
of loops>: New sub-section. <Other Optimization Switches>:
Minor tweak.
From-SVN: r180955
Arnaud Charlet [Fri, 4 Nov 2011 14:00:29 +0000 (15:00 +0100)]
[multiple changes]
2011-11-04 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor reformatting.
2011-11-04 Matthew Heaney <heaney@adacore.com>
* a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
when Target and Source denote same non-empty object
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_attr.adb: Minor reformatting.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Assign_Record): Do not generate a
discriminant assignment within an initialization proc if the
record is an unchecked union, as it can only come from the
initialization of an unchecked union component.
2011-11-04 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor reformatting.
2011-11-04 Robert Dewar <dewar@adacore.com>
* par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
warning message.
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor code reorganization (remove junk obsolete
var Save_Space).
From-SVN: r180954
Hristian Kirtchev [Fri, 4 Nov 2011 13:57:31 +0000 (13:57 +0000)]
exp_alfa.adb: Add local constant Disable_Processing_Of_Renamings;
2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_alfa.adb: Add local constant
Disable_Processing_Of_Renamings;
(Expand_Alfa_N_Object_Renaming_Declaration): Disable
the name evaluation of object renamings for now.
(Expand_Potential_Renaming): Do not perform the substitution
for now.
* exp_util.adb (Remove_Side_Effects): Remove processing for
functions with side effects in Alfa mode.
From-SVN: r180953
Arnaud Charlet [Fri, 4 Nov 2011 13:55:34 +0000 (14:55 +0100)]
[multiple changes]
2011-11-04 Gary Dismukes <dismukes@adacore.com>
* bindgen.adb (Gen_Elab_Calls): In the case
of the AAMP target, set elaboration entities to 1 rather than
incrementing.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Install_Limited_With_Unit): To establish the
proper entities on the ancestors of a child unit that appear
in a limited_with clause, follow the unit links because the
units are not analyzed and scope information is incomplete.
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch4.adb (Expand_N_Selected_Component): Refine code
setting the Atomic_Sync_Required flag to detect one more case.
* exp_util.adb (Activate_Atomic_Synchronization): Refine code
setting the Atomic_Sync_Required flag to exclude more cases,
depending on the parent of the node to be examined.
2011-11-04 Bob Duff <duff@adacore.com>
* g-excact.adb: Minor: use named notation.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb: Improve error messages for illegal iterators.
From-SVN: r180952
Arnaud Charlet [Fri, 4 Nov 2011 13:52:11 +0000 (14:52 +0100)]
[multiple changes]
2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
Sem_Util.
(Expand_Alfa): Alphabetize cases on first choice. Add
processing for object renaming declarations, identifiers and
expanded names.
(Expand_Alfa_N_In): Remove useless return.
(Expand_Alfa_N_Object_Renaming_Declaration): New routine.
(Expand_Potential_Renaming): New routine.
* exp_ch8.adb (Evaluate_Name): Moved to the top level.
(Expand_N_Object_Declaration): Alphabetize local variables. Move
Evaluate_Name out to the top level.
* exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
* exp_util.adb (Remove_Side_Effects): Add processing for
functions with side effects in Alfa mode.
2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
* gnat_rm.texi: Add entries for
restrictions No_Relative_Delay, No_Requeue_Statements and
No_Stream_Optimizations.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb: Set type of entity in prefixed call, for
completeness in a generic context.
From-SVN: r180951