platform/upstream/gcc.git
12 years agore PR rtl-optimization/50749 (Auto-inc-dec does not find subsequent contiguous mem...
Oleg Endo [Tue, 12 Jun 2012 07:09:52 +0000 (07:09 +0000)]
re PR rtl-optimization/50749 (Auto-inc-dec does not find subsequent contiguous mem accesses)

PR target/50749
* gcc.target/sh/pr50749-sf-postinc-2.c: New.
* gcc.target/sh/pr50749-sf-postinc-4.c: New.
* gcc.target/sh/pr50749-qihisi-postinc-2.c: New.
* gcc.target/sh/pr50749-qihisi-postinc-4.c: New.
* gcc.target/sh/pr50749-sf-predec-2.c: New.
* gcc.target/sh/pr50749-sf-predec-4.c: New.
* gcc.target/sh/pr50749-qihisi-predec-1.c: New.
* gcc.target/sh/pr50749-qihisi-predec-3.c: New.
* gcc.target/sh/pr50749-sf-postinc-1.c: New.
* gcc.target/sh/pr50749-sf-postinc-3.c: New.
* gcc.target/sh/pr50749-qihisi-postinc-1.c: New.
* gcc.target/sh/pr50749-qihisi-postinc-3.c: New.
* gcc.target/sh/pr50749-sf-predec-1.c: New.
* gcc.target/sh/pr50749-sf-predec-3.c: New.
* gcc.target/sh/pr50749-qihisi-predec-2.c: New.
* gcc.target/sh/pr50749-qihisi-predec-4.c: New.

From-SVN: r188426

12 years agosh.c (output_stack_adjust): Remove !epilogue_p condition for generating REG_FRAME_REL...
Chung-Lin Tang [Tue, 12 Jun 2012 06:11:09 +0000 (06:11 +0000)]
sh.c (output_stack_adjust): Remove !epilogue_p condition for generating REG_FRAME_RELATED_EXPR note.

2012-06-12  Chung-Lin Tang  <cltang@codesourcery.com>

* config/sh/sh.c (output_stack_adjust): Remove !epilogue_p
condition for generating REG_FRAME_RELATED_EXPR note.
(pop): Add code for generating REG_CFA_RESTORE,
REG_CFA_ADJUST_CFA notes. Set RTX_FRAME_RELATED_P to 1.
(sh_expand_epilogue): Use frame_insn() for FP to SP move.
Set 'frame_p' of calls to output_stack_adjust() to 'true'.

From-SVN: r188424

12 years agolibgcc-bsd.ver: Version symbol __cpu_indicator_init.
Sriraman Tallam [Tue, 12 Jun 2012 02:55:20 +0000 (02:55 +0000)]
libgcc-bsd.ver: Version symbol __cpu_indicator_init.

2012-06-11  Sriraman Tallam  <tmsriram@google.com>

* config/i386/libgcc-bsd.ver: Version symbol __cpu_indicator_init.
* config/i386/libgcc-sol2.ver: Ditto.
* config/i386/libgcc-glibc.ver: Ditto.

* gcc.target/i386/builtin_target.c (vendor_signatures): New enum.
(check_intel_cpu_model): New function.
(check_amd_cpu_model): New function.
(check_features): New function.
(__get_cpuid_output): New function.
(check_detailed): New function.
(fn1): Rename to quick_check.
(main): Update to call quick_check and call check_detailed.

From-SVN: r188417

12 years agoalpha.c (HWI_HEX2): Add missing shift.
Richard Henderson [Tue, 12 Jun 2012 01:00:39 +0000 (18:00 -0700)]
alpha.c (HWI_HEX2): Add missing shift.

        * config/alpha/alpha.c (HWI_HEX2): Add missing shift.
        * vmsdbgout.c (VMS_EPOCH_OFFSET): Add LL suffix.

From-SVN: r188413

12 years agoDaily bump.
GCC Administrator [Tue, 12 Jun 2012 00:19:26 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r188409

12 years ago* config/alpha/alpha.c (alpha_trampoline_init): Split large constants.
Richard Henderson [Mon, 11 Jun 2012 23:03:14 +0000 (16:03 -0700)]
* config/alpha/alpha.c (alpha_trampoline_init): Split large constants.

From-SVN: r188405

12 years agotm.texi.in (Addressing Modes): Mention that this hook needs to be defined for native...
Hans-Peter Nilsson [Mon, 11 Jun 2012 22:46:45 +0000 (22:46 +0000)]
tm.texi.in (Addressing Modes): Mention that this hook needs to be defined for native TLS.

* doc/tm.texi.in (Addressing Modes) <TARGET_LEGITIMIZE_ADDRESS>:
Mention that this hook needs to be defined for native TLS.
* doc/tm.texi: Regenerate.

From-SVN: r188404

12 years agoemit-rtl.c (init_emit_once): Iterate through the MODE_PARTIAL_INT modes with MIN_MODE...
Mike Stump [Mon, 11 Jun 2012 21:46:55 +0000 (21:46 +0000)]
emit-rtl.c (init_emit_once): Iterate through the MODE_PARTIAL_INT modes with MIN_MODE_PARTIAL_INT and...

* emit-rtl.c (init_emit_once): Iterate through the
MODE_PARTIAL_INT modes with MIN_MODE_PARTIAL_INT and
MAX_MODE_PARTIAL_INT, as GET_MODE_WIDER_MODE doesn't step through
all the MIN_MODE_PARTIAL_INT modes anymore.

From-SVN: r188402

12 years ago* gcc/config/mips/mips-tables.opt (xlp): Fix merge typo.
Maxim Kuvyrkov [Mon, 11 Jun 2012 21:42:02 +0000 (21:42 +0000)]
* gcc/config/mips/mips-tables.opt (xlp): Fix merge typo.

From-SVN: r188401

12 years agogthr-posix.h [...] (__gthread_active_p): If __GLIBC__ is defined, refer to __pthread_...
Roland McGrath [Mon, 11 Jun 2012 21:15:38 +0000 (21:15 +0000)]
gthr-posix.h [...] (__gthread_active_p): If __GLIBC__ is defined, refer to __pthread_key_create instead of pthread_cancel.

* gthr-posix.h [neither FreeBSD nor Solaris] (__gthread_active_p):
If __GLIBC__ is defined, refer to __pthread_key_create instead of
pthread_cancel.

From-SVN: r188400

12 years ago* lib/target-supports.exp
Richard Henderson [Mon, 11 Jun 2012 20:48:30 +0000 (13:48 -0700)]
* lib/target-supports.exp
        (check_effective_target_sync_long_long_runtime): Use
        check_effective_target_lp64 instead of
        check_effective_target_powerpc64 for powerpc targets.

From-SVN: r188399

12 years agoRoland McGrath <mcgrathr@google.com>
Roland McGrath [Mon, 11 Jun 2012 20:42:20 +0000 (20:42 +0000)]
Roland McGrath  <mcgrathr@google.com>

* dwarf2out.c (const_ok_for_output_1): Detect a TLS UNSPEC using
SYMBOL_REF_TLS_MODEL rather than DECL_THREAD_LOCAL_P, in case it's
not a VAR_DECL.  Also don't limit it to UNSPECs with exactly one
operand.

From-SVN: r188398

12 years agoFix ChangeLog formatting.
Oleg Endo [Mon, 11 Jun 2012 19:33:14 +0000 (19:33 +0000)]
Fix ChangeLog formatting.

From-SVN: r188397

12 years agore PR target/53511 (SH Target: Add support for fma patterns)
Oleg Endo [Mon, 11 Jun 2012 19:24:20 +0000 (19:24 +0000)]
re PR target/53511 (SH Target: Add support for fma patterns)

PR target/53511
* config/sh/sh.md (fmasf4): New expander.
(*macsf3): Rename to fmasf4_i.  Adapt to fma pattern.
(mac_media): Rename to fmasf4_media.  Adapt to fma pattern.
* config/sh/sh.opt (mfused-madd): Remove.
* config/sh/sh.c (sh_option_override): Remove mfused-madd handling.
(builtin_description bdesc): Remove __builtin_sh_media_FMAC_S.
* config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add fused-madd.opt
as extra options.
* doc/invoke.texi (SH Options): Update mfused-madd and mno-fused-madd
descriptions.

PR target/53511
* gcc.target/sh/pr53511-1.c: New.

From-SVN: r188396

12 years ago* dwarf2cfi.c (scan_trace): Handle annulled branch-taken delay slots.
Richard Henderson [Mon, 11 Jun 2012 18:04:25 +0000 (11:04 -0700)]
* dwarf2cfi.c (scan_trace): Handle annulled branch-taken delay slots.

From-SVN: r188391

12 years agoMakefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET).
Olivier Hainque [Mon, 11 Jun 2012 15:24:12 +0000 (15:24 +0000)]
Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET).

       * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET).
       (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
       GNATLIBCFLAGS_FOR_C passed to gnatlib.
       (gnatlib-shared-win32): Likewise.
       (gnatlib-shared-darwin): Likewise.
       (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
       gnatlib-shared-win32.

       libada/
       * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PICFLAG).

From-SVN: r188390

12 years agoFixup ChangeLog
Richard Biener [Mon, 11 Jun 2012 14:22:01 +0000 (14:22 +0000)]
Fixup ChangeLog

From-SVN: r188388

12 years agore PR debug/53470 (ICE when linking with -g in splice_child_die, at dwarf2out.c:4264)
Richard Guenther [Mon, 11 Jun 2012 14:14:09 +0000 (14:14 +0000)]
re PR debug/53470 (ICE when linking with -g in splice_child_die, at dwarf2out.c:4264)

2012-06-11  Richard Guenther  <rguenther@suse.de>

PR middle-end/53470
* tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
replace it with the first non-BLOCK context.

* g++.dg/lto/pr53470_0.C: New testcase.
* gcc.dg/lto/pr53470_0.c: Likewise.

From-SVN: r188387

12 years agore PR c++/53605 (Compiler ICEs in size_binop_loc)
Richard Guenther [Mon, 11 Jun 2012 13:58:29 +0000 (13:58 +0000)]
re PR c++/53605 (Compiler ICEs in size_binop_loc)

2012-06-11  Richard Guenther  <rguenther@suse.de>

PR c++/53616
* mangle.c (write_array_type): Use double-ints for array domain
arithmetic.

* g++.dg/ext/pr53605.C: New testcase.

From-SVN: r188386

12 years agoalias.c (aliases_everything_p): Remove.
Richard Guenther [Mon, 11 Jun 2012 10:04:23 +0000 (10:04 +0000)]
alias.c (aliases_everything_p): Remove.

2012-06-11  Richard Guenther  <rguenther@suse.de>

* alias.c (aliases_everything_p): Remove.
(DIFFERENT_ALIAS_SETS_P): Likewise.
(true_dependence_1): Use mems_in_disjoint_alias_sets_p directly.
Do not use aliases_everything_p or special-case ANDs.  Do not
special-case BLKmode moves.
(may_alias_p): Likewise.  Handle BLKmode similar like everywhere
- for SCATCH only.

From-SVN: r188384

12 years agodecl.c (gnat_to_gnu_entity): Convert GNU_SIZE to units before invoking allocatable_si...
Eric Botcazou [Mon, 11 Jun 2012 09:14:20 +0000 (09:14 +0000)]
decl.c (gnat_to_gnu_entity): Convert GNU_SIZE to units before invoking allocatable_size_p on it.

* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
to units before invoking allocatable_size_p on it.
Remove orphaned comment.  Do not use ssize_int.
<E_Record_Subtype>: Traverse list in original order.  Minor tweak.
(allocatable_size_p): Adjust and simplify.
(build_subst_list): Use consistent terminology throughout.
(build_variant_list): Likewise.  Traverse list in original order.
(create_field_decl_from): Likewise.
(copy_and_substitute_in_size): Likewise.
(create_variant_part_from): Add comment about field list order.
* gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
* gcc-interface/utils2.c (build_allocator): Likewise.

From-SVN: r188382

12 years agotrans.c (Identifier_to_gnu): Test Is_Elementary_Type instead of Is_Scalar_Type for...
Eric Botcazou [Mon, 11 Jun 2012 08:54:32 +0000 (08:54 +0000)]
trans.c (Identifier_to_gnu): Test Is_Elementary_Type instead of Is_Scalar_Type for a constant with an...

* gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
instead of Is_Scalar_Type for a constant with an address clause.
Do not return the underlying constant for a constant used by reference
if it holds the address of a constant and an lvalue is required.

From-SVN: r188380

12 years agodecl.c (gnat_to_gnu_entity): Do not specifically deal with external constants wrt...
Eric Botcazou [Mon, 11 Jun 2012 08:34:44 +0000 (08:34 +0000)]
decl.c (gnat_to_gnu_entity): Do not specifically deal with external constants wrt force_global here...

* gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
with external constants wrt force_global here...
<E_Constant>: ...but here instead.
* gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
the list of global DECLs.

From-SVN: r188379

12 years agodecl.c (gnat_to_gnu_entity): Translate the Esize on entry only for elementary types...
Eric Botcazou [Mon, 11 Jun 2012 08:02:35 +0000 (08:02 +0000)]
decl.c (gnat_to_gnu_entity): Translate the Esize on entry only for elementary types and abort if it is too large.

* gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
entry only for elementary types and abort if it is too large.
<E_Record_Type>: Make sure the Esize is known before using it.

From-SVN: r188378

12 years agoDaily bump.
GCC Administrator [Mon, 11 Jun 2012 00:17:34 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r188375

12 years agoDaily bump.
GCC Administrator [Sun, 10 Jun 2012 00:17:20 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r188370

12 years agoFix CRIS build errors with --enable-build-with-cxx.
Hans-Peter Nilsson [Sat, 9 Jun 2012 20:53:39 +0000 (20:53 +0000)]
Fix CRIS build errors with --enable-build-with-cxx.

* config/cris/cris.c (cris_emit_trap_for_misalignment): Rename
variable "and" to "andop".
* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>"): Use
temporary variable for memory model, passing C++-type-correct
parameter type to expand_mem_thread_fence.
("atomic_compare_and_swap<mode>"): Ditto.

From-SVN: r188362

12 years agosfp-machine.h (__gcc_CMPtype, [...]): Move ...
Uros Bizjak [Sat, 9 Jun 2012 17:32:27 +0000 (19:32 +0200)]
sfp-machine.h (__gcc_CMPtype, [...]): Move ...

* config/i386/32/sfp-machine.h (__gcc_CMPtype, CMPtype,
_FP_KEEPNANFRACP, _FP_CHOOSENAN, FP_EX_INVALID, FP_EX_DENORM,
FP_EX_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT,
FP_HANDLE_EXCEPTIONS, FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
FP_RND_MINF, _FP_DEXL_EX, FP_INIT_ROUNDMODE, FP_ROUNDMODE,
__LITTLE_ENDIAN, __BIG_ENDIAN, strong_alias): Move ...
* config/i386/64/sfp-machine: ... (delete here) ...
* config/i386/sfp-machine.h: ... to here.
(FP_EX_MASK): New.
(__sfp_handle_exceptions): New function declaration.
(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
* config/i386/sfp-exceptions.c: New.
* config/i386/t-softfp: New.
* config.host (i[34567]86-*-* and x86_64-*-* soft-fp targets): Add
i386/t-softfp to tmake_file.

From-SVN: r188361

12 years agore PR c++/53602 (Libre Office causes an internal compiler error)
Richard Henderson [Sat, 9 Jun 2012 16:27:52 +0000 (09:27 -0700)]
re PR c++/53602 (Libre Office causes an internal compiler error)

PR c++/53602
        * cfgcleanup.c (execute_jump): Rename from rest_of_handle_jump2.
        (pass_jump): Rename from pass_jump2.
        (execute_jump2, pass_jump2): New.
        * combine-stack-adj.c (rest_of_handle_stack_adjustments): Don't
        perform cfg cleanup here.  Move the test of PUSH_ROUNDING
        and ACCUMULATE_OUTGOING_ARGS test...
        (gate_handle_stack_adjustments): ... here.
        * passes.c (init_optimization_passes): Update for pass_jump2 rename.
        Place new pass_jump2 after pass_stack_adjustments.
        * tree-pass.h (pass_jump): Declare.

From-SVN: r188360

12 years agosimplify-rtx.c (simplify_const_binary_operation): Fixed shift count trucation.
Kenneth Zadeck [Sat, 9 Jun 2012 12:40:40 +0000 (12:40 +0000)]
simplify-rtx.c (simplify_const_binary_operation): Fixed shift count trucation.

2012-06-09  Kenneth Zadeck <zadeck@naturalbridge.com>

* simplify-rtx.c (simplify_const_binary_operation): Fixed shift
count trucation.

From-SVN: r188359

12 years agore PR c++/53602 (Libre Office causes an internal compiler error)
Richard Henderson [Sat, 9 Jun 2012 06:18:38 +0000 (23:18 -0700)]
re PR c++/53602 (Libre Office causes an internal compiler error)

PR c++/53602

From-SVN: r188358

12 years agore PR c++/53602 (Libre Office causes an internal compiler error)
Richard Henderson [Sat, 9 Jun 2012 06:17:12 +0000 (23:17 -0700)]
re PR c++/53602 (Libre Office causes an internal compiler error)

PR c++/53602
        * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
        note to a clobber insn when no other insn is available.

From-SVN: r188357

12 years agoDaily bump.
GCC Administrator [Sat, 9 Jun 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188354

12 years agoAdjust last commit.
Jakub Jelinek [Fri, 8 Jun 2012 18:52:32 +0000 (20:52 +0200)]
Adjust last commit.

From-SVN: r188338

12 years agodwarf2.def (DW_FORM_GNU_ref_alt, [...]): New forms.
Jakub Jelinek [Fri, 8 Jun 2012 18:48:46 +0000 (20:48 +0200)]
dwarf2.def (DW_FORM_GNU_ref_alt, [...]): New forms.

* dwarf2.def (DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt): New
forms.
* dwarf2.h (enum dwarf_macro_record_type): Add
DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt
and DW_MACRO_GNU_transparent_include_alt.

From-SVN: r188337

12 years agoavr.c (avr_case_values_threshold): Return 7.
Georg-Johann Lay [Fri, 8 Jun 2012 18:32:25 +0000 (18:32 +0000)]
avr.c (avr_case_values_threshold): Return 7.

* config/avr/avr.c (avr_case_values_threshold): Return 7.

From-SVN: r188336

12 years agore PR fortran/52552 ([OOP] ICE when trying to allocate non-allocatable object giving...
Janus Weil [Fri, 8 Jun 2012 17:26:11 +0000 (19:26 +0200)]
re PR fortran/52552 ([OOP] ICE when trying to allocate non-allocatable object giving a dynamic type)

2012-06-08  Janus Weil  <janus@gcc.gnu.org>

PR fortran/52552
* match.c (gfc_match_allocate): Modify order of checks. Change wording
of error message. Remove FIXME note.
* resolve.c (resolve_allocate_expr): Add a comment.

2012-06-08  Janus Weil  <janus@gcc.gnu.org>

PR fortran/52552
* gfortran.dg/allocate_alloc_opt_1.f90: Modified.
* gfortran.dg/allocate_class_1.f90: Modified.
* gfortran.dg/allocate_with_typespec_4.f90: Modified.
* gfortran.dg/allocate_class_2.f90: New.

From-SVN: r188335

12 years agoFix discrepancies in submitted patch vs.
Hans-Peter Nilsson [Fri, 8 Jun 2012 02:25:08 +0000 (02:25 +0000)]
Fix discrepancies in submitted patch vs.

Fix discrepancies in submitted patch vs. committed patch for CRIS
-march= fix change on 2012-05-31 and ditto typo ChangeLog.

From-SVN: r188324

12 years agoDaily bump.
GCC Administrator [Fri, 8 Jun 2012 00:18:06 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188322

12 years agore PR middle-end/53535 (non-aligned memset on non-strict-alignment targets not optimi...
Hans-Peter Nilsson [Thu, 7 Jun 2012 20:44:01 +0000 (20:44 +0000)]
re PR middle-end/53535 (non-aligned memset on non-strict-alignment targets not optimized where aligned memset is)

PR middle-end/53535
* gcc.dg/pr46647.c: xfail for cris-* and crisv32-*.

From-SVN: r188317

12 years agore PR fortran/52861 ((missed optimisation) missed transformation to memset with -O3)
Thomas Koenig [Thu, 7 Jun 2012 14:33:51 +0000 (14:33 +0000)]
re PR fortran/52861 ((missed optimisation) missed transformation to memset with -O3)

2012-06-07  Thomas König  <tkoenig@gcc.gnu.org>

PR fortran/52861
* frontend-passes.c (optimize_assignment):  Don't set the
length of an empty string for deferred-length character
variables.

2012-06-07  Thomas König  <tkoenig@gcc.gnu.org>

PR fortran/52861
* gfortran.dg/string_assign_2.f90:  New test case.

From-SVN: r188305

12 years agogenhooks.c (main): Set progname.
Andreas Schwab [Thu, 7 Jun 2012 12:12:01 +0000 (12:12 +0000)]
genhooks.c (main): Set progname.

* genhooks.c (main): Set progname.
(emit_documentation): Remove variable found_start, always bail out
when a place is missing.
* doc/tm.texi.in (C++ ABI): Add @hook
TARGET_CXX_DECL_MANGLING_CONTEXT.

From-SVN: r188302

12 years agore PR fortran/52861 ((missed optimisation) missed transformation to memset with -O3)
Thomas Koenig [Thu, 7 Jun 2012 11:11:55 +0000 (11:11 +0000)]
re PR fortran/52861 ((missed optimisation) missed transformation to memset with -O3)

2012-06-07  Thomas König  <tkoenig@gcc.gnu.org>

PR fortran/52861
* frontend-passes (empty_string):  Add prototype.
(optimize_assignment):  Set the length of an empty string
constant to zero.

2012-06-07  Thomas König  <tkoenig@gcc.gnu.org>

PR fortran/52861
* gfortran.dg/string_assign_1.f90:  New test case.

From-SVN: r188300

12 years agocompiler: Fix taking address of field of local variable.
Ian Lance Taylor [Thu, 7 Jun 2012 08:06:08 +0000 (08:06 +0000)]
compiler: Fix taking address of field of local variable.

From-SVN: r188299

12 years agore PR c/53580 (Internal Segmentation fault in nested "omp parallel", "omp parallel...
Jakub Jelinek [Thu, 7 Jun 2012 06:36:55 +0000 (08:36 +0200)]
re PR c/53580 (Internal Segmentation fault in nested "omp parallel", "omp parallel for" and "omp parallel for reduction" Directives)

PR middle-end/53580
* omp-low.c (scan_omp): Change first argument to
gimple_seq *, call walk_gimple_seq_mod instead of
walk_gimple_seq.
(scan_sharing_clauses, scan_omp_parallel, scan_omp_task,
scan_omp_for, scan_omp_sections, scan_omp_single,
execute_lower_omp): Adjust callers.
(scan_omp_1_stmt): Likewise.  If check_omp_nesting_restrictions
returns false, replace stmt with GIMPLE_NOP.
(check_omp_nesting_restrictions): Instead of issuing warnings,
issue errors and return false if any errors were reported.

* gcc.dg/gomp/nesting-1.c: Expect errors rather than warnings.
* gcc.dg/gomp/critical-4.c: Likewise.
* gfortran.dg/gomp/appendix-a/a.35.1.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.35.3.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.35.4.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.35.6.f90: Likewise.
* c-c++-common/gomp/pr53580.c: New test.

* testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
use GOMP_barrier () call instead.
* testsuite/libgomp.c/pr26943-3.c: Likewise.
* testsuite/libgomp.c/pr26943-4.c: Likewise.
* testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
call GOMP_barrier instead.
* testsuite/libgomp.fortran/vla5.f90: Likewise.

From-SVN: r188298

12 years agoruntime: Fix printing of names in stack dumps.
Ian Lance Taylor [Thu, 7 Jun 2012 06:34:52 +0000 (06:34 +0000)]
runtime: Fix printing of names in stack dumps.

From-SVN: r188297

12 years agocompiler: Fix unsafe.Sizeof for named structs with named struct fields.
Ian Lance Taylor [Thu, 7 Jun 2012 05:49:44 +0000 (05:49 +0000)]
compiler: Fix unsafe.Sizeof for named structs with named struct fields.

From-SVN: r188295

12 years agore PR c++/51214 ([C++11] name lookup issue with c++11 enums)
Fabien Chêne [Thu, 7 Jun 2012 05:36:18 +0000 (07:36 +0200)]
re PR c++/51214 ([C++11] name lookup issue with c++11 enums)

gcc/testsuite/ChangeLog

2012-06-07  Fabien Chêne  <fabien@gcc.gnu.org>

PR c++/51214
* g++.dg/cpp0x/forw_enum11.C: New.

gcc/cp/ChangeLog

2012-06-07  Fabien Chêne  <fabien@gcc.gnu.org>

PR c++/51214
* cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
Declare.
* class.c (insert_into_classtype_sorted_fields): New.
(add_enum_fields_to_record_type): New.
(count_fields): Adjust the comment.
(add_fields_to_record_type): Likewise.
(finish_struct_1): Move the code that inserts the fields for the
sorted case, into insert_into_classtype_sorted_fields, and call
it.
(insert_late_enum_def_into_classtype_sorted_fields): Define.
* decl.c (finish_enum_value_list): Call
insert_late_enum_def_into_classtype_sorted_fields if a late enum
definition is encountered.

From-SVN: r188294

12 years agoruntime: Use dl_iterate_phdr to get TLS size.
Ian Lance Taylor [Thu, 7 Jun 2012 00:55:20 +0000 (00:55 +0000)]
runtime: Use dl_iterate_phdr to get TLS size.

From-SVN: r188290

12 years agoDaily bump.
GCC Administrator [Thu, 7 Jun 2012 00:18:57 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188289

12 years agoMove Changelog entries to the right file.
Sterling Augustine [Wed, 6 Jun 2012 23:06:06 +0000 (23:06 +0000)]
Move Changelog entries to the right file.

From-SVN: r188284

12 years agore PR c++/53567 ("ICE: Error reporting routines re-entered" on missing enum entry)
Paolo Carlini [Wed, 6 Jun 2012 23:01:45 +0000 (23:01 +0000)]
re PR c++/53567 ("ICE: Error reporting routines re-entered" on missing enum entry)

/cp
2012-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53567
* typeck.c (cp_perform_integral_promotions): New, like
perform_integral_promotions but also takes a tsubst_flags_t parameter.
(pointer_diff): Add tsubst_flags_t parameter.
(decay_conversion, cp_default_conversion, cp_build_array_ref,
cp_build_binary_op, cp_build_unary_op, build_static_cast_1,
build_reinterpret_cast_1, cp_build_modify_expr,
convert_for_assignment): Adjust.
* optimize.c (build_delete_destructor_body): Adjust.
* init.c (expand_virtual_init, expand_default_init, build_new_1,
build_new, build_vec_delete_1, build_vec_init, build_delete): Adjust.
(construct_virtual_base): Adjust LOOKUP_COMPLAIN -> 0.
* class.c (build_base_path): Adjust.
* decl.c (compute_array_index_type, finish_destructor_body): Likewise.
* method.c (synthesized_method_walk): Adjust flag and complain.
* rtti.c (ifnonnull): Add tsubst_flags_t parameter.
(build_typeid, build_dynamic_cast_1): Adjust.
* except.c (initialize_handler_parm): Likewise.
* typeck2.c (process_init_constructor_record): Likewise.
* pt.c (tsubst_friend_class): Don't change flags.
* semantics.c (finish_goto_stmt, handle_omp_for_class_iterator,
finish_static_assert): Likewise.
* parser.c (cp_parser_lookup_name): Just pass 0 as flags to
lookup_name_real.
* call.c (build_op_delete_call): Add tsubst_flags_t parameter.
(convert_like_real, convert_arg_to_ellipsis, convert_for_arg_passing):
Adjust.
(standard_conversion): Adjust LOOKUP_COMPLAIN -> 0.
(implicit_conversion): Mask out tf_error with a FIXME.
(build_user_type_conversion_1, build_new_op_1, build_over_call): Use
complain & tf_error instead of flags & LOOKUP_COMPLAIN.
* cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
build_up_reference, convert_to_reference, cp_convert,
cp_convert_and_check, ocp_convert, convert_force): Add tsubst_flags_t
parameter.
(convert_to_reference, ocp_convert): Use complain & tf_error instead
of flags & LOOKUP_COMPLAIN.
(convert_force): Adjust LOOKUP_COMPLAIN -> 0.
* name-lookup.c (identifier_type_value_1, lookup_qualified_name,
lookup_name_real, lookup_function_nonclass, lookup_name,
lookup_name_prefer_type): Adjust LOOKUP_COMPLAIN -> 0.
* cp-tree.h: Adjust prototypes; remove LOOKUP_COMPLAIN.

/testsuite
2012-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53567
* g++.dg/cpp0x/alias-decl-19.C: New.

From-SVN: r188283

12 years agoinvoke.texi (fconserve-space): Remove documentation.
Steven Bosscher [Wed, 6 Jun 2012 21:38:20 +0000 (21:38 +0000)]
invoke.texi (fconserve-space): Remove documentation.

gcc/
* doc/invoke.texi (fconserve-space): Remove documentation.

c-family/
* c.opt (fconserve-space): Turn into a no-op.

cp/
* decl.c: Do not include output.h.
(start_decl): Remove code for flag_conserve_space.

testsuite/
* g++.old-deja/g++.brendan/array1.C: Remove dg-options.

From-SVN: r188282

12 years agore PR libgomp/52993 (gomp_init_nest_lock_25: possible bad call to memset)
Jakub Jelinek [Wed, 6 Jun 2012 18:31:06 +0000 (20:31 +0200)]
re PR libgomp/52993 (gomp_init_nest_lock_25: possible bad call to memset)

PR libgomp/52993
* config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
argument to memset call.

From-SVN: r188276

12 years agoavx-os-support.h (XCR_XFEATURE_ENABLED_MASK): New.
Uros Bizjak [Wed, 6 Jun 2012 18:11:39 +0000 (20:11 +0200)]
avx-os-support.h (XCR_XFEATURE_ENABLED_MASK): New.

* gcc.target/i386/avx-os-support.h (XCR_XFEATURE_ENABLED_MASK): New.
(XSTATE_FP): Ditto.
(XSTATE_SSE): Ditto.
(XSTATE_YMM): Ditto.
(avx_os_support): Use new defines.

From-SVN: r188275

12 years agors6000-tables.opt: Regenerated.
Edmar Wienskoski [Wed, 6 Jun 2012 18:09:18 +0000 (18:09 +0000)]
rs6000-tables.opt: Regenerated.

2012-06-06  Edmar Wienskoski  <edmar@freescale.com>

* config/rs6000/rs6000-tables.opt: Regenerated.

From-SVN: r188274

12 years agoFix comments
Georg-Johann Lay [Wed, 6 Jun 2012 16:40:06 +0000 (16:40 +0000)]
Fix comments

From-SVN: r188270

12 years agoFix comments
Georg-Johann Lay [Wed, 6 Jun 2012 16:39:52 +0000 (16:39 +0000)]
Fix comments

From-SVN: r188269

12 years agore PR fortran/32380 (misaligned stores don't get vectorized)
Richard Guenther [Wed, 6 Jun 2012 12:53:30 +0000 (12:53 +0000)]
re PR fortran/32380 (misaligned stores don't get vectorized)

2012-06-06  Richard Guenther  <rguenther@suse.de>

PR testsuite/32380
* gfortran.dg/vect/pr32380.f: Adjust number of expected vectorized
loops.

From-SVN: r188266

12 years agoThe new mklog script prints three spaces after the date part, which is wrong.
Marek Polacek [Wed, 6 Jun 2012 12:50:55 +0000 (12:50 +0000)]
The new mklog script prints three spaces after the date part, which is wrong.

The new mklog script prints three spaces after the date part, which
is wrong.  Thus fixed by adjusting the split pattern.  Tested manually.

2012-05-31  Marek Polacek  <polacek@redhat.com>

       * mklog: Prevent printing three spaces after the date.

From-SVN: r188265

12 years agore PR c++/52841 (error: type 'Solvable' is not a base type for type 'Resolvable')
Richard Biener [Wed, 6 Jun 2012 12:22:16 +0000 (12:22 +0000)]
re PR c++/52841 (error: type 'Solvable' is not a base type for type 'Resolvable')

2012-06-06  Fabien Chene  <fabien@gcc.gnu.org>

PR c++/52841
* parser.c (cp_parser_alias_declaration): Return earlier
if an error occured.

* g++.dg/cpp0x/pr52841.C: New testcase.

From-SVN: r188264

12 years agore PR tree-optimization/53081 (memcpy/memset loop recognition)
Richard Guenther [Wed, 6 Jun 2012 09:45:27 +0000 (09:45 +0000)]
re PR tree-optimization/53081 (memcpy/memset loop recognition)

2012-06-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53081
* tree-data-ref.h (adjacent_store_dr_p): Rename to ...
(adjacent_dr_p): ... this and make it work for reads, too.
* tree-loop-distribution.c (enum partition_kind): Add PKIND_MEMCPY.
(struct partition_s): Change main_stmt to main_dr, add
secondary_dr member.
(build_size_arg_loc): Change to date data-reference and not
gimplify here.
(build_addr_arg_loc): New function split out from ...
(generate_memset_builtin): ... here.  Use it and simplify.
(generate_memcpy_builtin): New function.
(generate_code_for_partition): Adjust.
(classify_partition): Streamline pattern detection.  Detect
memcpy.
(ldist_gen): Adjust.
(tree_loop_distribution): Adjust seed statements for memcpy
recognition.

* gcc.dg/tree-ssa/ldist-20.c: New testcase.
* gcc.dg/tree-ssa/loop-19.c: Add -fno-tree-loop-distribute-patterns.

From-SVN: r188261

12 years agoFor Matt Turner.
Matt Turner [Wed, 6 Jun 2012 09:32:23 +0000 (09:32 +0000)]
For Matt Turner.

2012-06-06  Matt Turner  <mattst88@gmail.com>

* config/arm/mmintrin.h (_mm_empty): New.
 (_m_empty): New.

From-SVN: r188259

12 years agoinvoke.texi (sched-pressure-algorithm): Document new --param.
Richard Sandiford [Wed, 6 Jun 2012 09:12:58 +0000 (09:12 +0000)]
invoke.texi (sched-pressure-algorithm): Document new --param.

gcc/
* doc/invoke.texi (sched-pressure-algorithm): Document new --param.
* common.opt (fsched-pressure-algorithm=): Remove.
* flag-types.h (sched_pressure_algorithm): Move to...
* sched-int.h (sched_pressure_algorithm): ...here.
* params.def (sched-pressure-algorithm): New param.
* haifa-sched.c (sched_init): Use it to initialize sched_pressure.
* common/config/s390/s390-common.c (s390_option_optimization_table):
Remove OPT_fsched_pressure_algorithm_ entry.
* config/s390/s390.c (s390_option_override): Set a default value for
PARAM_SCHED_PRESSURE_ALGORITHM.

From-SVN: r188258

12 years agoDaily bump.
GCC Administrator [Wed, 6 Jun 2012 00:18:51 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188257

12 years agore PR target/53487 (Unrecognizable insn for conditional move)
Michael Meissner [Tue, 5 Jun 2012 19:40:34 +0000 (19:40 +0000)]
re PR target/53487 (Unrecognizable insn for conditional move)

[gcc]
2012-06-04  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/53487
* config/rs6000/rs6000.c (rs6000_generate_compare): If we are
doing an unsigned compare, make sure the second argument is not a
negative constant.
(rs6000_emit_cmove): Don't allow floating point comparisons when
generating ISEL moves.

[gcc/testsuite]
2012-06-04  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/pr53487.c: New test.

From-SVN: r188248

12 years agolhs-1.c: Use parm instead of stack space.
Pat Haugen [Tue, 5 Jun 2012 19:06:57 +0000 (19:06 +0000)]
lhs-1.c: Use parm instead of stack space.

        * gcc.target/powerpc/lhs-1.c: Use parm instead of stack space.

From-SVN: r188247

12 years ago2012-06-05 Edmar Wienskoski <edmar@freescale.com>
Edmar Wienskoski [Tue, 5 Jun 2012 16:12:00 +0000 (16:12 +0000)]
2012-06-05  Edmar Wienskoski  <edmar@freescale.com>

* Fixed date in ChangeLog

From-SVN: r188245

12 years agoe5500.md: New file.
Edmar Wienskoski [Tue, 5 Jun 2012 16:05:16 +0000 (16:05 +0000)]
e5500.md: New file.

2012-06-01  Edmar Wienskoski  <edmar@freescale.com>

* config/rs6000/e5500.md: New file.
* config/rs6000/e6500.md: New file.
* config/rs6000/rs6000.c (processor_costs): Add new costs for
e5500 and e6500.
(rs6000_option_override_internal): Altivec and Spe options not
allowed with e5500. Spe options not allowed with e6500. Increase
move inline limit for e5500 and e6500. Disable string instructions
for e5500 and e6500. Enable branch targets alignment for e5500 and
e6500. Initialize rs6000_cost for e5500 and e6500.
(rs6000_adjust_cost): Add extra scheduling cycles between compare
and brnach for e5500 and e6500.
(rs6000_issue_rate): Set issue rate for e5500 and e6500.
* config/rs6000/rs6000-cpus.def: Add cpu definitions for e5500 and
e6500.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add e5500 and e6500.
* config/rs6000/rs6000.md (define_attr "cpu"): Add ppce5500 and
ppce6500.
Include e5500.md and e6500.md.
* config/rs6000/rs6000-opt.h (processor_type): Add
PROCESSOR_PPCE5500 and PROCESSOR_PPCE6500.
* config.gcc (cpu_is_64bit): Add new cores e5500, e6500.
(powerpc*-*-*): Add new cores e5500, e6500.
* doc/invoke.texi: (item -mcpu): Add e5500 and e6500 to list of cpus.

gcc/testsuite
2012-06-01  Edmar Wienskoski  <edmar@freescale.com>

* gcc.dg/tree-ssa/vector-3.c: Adjust regular expression.

From-SVN: r188244

12 years agotree-vect-data-refs.c (vect_analyze_data_refs): Fix last change.
Richard Guenther [Tue, 5 Jun 2012 14:30:35 +0000 (14:30 +0000)]
tree-vect-data-refs.c (vect_analyze_data_refs): Fix last change.

2012-06-05  Richard Guenther  <rguenther@suse.de>

* tree-vect-data-refs.c (vect_analyze_data_refs): Fix last
change.

From-SVN: r188243

12 years agoline-map.c (linemap_enter_macro): Don't zero max_column_hint in every macro.
Dimitrios Apostolou [Tue, 5 Jun 2012 14:25:46 +0000 (14:25 +0000)]
line-map.c (linemap_enter_macro): Don't zero max_column_hint in every macro.

  * line-map.c (linemap_enter_macro): Don't zero max_column_hint in
  every macro. This improves performance by reducing the number of
  reallocations when track-macro-expansion is on.

From-SVN: r188242

12 years agoSelect x32 run-time library for --with-abi={x32|mx32}
H.J. Lu [Tue, 5 Jun 2012 13:12:52 +0000 (13:12 +0000)]
Select x32 run-time library for --with-abi={x32|mx32}

PR target/53575
* config.gcc: Select x32 run-time library if --with-abi={x32|mx32}
is used for x86_64-*-*.

From-SVN: r188240

12 years agoruntime: Comment out code adding TLS size to stack size.
Ian Lance Taylor [Tue, 5 Jun 2012 13:12:13 +0000 (13:12 +0000)]
runtime: Comment out code adding TLS size to stack size.

From-SVN: r188238

12 years agore PR middle-end/30442 (Expanded array initialization can use memset builtin function)
Richard Guenther [Tue, 5 Jun 2012 12:38:26 +0000 (12:38 +0000)]
re PR middle-end/30442 (Expanded array initialization can use memset builtin function)

2012-06-05  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/30442
* tree-vect-data-refs.c (vect_analyze_data_refs): For basic-block
vectorization stop analysis at the first stmt we cannot compute
a data-reference for instead of giving up completely.

* gcc.dg/vect/bb-slp-30.c: New testcase.

From-SVN: r188235

12 years agotree-loop-distribution.c (struct partition_s): Add has_writes member.
Richard Guenther [Tue, 5 Jun 2012 11:27:30 +0000 (11:27 +0000)]
tree-loop-distribution.c (struct partition_s): Add has_writes member.

2012-06-05  Richard Guenther  <rguenther@suse.de>

* tree-loop-distribution.c (struct partition_s): Add has_writes
member.
(partition_alloc): Initialize it.
(partition_has_writes): New function.
(rdg_flag_uses): Adjust.
(rdg_flag_vertex): Likewise.
(rdg_flag_vertex_and_dependent): Likewise.
(rdg_flag_loop_exits): Likewise.
(build_rdg_partition_for_component): Likewise.
(rdg_build_partitions): Likewise.

From-SVN: r188233

12 years agore PR tree-optimization/53081 (memcpy/memset loop recognition)
Richard Guenther [Tue, 5 Jun 2012 09:24:43 +0000 (09:24 +0000)]
re PR tree-optimization/53081 (memcpy/memset loop recognition)

2012-06-05  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53081
* tree-loop-distribution.c (generate_memset_builtin): Handle all
kinds of byte-sized stores.
(classify_partition): Likewise.
(tree_loop_distribution): Adjust seed statements used for
!flag_tree_loop_distribution.

* gcc.dg/tree-ssa/ldist-19.c: New testcase.
* gcc.c-torture/execute/builtins/builtins.exp: Always pass
-fno-tree-loop-distribute-patterns.

From-SVN: r188232

12 years agoruntime: Fix call to _dl_get_tls_static_info for i386.
Ian Lance Taylor [Tue, 5 Jun 2012 06:19:19 +0000 (06:19 +0000)]
runtime: Fix call to _dl_get_tls_static_info for i386.

From-SVN: r188230

12 years agomksysinfo: Fix for recent change to glibc <sys/resource.h>.
Ian Lance Taylor [Tue, 5 Jun 2012 05:32:54 +0000 (05:32 +0000)]
mksysinfo: Fix for recent change to glibc <sys/resource.h>.

From-SVN: r188228

12 years agoFix typo.
Mike Stump [Tue, 5 Jun 2012 03:11:59 +0000 (03:11 +0000)]
Fix typo.

From-SVN: r188227

12 years agoFix typo.
Mike Stump [Tue, 5 Jun 2012 02:46:52 +0000 (02:46 +0000)]
Fix typo.

From-SVN: r188226

12 years agors6000.c (ptr_regno_for_savres): Comment.
Alan Modra [Tue, 5 Jun 2012 01:59:14 +0000 (11:29 +0930)]
rs6000.c (ptr_regno_for_savres): Comment.

gcc/
* config/rs6000/rs6000.c (ptr_regno_for_savres): Comment.
(rs6000_emit_prologue): Ensure register used for inline saves
of vector regs is not the static chain register.  Revise comment.
gcc/testsuite/
* gcc.target/powerpc/savres.c: Add -mdynamic-no-pic for darwin.
Check static chain in nested funcs.

From-SVN: r188225

12 years agomd.texi (Standard Pattern Names For Generation): Document sincos pattern.
Oleg Endo [Tue, 5 Jun 2012 00:51:04 +0000 (00:51 +0000)]
md.texi (Standard Pattern Names For Generation): Document sincos pattern.

* doc/md.texi (Standard Pattern Names For Generation): Document
sincos pattern.

From-SVN: r188219

12 years agoAdd ChangeLog entry for previous commit.
Diego Novillo [Tue, 5 Jun 2012 00:36:08 +0000 (20:36 -0400)]
Add ChangeLog entry for previous commit.

From-SVN: r188218

12 years agoExtend validate_failures.py to run outside the build directory.
Diego Novillo [Tue, 5 Jun 2012 00:28:56 +0000 (20:28 -0400)]
Extend validate_failures.py to run outside the build directory.

This patch adds three new arguments to validate_failures.py so
it can be used outside the build directory:

--ignore_missing_failures
    When a failure is expected in the manifest but it is not found in
    the actual results, the script produces a note alerting to this
    fact. This means that the expected failure has been fixed, or it
    did not run, or it may simply be flaky.

    With this option, one can ask the script not to show the missing
    failures.

--manifest
    Name of the manifest file to use.  By default, the script will
    look for the manifest file in the source directory associated with
    this build.  With this option, one can point to any arbitrary
    manifest file.  I renamed the old --manifest flag to
    --produce_manifest.

--results
    Space-separated list of .sum files with the testing results to
    check. The only content needed from these files are the lines
    starting with FAIL, XPASS or UNRESOLVED.

From-SVN: r188217

12 years agoDaily bump.
GCC Administrator [Tue, 5 Jun 2012 00:17:21 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r188216

12 years agoSkip debug insns in ix86_sched_reorder
H.J. Lu [Mon, 4 Jun 2012 23:31:54 +0000 (23:31 +0000)]
Skip debug insns in ix86_sched_reorder

PR bootstrap/53555
* config/i386/i386.c (ix86_sched_reorder) Skip debug insns.

From-SVN: r188212

12 years agodwarf2out.c (is_unit_die): New.
Jason Merrill [Mon, 4 Jun 2012 21:45:31 +0000 (17:45 -0400)]
dwarf2out.c (is_unit_die): New.

* dwarf2out.c (is_unit_die): New.
(copy_declaration_context, copy_ancestor_tree): Use it.
(copy_decls_walk): Likewise.

From-SVN: r188209

12 years agore PR fortran/50619 (Surprising interaction between -finit-real=NAN and the associat...
Tobias Burnus [Mon, 4 Jun 2012 21:01:02 +0000 (23:01 +0200)]
re PR fortran/50619 (Surprising interaction between  -finit-real=NAN and the associate construct)

2012-06-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50619
        * resolve.c (build_default_init_expr): Don't initialize
        ASSOCIATE names.

2012-06-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50619
        * gfortran.dg/init_flag_10.f90: New.

From-SVN: r188208

12 years agore PR c++/53524 (Bogus enum comparison warning)
Paolo Carlini [Mon, 4 Jun 2012 19:27:12 +0000 (19:27 +0000)]
re PR c++/53524 (Bogus enum comparison warning)

2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53524
* doc/invoke.texi (Wenum-compare): Update documentation.

/cp
2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53524
* call.c (build_conditional_expr_1): Use OPT_Wenum_compare
to control enumeral mismatch in conditional expression too.

/testsuite
2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53524
* g++.dg/warn/Wenum-compare-no-2: New.

From-SVN: r188204

12 years agoPR preprocessor/53463 - Fix system header detection for built-in macro tokens
Dodji Seketeli [Mon, 4 Jun 2012 19:19:58 +0000 (19:19 +0000)]
PR preprocessor/53463 - Fix system header detection for built-in macro tokens

The location for a built-in macro token is BUILTIN_LOCATION.  When we
see that location value, we cannot know if that token was used in a
system header or not.  And that can trigger some unwanted warnings on
e.g, the use of __LONG_LONG_MAX__ built-in macro in system headers
when we compile with -pedantic, like in the test case accompanying
this patch.

In that case, I think we ought to step-up to see where the built-in
macro has been expanded, until we see a location that is not for a
built-in macro.  Then we can check if the resulting location is in a
system header or not.

Now that we step up to the location of first non-built-in-macro token,
it appeared that for
testsuite/c-c++-common/dfp/convert-int-saturate.c, G++ then fails to
emit the warning in:

    volatile unsigned int usi;
    int
    main ()
    {
      usi = DEC32_MAX;  /* { dg-warning "overflow in implicit constant conversion" } */
     ...
    }

Because DEC32_MAX is defined in the system header float.h as a
built-in macro:

    #define DEC32_MAX __DEC32_MAX__

And during the parsing of the assignment expression that should have
led to the warning above, input_location is set to the location for
the DEC32_MAX, which is actually the location for the built-in
__DECL32_MAX_EXP.

A possible fix is to use the location of the "=" operator as the
default location for assignment expressions.  This is what the patch
does.

I had to adjust a couple of tests to arrange for this.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

libcpp/

PR preprocessor/53463
* line-map.c (linemap_location_in_system_header_p): For built-in
macro tokens, check the first expansion point location for that is
not for a token coming from a built-in macro.

gcc/cp/

PR preprocessor/53463
* parser.c (cp_parser_assignment_expression): Use the location
for the LHS as the default location for the expression.

gcc/testsuite/

PR preprocessor/53463
* g++.dg/cpp/limits.C: New test.
* g++.dg/parse/error19.C: Adjust.
* g++.dg/warn/Wconversion-real-integer2.C: Likewise.
* g++.dg/warn/pr35635.C: Likewise.
* g++.old-deja/g++.pt/assign1.C: Likewise.

From-SVN: r188203

12 years agoPR 53456 Fix incorrect ChangeLog entry.
Robert Mason [Mon, 4 Jun 2012 19:15:21 +0000 (22:15 +0300)]
PR 53456 Fix incorrect ChangeLog entry.

From-SVN: r188202

12 years agoPR 53456 Fix typo in gf_cputime.
Robert Mason [Mon, 4 Jun 2012 19:13:49 +0000 (22:13 +0300)]
PR 53456 Fix typo in gf_cputime.

2012-06-04  Robert Mason  <rbmj@verizon.net>
    Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/53456
* intrinsics/time_1.h (gf_cputime): Fix typo in clock_gettime branch.

From-SVN: r188201

12 years agore PR target/53559 (ICE on altivec builtins stv[l|r]x[l])
Edmar Wienskoski [Mon, 4 Jun 2012 18:44:53 +0000 (18:44 +0000)]
re PR target/53559 (ICE on altivec builtins stv[l|r]x[l])

2012-06-04  Edmar Wienskoski  <edmar@freescale.com>

PR target/53559
* config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
operands.
(altivec_stvlxl): Ditto.
(altivec_stvrx): Ditto.
(altivec_stvrxl): Ditto.

gcc/testsuite
2012-06-04  Edmar Wienskoski  <edmar@freescale.com>

PR target/53559
* gcc.target/powerpc/cell_builtin_1.c: New test case.
* gcc.target/powerpc/cell_builtin_2.c: Ditto.
* gcc.target/powerpc/cell_builtin_3.c: Ditto.
* gcc.target/powerpc/cell_builtin_4.c: Ditto.
* gcc.target/powerpc/cell_builtin_5.c: Ditto.
* gcc.target/powerpc/cell_builtin_6.c: Ditto.
* gcc.target/powerpc/cell_builtin_7.c: Ditto.
* gcc.target/powerpc/cell_builtin_8.c: Ditto.

From-SVN: r188200

12 years agoira-int.h (struct target_ira_int): Add member x_ira_uniform_class_p.
Vladimir Makarov [Mon, 4 Jun 2012 18:27:36 +0000 (18:27 +0000)]
ira-int.h (struct target_ira_int): Add member x_ira_uniform_class_p.

2012-06-04  Vladimir Makarov  <vmakarov@redhat.com>

* ira-int.h (struct target_ira_int): Add member
x_ira_uniform_class_p.
(ira_uniform_class_p): New macro.

* ira.c (setup_uniform_class_p): New function.
(setup_allocno_and_important_classes): Call the function.
(print_unform_and_important_classes): New function.
(print_classes): Rename to print_translated_classes.
(ira_debug_allocno_classes): Add call of
print_unform_and_important_classes.

* ira-costs.c (setup_regno_cost_classes_by_aclass): Use uniform
classes instead of pressure classes.

From-SVN: r188199

12 years agoc-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
Sterling Augustine [Mon, 4 Jun 2012 17:52:42 +0000 (17:52 +0000)]
c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.

2012-06-04   Sterling Augustine  <saugustine@google.com>

* gcc/c-family/c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
* gcc/c-family/c-pretty-print.c (pp_c_specifier_qualifier_list): Check
it at both the start and end of the function.
* gcc/cp/error.c (dump_decl): Check pp_c_flag_gnu_v3.
(decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
(lang_decl_name): Handle namespace decls.
* gcc/cp/cp-tree.h: Declare decl_as_dwarf_string, lang_decl_dwarf_name.
* gcc/cp/cp-lang.c: Call them.

From-SVN: r188195

12 years agore PR middle-end/47530 ([trans-mem] tail call optimization problem with _ITM_commitTr...
Aldy Hernandez [Mon, 4 Jun 2012 16:51:24 +0000 (16:51 +0000)]
re PR middle-end/47530 ([trans-mem] tail call optimization problem with _ITM_commitTransaction)

        PR middle-end/47530
        * trans-mem.c (expand_block_edges): Do not skip the first
        statement when resetting the BB.

From-SVN: r188190

12 years agotree-data-ref.c (stores_from_loop): Remove.
Richard Guenther [Mon, 4 Jun 2012 15:04:15 +0000 (15:04 +0000)]
tree-data-ref.c (stores_from_loop): Remove.

2012-06-04  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (stores_from_loop): Remove.
(stmt_with_adjacent_zero_store_dr_p): Likewise.
(stores_zero_from_loop): Likewise.
* tree-data-ref.h (stores_from_loop, stores_zero_from_loop,
stmt_with_adjacent_zero_store_dr_p, stride_of_unit_type_p): Remove.
(adjacent_store_dr_p): New function.
* tree-loop-distribution.c (generate_memset_builtin): Pass
the RDG, use the already available data-reference.
(generate_code_for_partition): Pass down RDG.
(classify_partition): Inline parts of the former
stmt_with_adjacent_zero_store_dr_p here and use adjacent_store_dr_p.
(ldist_gen): Remember if there was any detected builtin and
do less work if not and flag_tree_loop_distribution is not set.
(tree_loop_distribution): Inline and fuse stores_from_loop
and stores_zero_from_loop here.

From-SVN: r188186

12 years ago* g++.dg/debug/dwarf2/nested-3.C: Allow for | comments.
Andreas Schwab [Mon, 4 Jun 2012 14:48:58 +0000 (14:48 +0000)]
* g++.dg/debug/dwarf2/nested-3.C: Allow for | comments.

From-SVN: r188185

12 years agore PR lto/53471 (ICE in pp_base_format, at pretty-print.c:510 (-flto -g))
Richard Guenther [Mon, 4 Jun 2012 13:19:17 +0000 (13:19 +0000)]
re PR lto/53471 (ICE in pp_base_format, at pretty-print.c:510 (-flto -g))

2012-06-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/53471
* dwarf2out.c (dwarf2out_finish): If generating LTO do not
create new assembler names.

From-SVN: r188181

12 years agotree-data-ref.c (struct rdg_vertex_info): Remove.
Richard Guenther [Mon, 4 Jun 2012 13:18:16 +0000 (13:18 +0000)]
tree-data-ref.c (struct rdg_vertex_info): Remove.

2012-06-04  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (struct rdg_vertex_info): Remove.
(rdg_vertex_for_stmt): Simplify using gimple_uid.
(create_rdg_vertices): Pass loop argument, remove stmt to RDG index
hashtable.   Record stmt data-references.
(hash_stmt_vertex_info): Remove.
(eq_stmt_vertex_info): Likewise.
(hash_stmt_vertex_del): Likewise.
(build_empty_rdg): Simplify.
(build_rdg): Adjust.
(free_rdg): Likewise.
(ref_base_address): Remove.
(have_similar_memory_accesses): Likewise.
* tree-data-ref.h (create_rdg_vertices): Remove.
(struct rdg_vertex): Add datarefs member.
(RDGV_DATAREFS): New define.
(RDG_DATAREFS): Likewise.
(have_similar_memory_accesses): Remove.
(rdg_has_similar_memory_accesses): Likewise.
* tree-loop-distribution.c (ref_base_address): Re-implement here.
(similar_memory_accesses): Re-implement using existing data-references.
(tree_loop_distribution): Initialize stmt uids for the stmt to
RDG index mapping.
* tree-vect-loop.c (vect_create_epilog_for_reduction): Only
access stmt vinfo for stmts in loop.

From-SVN: r188180