]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years agoAdd several new files for preparation of providing modules
Chung-Ju Wu [Fri, 4 Jul 2014 07:18:19 +0000 (07:18 +0000)] 
Add several new files for preparation of providing modules
that are going to be separated from nds32.c source.

gcc/
* config.gcc (nds32*): Add new modules to extra_objs.
(nds32le-*-*): Use t-nds32 makefile fragment for new modules.
(nds32be-*-*): Likewise.
* config/nds32/nds32-cost.c: New file.
* config/nds32/nds32-fp-as-gp.c: New file.
* config/nds32/nds32-intrinsic.c: New file.
* config/nds32/nds32-isr.c: New file.
* config/nds32/nds32-md-auxiliary.c: New file.
* config/nds32/nds32-memory-manipulation.c: New file.
* config/nds32/nds32-pipelines-auxiliary.c: New file.
* config/nds32/nds32-predicates.c: New file.
* config/nds32/t-nds32: New file.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r212280

9 years agoNormalize interface for all *-dg-runtest.
Thomas Schwinge [Fri, 4 Jul 2014 05:28:17 +0000 (07:28 +0200)] 
Normalize interface for all *-dg-runtest.

gcc/testsuite/
* lib/g++-dg.exp (g++-dg-runtest): Change interface to match
dg-runtest's.  Adapt all callers.
* lib/gcc-dg.exp (gcc-dg-runtest): Likewise.
* lib/gfortran-dg.exp (gfortran-dg-runtest): Likewise.
* lib/go-dg.exp (go-dg-runtest): Likewise.
* lib/obj-c++-dg.exp (obj-c++-dg-runtest): Likewise.
* lib/objc-dg.exp (objc-dg-runtest): Likewise.
libffi/
* testsuite/lib/libffi.exp (libffi-dg-runtest): Change interface
match to dg-runtest's.

From-SVN: r212278

9 years agoDaily bump.
GCC Administrator [Fri, 4 Jul 2014 00:16:52 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r212277

9 years agore PR tree-optimization/61682 (wrong code at -O3 on x86_64-linux-gnu)
Jakub Jelinek [Thu, 3 Jul 2014 22:11:21 +0000 (00:11 +0200)] 
re PR tree-optimization/61682 (wrong code at -O3 on x86_64-linux-gnu)

PR tree-optimization/61682
* wide-int.cc (wi::mul_internal): Handle high correctly
for umul_ppmm using cases and when one of the operands is
equal to 1.

* gcc.c-torture/execute/pr61682.c: New test.

From-SVN: r212273

9 years agolibgomp.exp (libgomp_target_compile): If $source matches regex $lang_source_re, add...
Jakub Jelinek [Thu, 3 Jul 2014 18:45:35 +0000 (20:45 +0200)] 
libgomp.exp (libgomp_target_compile): If $source matches regex $lang_source_re, add $lang_include_flags to options.

* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
matches regex $lang_source_re, add $lang_include_flags to options.
* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
* testsuite/libgomp.c++/c++.exp: Likewise.
* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
and lang_include_flags instead of adding -fintrinsic-modules-path= to
ALWAYS_CFLAGS.
* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.

From-SVN: r212268

9 years agoFix the shift patterns, and add test
Segher Boessenkool [Thu, 3 Jul 2014 16:39:58 +0000 (18:39 +0200)] 
Fix the shift patterns, and add test

Firstly, it adds back the split conditions that I accidentally removed.
Without it the dot insns are never generated, or rather, always split
back to a separate compare instruction.

Secondly, the shift amount should be SI always, not GPR, or GCC will
insert a zero-extend at expand time that it cannot get rid of later.

The test tests whether dot-form instructions are generated for both
"dot" and "dot2" cases, that is, with just a CC output or also a GPR
output; for all four basic shifts, with a register amount or an
immediate amount.  It also tests for superfluous zero-extends.  This
also tests if combine "simplifies" the rotates to right-rotates, which
it shouldn't do anymore.

From-SVN: r212267

9 years agoExplain gfortran-dg-runtest usage in libgomp Fortran testing.
Thomas Schwinge [Thu, 3 Jul 2014 15:23:43 +0000 (17:23 +0200)] 
Explain gfortran-dg-runtest usage in libgomp Fortran testing.

libgomp/
* testsuite/libgomp.fortran/fortran.exp: Explain
gfortran-dg-runtest usage.

From-SVN: r212266

9 years agoarm.md (arch): Add armv6_or_vfpv3.
Richard Earnshaw [Thu, 3 Jul 2014 15:12:23 +0000 (15:12 +0000)] 
arm.md (arch): Add armv6_or_vfpv3.

* arm.md (arch): Add armv6_or_vfpv3.
(arch_enabled): Add test for the above.
* vfp.md (divsf_vfp, divdf_vfp): Add earlyclobber when code can run
on VFP9.
(sqrtsf_vfp, sqrtdf_vfp): Likewise.

From-SVN: r212265

9 years agogcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
Jakub Jelinek [Thu, 3 Jul 2014 14:39:05 +0000 (16:39 +0200)] 
gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.

* gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
* data-streamer-in.c (streamer_read_hwi): Shift UHWI 1 instead of
HWI 1 and negate the unsigned value.
* expmed.c (expand_sdiv_pow2): For modes wider than word always
use AND instead of shift.
* wide-int-print.cc (print_decs): Negate UHWI instead of HWI.
c-family/
* c-ada-spec.c (dump_ada_nodes): Don't call qsort if
comments->count <= 1, as comments->entries might be NULL.

From-SVN: r212264

9 years agoieee_1.F90: Mark variables as volatile to avoid optimization.
Francois-Xavier Coudert [Thu, 3 Jul 2014 11:47:46 +0000 (11:47 +0000)] 
ieee_1.F90: Mark variables as volatile to avoid optimization.

* gfortran.dg/ieee/ieee_1.F90: Mark variables as volatile to
avoid optimization.

From-SVN: r212261

9 years agoinvoke.texi (-fsanitize=bounds): Tweak wording.
Marek Polacek [Thu, 3 Jul 2014 10:44:20 +0000 (10:44 +0000)] 
invoke.texi (-fsanitize=bounds): Tweak wording.

* doc/invoke.texi (-fsanitize=bounds): Tweak wording.
(-fsanitize=float-divide-by-zero): Move to the table with
-fsanitize=undefined suboptions.
(-fsanitize=float-cast-overflow): Likewise.

From-SVN: r212260

9 years agors6000.c (rs6000_adjust_atomic_subword): Use BYTES_BIG_ENDIAN rather than WORDS_BIG_E...
Maciej W. Rozycki [Thu, 3 Jul 2014 06:13:48 +0000 (06:13 +0000)] 
rs6000.c (rs6000_adjust_atomic_subword): Use BYTES_BIG_ENDIAN rather than WORDS_BIG_ENDIAN to check for byte endianness.

* config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Use
BYTES_BIG_ENDIAN rather than WORDS_BIG_ENDIAN to check for byte
endianness.

From-SVN: r212258

9 years agoscanner.c (skip_free_comments): Fix indentation.
Tobias Burnus [Thu, 3 Jul 2014 05:29:47 +0000 (07:29 +0200)] 
scanner.c (skip_free_comments): Fix indentation.

2014-07-03  Tobias Burnus  <burnus@net-b.de>

        * scanner.c (skip_free_comments): Fix indentation.

From-SVN: r212257

9 years agoloop-invariant.c (struct invariant): Add a new member: eqno;
Zhenqiang Chen [Thu, 3 Jul 2014 05:24:12 +0000 (05:24 +0000)] 
loop-invariant.c (struct invariant): Add a new member: eqno;

ChangeLog:
2014-07-03  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* loop-invariant.c (struct invariant): Add a new member: eqno;
(find_identical_invariants): Update eqno;
(create_new_invariant): Init eqno;
(get_inv_cost): Compute comp_cost with eqno;

testsuite/ChangeLog:
2014-07-03  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* gcc.target/arm/identical-invariants.c: New test.

From-SVN: r212256

9 years agoDaily bump.
GCC Administrator [Thu, 3 Jul 2014 00:17:48 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r212253

9 years agoOnly transform rotate to rotatert and v.v. if target has both
Segher Boessenkool [Wed, 2 Jul 2014 20:19:19 +0000 (22:19 +0200)] 
Only transform rotate to rotatert and v.v. if target has both

Many targets do not have both rotate and rotatert.  Of the 47 targets
in the tree, 17 have both, 9 have only rotate, 2 have only rotatert, and
19 have neither (this is based on "grep -wil" so it can be slightly off).

rs6000 has only rotate, and mips has only rotatert.  For such targets
simplifying rotate to rotatert and vice versa is not simplifying things
at all.  rs6000 has already way too many rotate patterns (some days it
seems like two thousand, but it is somewhat less in reality still); I
would prefer not to double that again.

So, this patch makes genrecog define HAVE_rotate and HAVE_rotatert if
those RTL codes are mentioned anywhere in the machine description, and
then does the transformation in simplify-rtx.c only if both these flags
are set.

From-SVN: r212239

9 years ago* config/fpu-sysv.h (void set_fpu): Remove stalled comment.
Uros Bizjak [Wed, 2 Jul 2014 16:11:46 +0000 (18:11 +0200)] 
* config/fpu-sysv.h (void set_fpu): Remove stalled comment.

From-SVN: r212235

9 years agoc-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before releasing symbol.
Jan Hubicka [Wed, 2 Jul 2014 15:23:56 +0000 (17:23 +0200)] 
c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before releasing symbol.

* c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
releasing symbol.

* gcc.c-torture/compile/section.c: New testcase.

Co-Authored-By: Chen Gang <gang.chen.5i5j@gmail.com>
From-SVN: r212234

9 years agore PR go/61620 (FAIL: go.test/test/fixedbugs/bug242.go execution, -O2 -g)
Ian Lance Taylor [Wed, 2 Jul 2014 14:23:45 +0000 (14:23 +0000)] 
re PR go/61620 (FAIL: go.test/test/fixedbugs/bug242.go execution,  -O2 -g)

PR go/61620

runtime: Don't free tiny blocks in map deletion.

The memory allocator now has a special case for tiny blocks
(smaller than 16 bytes) and they can not be explicitly freed.

From-SVN: r212233

9 years agoadd bugzilla links
Christian Bruel [Wed, 2 Jul 2014 13:20:01 +0000 (15:20 +0200)] 
add bugzilla links

From-SVN: r212232

9 years agoadd test
Christian Bruel [Wed, 2 Jul 2014 13:15:08 +0000 (15:15 +0200)] 
add test

From-SVN: r212231

9 years agoSupport mode toggle.
Christian Bruel [Wed, 2 Jul 2014 13:03:14 +0000 (15:03 +0200)] 
Support mode toggle.

* mode-switching.c (struct bb_info): Add mode_out, mode_in caches.
(make_preds_opaque): Delete.
(clear_mode_bit, mode_bit_p, set_mode_bit): New macros.
(commit_mode_sets): New function.
(optimize_mode_switching): Handle current_mode to mode_switching_emit.
Process all modes at once.
* basic-block.h (pre_edge_lcm_avs): Declare.
* lcm.c (pre_edge_lcm_avs): Renamed from pre_edge_lcm.
Call clear_aux_for_edges. Fix comments.
(pre_edge_lcm): New wrapper function to call pre_edge_lcm_avs.
(pre_edge_rev_lcm): Idem.
* config/epiphany/epiphany.c (emit_set_fp_mode): Add prev_mode parameter.
* config/epiphany/epiphany-protos.h (emit_set_fp_mode): Idem.
* config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes::execute): Idem.
* config/i386/i386.c (x96_emit_mode_set): Idem.
* config/sh/sh.c (sh_emit_mode_set): Likewise. Handle PR toggle.
* config/sh/sh.md (toggle_pr):  Defined if TARGET_FPU_SINGLE.
(fpscr_toggle) Disallow from delay slot.
* target.def (emit_mode_set): Add prev_mode parameter.
* doc/tm.texi: Regenerate.

From-SVN: r212230

9 years agodecl.c (variable_decl): Reject old style initialization for derived type components.
Jakub Jelinek [Wed, 2 Jul 2014 09:43:08 +0000 (11:43 +0200)] 
decl.c (variable_decl): Reject old style initialization for derived type components.

* decl.c (variable_decl): Reject old style initialization
for derived type components.

* gfortran.dg/oldstyle_5.f: New test.

Co-Authored-By: Fritz Reese <Reese-Fritz@zai.com>
From-SVN: r212227

9 years ago* config/fpu-glibc.h: Fix comment about FE_DENORMAL.
Francois-Xavier Coudert [Wed, 2 Jul 2014 09:17:04 +0000 (09:17 +0000)] 
* config/fpu-glibc.h: Fix comment about FE_DENORMAL.

From-SVN: r212226

9 years ago[AArch64] Removed unused variable i in aarch64_expand_vec_perm
Kyrylo Tkachov [Wed, 2 Jul 2014 09:07:10 +0000 (09:07 +0000)] 
[AArch64] Removed unused variable i in aarch64_expand_vec_perm

* config/aarch64/aarch64.c (aarch64_expand_vec_perm): Delete unused
variable i.

From-SVN: r212225

9 years agoconfigure.host (ieee_flags): Add -mieee for alpha*.
Uros Bizjak [Wed, 2 Jul 2014 08:45:08 +0000 (10:45 +0200)] 
configure.host (ieee_flags): Add -mieee for alpha*.

libgfortran/ChangeLog:

* configure.host (ieee_flags): Add -mieee for alpha*.

* config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle
GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO.
* config/fpu-aix.h (support_fpu_rounding_mode): Ditto.

testsuite/ChangeLog:

* gfortran.dg/ieee/ieee_1.F90 (dg-additional-options): Remove -O0.
* gfortran.dg/ieee/ieee_rounding_1.f90 (dg-additional-options): Add.

From-SVN: r212224

9 years agopt.c (convert_template_argument): Use inform instead of error in three places.
Paolo Carlini [Wed, 2 Jul 2014 07:51:40 +0000 (07:51 +0000)] 
pt.c (convert_template_argument): Use inform instead of error in three places.

/cp
2014-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (convert_template_argument): Use inform instead of error in
three places.

/testsuite
2014-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/variadic-ex10.C: Adjust for inform instead of error.
* g++.dg/cpp0x/variadic-ex14.C: Likewise.
* g++.dg/parse/error11.C: Likewise.
* g++.old-deja/g++.brendan/template17.C: Likewise.

From-SVN: r212223

9 years agoipa-utils.h (method_class_type, [...]): Constify.
Jan Hubicka [Wed, 2 Jul 2014 07:48:00 +0000 (09:48 +0200)] 
ipa-utils.h (method_class_type, [...]): Constify.

* ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,
vtable_pointer_value_to_vtable): Constify.
(contains_polymorphic_type_p): Declare.
* ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo,
vtable_pointer_value_to_vtable): Constify.
(contains_polymorphic_type_p): New predicate.
* ipa-prop.c (ipa_set_jf_known_type): Allow types containing
polymorphic types.
(ipa_set_ancestor_jf): Likewise.
(detect_type_change): Return false in easy cases.
(compute_complex_assign_jump_func): Require type to contain
polymorphic type.
(compute_known_type_jump_func): Likewise.

From-SVN: r212222

9 years agoget_array.f90: Add missing SYNC ALL.
Tobias Burnus [Wed, 2 Jul 2014 06:18:35 +0000 (08:18 +0200)] 
get_array.f90: Add missing SYNC ALL.

2014-07-02  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/get_array.f90: Add missing SYNC ALL.
        * gfortran.dg/coarray/send_array.f90: Ditto.
        * gfortran.dg/coarray/sendget_array.f90: Ditto.

From-SVN: r212220

9 years agotree.c (decls_same_for_odr, [...]): Remove.
Jan Hubicka [Wed, 2 Jul 2014 03:19:45 +0000 (05:19 +0200)] 
tree.c (decls_same_for_odr, [...]): Remove.

* tree.c (decls_same_for_odr, decls_same_for_odr,
types_same_for_odr): Remove.
(type_in_anonymous_namespace_p): Constify argument.
* tree.h (types_same_for_odr, type_in_anonymous_namespace_p):
Constify.
* ipa-devirt.c (odr_type_d): Add ODR_VIOLATED field.
(main_odr_variant): New function.
(hash_type_name): Make static; update assert; do not ICE on
non-records.
(types_same_for_odr): Bring here from tree.c; simplify
and remove old structural comparing code that doesn't work
for templates.
(odr_hasher::equal): Update assert.
(add_type_duplicate): Return true when bases should be computed;
replace incomplete loader by complete; do not output duplicated
warnings; do not ICE on non-records; set odr_violated flag.
(get_odr_type): Be ready to replace incomplete type by complete
one; work on ODR variants instead of main variants; reorder item
in array so bases have still smaller indexes.
(dump_type_inheritance_graph): Be ready for holdes in odr_types
array.
(possible_polymorphic_call_targets): Do not ICE when BINFO is NULL.

From-SVN: r212218

9 years agoDaily bump.
GCC Administrator [Wed, 2 Jul 2014 00:17:07 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r212217

9 years agoruntime: introduce build targets for running benchmarks
Ian Lance Taylor [Tue, 1 Jul 2014 23:19:24 +0000 (23:19 +0000)] 
runtime: introduce build targets for running benchmarks

This introduces the "bench" build target, which can be used to run
all benchmarks.

It is also possible to run subsets of benchmarks with the
"package/check" build targets by setting GOBENCH to a matching regex.

From-SVN: r212212

9 years agoThis patch fixes a couple of ICEs when using -gsplit-dwarf.
Cary Coutant [Tue, 1 Jul 2014 21:35:41 +0000 (21:35 +0000)] 
This patch fixes a couple of ICEs when using -gsplit-dwarf.

When compiling a small-enough compilation unit that has no address table
entries, but complex enough that -freorder-blocks-and-partition produces
location lists, dwarf2out_finish does not call index_location_lists, but
optimize_location_lists will later assume that the addr_index_table has
been indexed.
Google ref: b/15417905

When resolve_addr_in_expr replaces a CONST_STRING rtx, it directly
updates the pointer to the old expression with the new one. In the
case of a DW_OP_GNU_addr_index or DW_OP_GNU_const_index, that pointer
may be in an address table entry, which is keyed by the rtx. Instead
of directly replacing the pointer, we need to remove the old address
table entry (i.e., decrement its reference count), and add a new one.
Google ref: b/15957101

gcc/
* dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
        lookup.
(resolve_addr_in_expr): When replacing the rtx in a location list
        entry, get a new address table entry.
(dwarf2out_finish): Call index_location_lists even if there are no
        addr_index_table entries yet.

From-SVN: r212211

9 years agogcc/testsuite/
James Greenhalgh [Tue, 1 Jul 2014 17:58:11 +0000 (17:58 +0000)] 
gcc/testsuite/

* gcc.target/aarch64/aapcs64/aapcs64.exp:
(additional_flags_for_func_ret): New variable based on $additional_flags
with -fno-use-caller-save.
(func-ret-*.c): Use the new variable.

Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r212206

9 years agore PR c++/59637 ([c++11] ICE with decltype and destructor call in template)
Paolo Carlini [Tue, 1 Jul 2014 17:25:07 +0000 (17:25 +0000)] 
re PR c++/59637 ([c++11] ICE with decltype and destructor call in template)

2014-07-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59637
* g++.dg/cpp0x/decltype60.C: New.

From-SVN: r212205

9 years agorevert r212197 for apparently not actually being obvious
Trevor Saunders [Tue, 1 Jul 2014 15:56:32 +0000 (15:56 +0000)] 
revert r212197 for apparently not actually being obvious

From-SVN: r212200

9 years agoRevert "PR preprocessor/60723 - missing system-ness marks for macro tokens"
Dodji Seketeli [Tue, 1 Jul 2014 14:04:37 +0000 (16:04 +0200)] 
Revert "PR preprocessor/60723 - missing system-ness marks for macro tokens"

This reverts commit 747e04f26ac3fb775bfc9af61e9170b9461b6cfc.

From-SVN: r212199

9 years agoCorrect ChangeLog entries from r212041.
Teresa Johnson [Tue, 1 Jul 2014 13:37:44 +0000 (13:37 +0000)] 
Correct ChangeLog entries from r212041.

From-SVN: r212198

9 years agofix -Wunused-parameter warning in winnt.c
Trevor Saunders [Tue, 1 Jul 2014 13:28:03 +0000 (13:28 +0000)] 
fix -Wunused-parameter warning in winnt.c

gcc/
* config/i386/winnt.c (i386_pe_section_type_flags): Removed name
of unused argument.

From-SVN: r212197

9 years ago[AArch64] Implement some vca*_f[32,64] intrinsics.
Kyrylo Tkachov [Tue, 1 Jul 2014 12:32:35 +0000 (12:32 +0000)] 
[AArch64] Implement some vca*_f[32,64] intrinsics.

* config/aarch64/arm_neon.h (vcage_f64): New intrinsic.
(vcagt_f64): Likewise.
(vcale_f64): Likewise.
(vcaled_f64): Likewise.
(vcales_f32): Likewise.
(vcalt_f64): Likewise.
(vcaltd_f64): Likewise.
(vcalts_f32): Likewise.

* gcc.target/aarch64/simd/vcage_f64.c: New test.
* gcc.target/aarch64/simd/vcagt_f64.c: Likewise.
* gcc.target/aarch64/simd/vcale_f64.c: Likewise.
* gcc.target/aarch64/simd/vcaled_f64.c: Likewise.
* gcc.target/aarch64/simd/vcales_f32.c: Likewise.
* gcc.target/aarch64/simd/vcalt_f64.c: Likewise.
* gcc.target/aarch64/simd/vcaltd_f64.c: Likewise.
* gcc.target/aarch64/simd/vcalts_f32.c: Likewise.

From-SVN: r212196

9 years agopr59867.C: Fix target selector.
Paolo Carlini [Tue, 1 Jul 2014 10:58:11 +0000 (10:58 +0000)] 
pr59867.C: Fix target selector.

2014-07-01  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1y/pr59867.C: Fix target selector.

From-SVN: r212195

9 years agoPR preprocessor/60723 - missing system-ness marks for macro tokens
Dodji Seketeli [Tue, 1 Jul 2014 09:17:14 +0000 (09:17 +0000)] 
PR preprocessor/60723 - missing system-ness marks for macro tokens

When a system macro is expanded in a non-system file during
out-of-line preprocessing, it can happen that the preprocessor forgets
to emit line markers to express the system-ness status of tokens that
come after the expansion of the macro.

That can lead to situations where the entire non-system file can be
considered as being a system file and thus have its warnings be
discarded during the compilation of the resulting preprocessed file.

My understanding is that this is due to the preprocessor not
systematically detecting (and reporting) the change in system-ness of
tokens.

And this is what this patch does.  Each time the system-ness of a
given token is different from the previous token that was emitted by
the preprocessor, it emits a line marker for the sole purpose of
marking the new system-ness of the subsequent tokens to come.

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

gcc/c-family/ChangeLog:
* c-ppoutput.c (struct print::prev_was_system_token): New data
member.
(init_pp_output): Initialize it.
(maybe_print_line_1, maybe_print_line, print_line_1, print_line)
(do_line_change): Return a flag saying if a line marker was
emitted or not.
(scan_translation_unit): Detect if the system-ness of the token we
are about to emit is different from the one of the previously
emitted token.  If so, emit a line marker.  Avoid emitting
useless adjacent line markers.
(scan_translation_unit_directives_only): Adjust.

gcc/testsuite/ChangeLog:
* gcc.dg/cpp/syshdr{4,5}.{c,h}: New test files.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
From-SVN: r212194

9 years agoinvoke.texi: Document -Wint-conversion.
Marek Polacek [Tue, 1 Jul 2014 08:53:12 +0000 (08:53 +0000)] 
invoke.texi: Document -Wint-conversion.

* doc/invoke.texi: Document -Wint-conversion.
c-family/
* c.opt (Wint-conversion): New option.
c/
* c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
instead of 0 to WARN_FOR_ASSIGNMENT.
testsuite/
* gcc.dg/Wint-conversion.c: New test.

From-SVN: r212193

9 years agore PR c/58286 (Need option to make incompatible pointer type warnings into compiler...
Marek Polacek [Tue, 1 Jul 2014 08:31:58 +0000 (08:31 +0000)] 
re PR c/58286 (Need option to make incompatible pointer type warnings into compiler errors)

PR c/58286
* doc/invoke.texi: Document -Wincompatible-pointer-types.
c-family/
* c.opt (Wincompatible-pointer-types): New option.
c/
* c-typeck.c (convert_for_assignment): Pass
OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
testsuite/
* gcc.dg/Wincompatible-pointer-types.c: New test.

From-SVN: r212192

9 years agoIPA REF alias refactoring
Martin Liska [Tue, 1 Jul 2014 06:45:26 +0000 (08:45 +0200)] 
IPA REF alias refactoring

* cgraph.h (iterate_direct_aliases): New function.
(FOR_EACH_ALIAS): New macro iterates all direct aliases for a node.
* cgraph.c (cgraph_for_node_thunks_and_aliases): Usage of
FOR_EACH_ALIAS added.
(cgraph_for_node_and_aliases): Likewise.
* cgraphunit.c (assemble_thunks_and_aliases): Likewise.
* ipa-inline.c (reset_edge_caches): Likewise.
(update_caller_keys): Likewise.
* trans-mem.c (ipa_tm_execute): Likewise.
*varpool.c (varpool_analyze_node): Likewise.
(varpool_for_node_and_aliases): Likewise.
* ipa-ref.h (first_alias): New function.
(last_alias): Likewise.
(has_aliases_p): Likewise.
* ipa-ref.c (ipa_ref::remove_reference): Removal function
is sensitive to IPA_REF_ALIASes.
* symtab.c (symtab_node::add_reference): Node of IPA_REF_ALIAS type
are put at the beginning of the list.
(symtab_node::iterate_direct_aliases): New function.

* lto-partition.c (add_symbol_to_partition_1): Usage of
FOR_EACH_ALIAS added.

From-SVN: r212191

9 years agoscanasm.exp (dg-function-on-line): Add MicroBlaze specific pattern.
David Holsgrove [Tue, 1 Jul 2014 05:45:13 +0000 (05:45 +0000)] 
scanasm.exp (dg-function-on-line): Add MicroBlaze specific pattern.

2014-06-30  David Holsgrove <david.holsgrove@xilinx.com>

* gcc/testsuite/lib/scanasm.exp (dg-function-on-line): Add
MicroBlaze specific pattern.

--This line, and those below,

M    ChangeLog
M    lib/scanasm.exp

From-SVN: r212189

9 years ago* ChangeLog: Correct the PR id from 61061 to 61601.
Tim Shen [Tue, 1 Jul 2014 03:18:17 +0000 (03:18 +0000)] 
* ChangeLog: Correct the PR id from 61061 to 61601.

From-SVN: r212187

9 years agore PR c++/58781 (Unicode strings broken in a strange way)
Edward Smith-Rowland [Tue, 1 Jul 2014 03:13:17 +0000 (03:13 +0000)] 
re PR c++/58781 (Unicode strings broken in a strange way)

cp/

2014-06-28  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR c++/58781
PR c++/60249
PR c++/59867
* parser.c (cp_parser_userdef_string_literal()): Take a tree
not a cp_token*. (cp_parser_string_literal(): Don't hack
the token stream!

testsuite/

2014-06-28  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR c++/58781
PR c++/60249
PR c++/59867
* testsuite/g++.dg/cpp0x/pr58781.C: New.
* testsuite/g++.dg/cpp0x/pr60249.C: New.
* testsuite/g++.dg/cpp1y/pr59867.C: New.

From-SVN: r212186

9 years agore PR testsuite/61061 (FAIL: g++.dg/inherit/covariant7.C)
Tim Shen [Tue, 1 Jul 2014 03:05:45 +0000 (03:05 +0000)] 
re PR testsuite/61061 (FAIL: g++.dg/inherit/covariant7.C)

PR libstdc++/61061
PR libstdc++/61582
* include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
a NFA state limit. If it's exceeded, regex_constants::error_space
will be throwed.
* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
map (which is sparse) instead of vector. This reduce n times clones'
cost from O(n^2) to O(n).
* include/std/regex: Add map dependency.
* testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
testcase.

From-SVN: r212185

9 years agore PR libstdc++/61424 (std::regex matches right to left, not leftmost longest)
Tim Shen [Tue, 1 Jul 2014 02:10:31 +0000 (02:10 +0000)] 
re PR libstdc++/61424 (std::regex matches right to left, not leftmost longest)

PR libstdc++/61424
* include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
not just regex containing back-references.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
exchange _M_next and _M_alt for alternative operator,
making matching from left to right.
* include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
Add position tracking fom DFS.
* include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
_Executor<>::_M_dfs): Likewise.
* include/bits/regex_scanner.h: Remove unused enum entry.
* testsuite/28_regex/algorithms/regex_search/61424.cc: New
testcase from PR.

From-SVN: r212184

9 years ago* MAINTAINERS: Update my email address.
Tim Shen [Tue, 1 Jul 2014 01:46:57 +0000 (01:46 +0000)] 
* MAINTAINERS: Update my email address.

From-SVN: r212183

9 years agoDaily bump.
GCC Administrator [Tue, 1 Jul 2014 00:16:57 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r212182

9 years agorevert: tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type is...
Jan Hubicka [Mon, 30 Jun 2014 22:18:25 +0000 (00:18 +0200)] 
revert: tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type is complete.

Revert:
* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
is complete.
(write_ts_type_common_tree_pointers): Do not stream fields not set for incomplete
types; do not stream duplicated fields for variants; sanity check that variant
and type match.
(write_ts_type_non_common_tree_pointers): Likewise.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in TYPE_SIZE whether
type is complete.
(lto_input_ts_type_common_tree_pointers): Do same changes as in
write_ts_type_common_tree_pointers
(lto_input_ts_type_non_common_tree_pointers): Likewise.

* lto.c (lto_copy_fields_not_streamed): New function.
(compare_tree_sccs_1): Do not compare fields shared in between type
and variant.
(lto_read_decls): Fixup types first before inserting into hash.

From-SVN: r212179

9 years agovar-tracking.c (add_stores): Return instead of asserting if old and new values for...
Joseph Myers [Mon, 30 Jun 2014 20:53:33 +0000 (21:53 +0100)] 
var-tracking.c (add_stores): Return instead of asserting if old and new values for conditional store are the...

* var-tracking.c (add_stores): Return instead of asserting if old
and new values for conditional store are the same.

From-SVN: r212178

9 years agore PR ipa/61659 (Extra undefined symbol because of devirtualization)
Jason Merrill [Mon, 30 Jun 2014 20:20:55 +0000 (16:20 -0400)] 
re PR ipa/61659 (Extra undefined symbol because of devirtualization)

PR c++/61659
PR lto/53808
gcc/cp
* decl2.c (maybe_emit_vtables): Mark all vtable entries if
devirtualizing.
* init.c (build_vtbl_address): Don't mark destructor.
* class.c (finish_struct_1): Add all classes to keyed_classes
if devirtualizing.
libstdc++-v3/
* libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
is pure, not inline.

From-SVN: r212174

9 years agore PR rtl-optimization/61608 (FAIL: gcc.target/arm/epilog-1.c scan-assembler tests)
Richard Henderson [Mon, 30 Jun 2014 20:14:42 +0000 (13:14 -0700)] 
re PR rtl-optimization/61608 (FAIL: gcc.target/arm/epilog-1.c scan-assembler tests)

PR rtl-opt/61608

        PR target/39284
        * bb-reorder.c (pass_duplicate_computed_gotos::execute): Cleanup
        the cfg if there were any changes.
        * passes.def: Revert move of peephole2 after reorder_blocks;
        move duplicate_computed_gotos before peephole2.

From-SVN: r212172

9 years agoexcept.c (emit_note_eh_region_end): New helper function.
Uros Bizjak [Mon, 30 Jun 2014 19:30:52 +0000 (21:30 +0200)] 
except.c (emit_note_eh_region_end): New helper function.

* except.c (emit_note_eh_region_end): New helper function.
(convert_to_eh_region_ranges): Use emit_note_eh_region_end to
emit EH_REGION_END note.
* jump.c (cleanup_barriers): Do not split a call and its
corresponding CALL_ARG_LOCATION note.

From-SVN: r212171

9 years agoChangeLog: Fix whitespace.
Uros Bizjak [Mon, 30 Jun 2014 19:29:02 +0000 (21:29 +0200)] 
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r212170

9 years agoround_4.f90: Skip for powerpc*-*-linux* since the test requires greater precision...
Bill Schmidt [Mon, 30 Jun 2014 19:21:12 +0000 (19:21 +0000)] 
round_4.f90: Skip for powerpc*-*-linux* since the test requires greater precision than the...

2014-06-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gfortran.dg/round_4.f90: Skip for powerpc*-*-linux* since the
test requires greater precision than the current PowerPC long
double implementation supports.

From-SVN: r212169

9 years agore PR c++/61647 (internal compiler error: in push_access_scope, at cp/pt.c:219 for...
Jason Merrill [Mon, 30 Jun 2014 19:09:57 +0000 (15:09 -0400)] 
re PR c++/61647 (internal compiler error: in push_access_scope, at cp/pt.c:219 for a c++ header, clang++ 3.4 generate .pch without error)

PR c++/61647
* pt.c (type_dependent_expression_p): Check BASELINK_OPTYPE.

From-SVN: r212168

9 years agore PR c++/61566 (ICE in write_unscoped_name)
Jason Merrill [Mon, 30 Jun 2014 18:51:29 +0000 (14:51 -0400)] 
re PR c++/61566 (ICE in write_unscoped_name)

PR c++/61566
* mangle.c (decl_mangling_context): Look through a TEMPLATE_DECL.

From-SVN: r212165

9 years agodecl.c (build_ptrmemfunc_type): Don't give a PMF RECORD_TYPE TYPE_BINFO or TYPE_LANG_...
Jason Merrill [Mon, 30 Jun 2014 18:51:22 +0000 (14:51 -0400)] 
decl.c (build_ptrmemfunc_type): Don't give a PMF RECORD_TYPE TYPE_BINFO or TYPE_LANG_SPECIFIC.

* decl.c (build_ptrmemfunc_type): Don't give a PMF RECORD_TYPE
TYPE_BINFO or TYPE_LANG_SPECIFIC.
* cp-tree.h (TYPE_PTRMEMFUNC_FLAG): Use TYPE_LANG_FLAG_2.
(TYPE_PTRMEMFUNC_P): Don't expect TYPE_LANG_SPECIFIC.
* typeck.c (build_ptrmemfunc_access_expr): Don't use lookup_member.
* pt.c (unify): Also check whether the argument is a PMF.

From-SVN: r212164

9 years agore PR c++/54891 ([C++11] lambda-expression and explicit type conversion (cast notation))
Paolo Carlini [Mon, 30 Jun 2014 18:30:50 +0000 (18:30 +0000)] 
re PR c++/54891 ([C++11] lambda-expression and explicit type conversion (cast notation))

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

PR c++/54891
* parser.c (cp_parser_tokens_start_cast_expression): In C++11
a '[' can also start a primary-expression.
(cp_parser_cast_expression): Parse a cast-expression only tentatively
when cp_parser_tokens_start_cast_expression returns -1.

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

PR c++/54891
* g++.dg/cpp0x/lambda/lambda-cast1.C: New.

From-SVN: r212162

9 years agore PR c++/51400 ([c++0x] ICE with constexpr and attribute noreturn)
Paolo Carlini [Mon, 30 Jun 2014 15:41:16 +0000 (15:41 +0000)] 
re PR c++/51400 ([c++0x] ICE with constexpr and attribute noreturn)

/c-family
2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51400
* c-common.c (handle_noreturn_attribute, handle_const_attribute):
Do not discard TYPE_QUALS of type.

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

PR c++/51400
* g++.dg/cpp0x/constexpr-attribute3.C: New.

From-SVN: r212155

9 years agore PR c++/61539 (ICE: in unify_one_argument, at cp/pt.c:15465)
Jason Merrill [Mon, 30 Jun 2014 15:11:14 +0000 (11:11 -0400)] 
re PR c++/61539 (ICE: in unify_one_argument, at cp/pt.c:15465)

PR c++/61539
* pt.c (unify_one_argument): Type/expression mismatch just causes
deduction failure.

From-SVN: r212154

9 years agosemantics.c (simplify_aggr_init_expr): Remove remnants of 2014-04-11 change.
Jason Merrill [Mon, 30 Jun 2014 15:11:07 +0000 (11:11 -0400)] 
semantics.c (simplify_aggr_init_expr): Remove remnants of 2014-04-11 change.

* semantics.c (simplify_aggr_init_expr): Remove remnants of
2014-04-11 change.

From-SVN: r212153

9 years agotree-ssa-threadedge.c (simplify_control_stmt_condition): Look deeper into the SSA_NAM...
Jeff Law [Mon, 30 Jun 2014 14:08:50 +0000 (08:08 -0600)] 
tree-ssa-threadedge.c (simplify_control_stmt_condition): Look deeper into the SSA_NAME_VALUE chain.

tree-optimization/61607
* tree-ssa-threadedge.c (simplify_control_stmt_condition): Look
deeper into the SSA_NAME_VALUE chain.

tree-optimization/61607
* gcc.dg/tree-ssa/pr61607.c: New test.

From-SVN: r212149

9 years agoconvert.c (convert_to_integer): Don't instrument conversions if the function has...
Marek Polacek [Mon, 30 Jun 2014 13:15:20 +0000 (13:15 +0000)] 
convert.c (convert_to_integer): Don't instrument conversions if the function has no_sanitize_undefined attribute.

* convert.c (convert_to_integer): Don't instrument conversions if the
function has no_sanitize_undefined attribute.
* ubsan.c: Don't run the ubsan pass if the function has
no_sanitize_undefined attribute.
c/
* c-decl.c (grokdeclarator): Don't instrument VLAs if the function
has no_sanitize_undefined attribute.
cp/
* cp-gimplify.c (cp_genericize): Don't instrument returns if the
function has no_sanitize_undefined attribute.
* decl.c (compute_array_index_type): Don't instrument VLAs if the
function has no_sanitize_undefined attribute.
testsuite/
* c-c++-common/ubsan/attrib-2.c: New test.
* g++.dg/ubsan/return-3.C: New test.

From-SVN: r212148

9 years agoinvoke.texi (-fsanitize=bounds): Move to the table with -fsanitize=undefined suboptions.
Jakub Jelinek [Mon, 30 Jun 2014 12:52:30 +0000 (14:52 +0200)] 
invoke.texi (-fsanitize=bounds): Move to the table with -fsanitize=undefined suboptions.

* doc/invoke.texi (-fsanitize=bounds): Move to the table with
-fsanitize=undefined suboptions.

From-SVN: r212146

9 years ago[AArch64] fix and enable non-const shuffle for bigendian using TBL instruction
Alan Lawrence [Mon, 30 Jun 2014 11:07:58 +0000 (11:07 +0000)] 
[AArch64] fix and enable non-const shuffle for bigendian using TBL instruction

* config/aarch64/aarch64-simd.md (vec_perm): Enable for bigendian.
* config/aarch64/aarch64.c (aarch64_expand_vec_perm): Remove assert
against bigendian and adjust indices.

From-SVN: r212142

9 years ago* doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit.
Gerald Pfeifer [Mon, 30 Jun 2014 09:43:19 +0000 (09:43 +0000)] 
* doc/install.texi (Specific, aarch64*-*-*): Fix markup.  Reword a bit.

From-SVN: r212140

9 years agore PR middle-end/57541 ([Cilkplus]: internal compiler error: in gimplify_expr, at...
Igor Zamyatin [Mon, 30 Jun 2014 08:14:39 +0000 (08:14 +0000)] 
re PR middle-end/57541 ([Cilkplus]: internal compiler error: in gimplify_expr, at gimplify.c:7809)

PR middle-end/57541
gcc/c/
* c-array-notation.c (fix_builtin_array_notation_fn):
Check for 0 arguments in builtin call. Check that bultin argument is
correct.
* c-parser.c (c_parser_array_notation): Check for incorrect initial
index.

gcc/cpp/
* cp-array-notation.c (expand_sec_reduce_builtin):
Check that bultin argument is correct.
* call.c (build_cxx_call): Check for 0 arguments in builtin call.

gcc/testsuite/
* c-c++-common/cilk-plus/AN/pr57541.c: New case added.
* c-c++-common/cilk-plus/AN/pr57541-2.c: New test.

From-SVN: r212138

9 years ago[AArch64] Fix register clobber in, aarch64_ashr_sisd_or_int_<mode>3 split.
Marcus Shawcroft [Mon, 30 Jun 2014 07:54:59 +0000 (07:54 +0000)] 
[AArch64] Fix register clobber in, aarch64_ashr_sisd_or_int_<mode>3 split.

PR target/61633

The two split patterns associated with
aarch64_ashr_sisd_or_int_<mode>3 split the instruction into a NEG
followed by an SHL.  The split uses one of the input operands as a
scratch register to hold the output of the NEG resulting in register
corruption.

This patch adjusts the splits to use the output operand as the scratch
register.

2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>

       PR target/61633
       * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
       Add alternative; make early clobber.  Adjust both split patterns
       to use operand 0 as the working register.

From-SVN: r212137

9 years agoira-build.c (sort_conflict_id_map): Don't call qsort if num is 0, as ira_object_id_ma...
Jakub Jelinek [Mon, 30 Jun 2014 07:33:41 +0000 (09:33 +0200)] 
ira-build.c (sort_conflict_id_map): Don't call qsort if num is 0, as ira_object_id_map might be NULL, or 1.

* ira-build.c (sort_conflict_id_map): Don't call
qsort if num is 0, as ira_object_id_map might be NULL, or 1.

From-SVN: r212136

9 years agoloop-invariant.c (get_inv_cost): Handle register class.
Zhenqiang Chen [Mon, 30 Jun 2014 03:36:47 +0000 (03:36 +0000)] 
loop-invariant.c (get_inv_cost): Handle register class.

ChangeLog:
2014-06-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* loop-invariant.c (get_inv_cost): Handle register class.
(gain_for_invariant): Check the register pressure of the inv
and its overlapped register class, other than all.

testsuite/ChangeLog:
2014-06-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* ira-loop-pressure.c: New test.

From-SVN: r212135

9 years agoDaily bump.
GCC Administrator [Mon, 30 Jun 2014 00:16:55 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r212132

9 years agoinvoke.texi (Optimize Options): Fix descriptions of ipa-cp-loop-hint-bonus and ipa...
Gerald Pfeifer [Sun, 29 Jun 2014 23:06:37 +0000 (23:06 +0000)] 
invoke.texi (Optimize Options): Fix descriptions of ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.

* doc/invoke.texi (Optimize Options): Fix descriptions of
ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.

From-SVN: r212129

9 years agoextend.texi (Function Attributes): Update 'naked' attribute documentation.
David Wohlferd [Sun, 29 Jun 2014 21:21:59 +0000 (21:21 +0000)] 
extend.texi (Function Attributes): Update 'naked' attribute documentation.

* doc/extend.texi (Function Attributes): Update 'naked' attribute
documentation.

From-SVN: r212128

9 years agoAdd PR bootstrap/61650 to the bug fixing it.
Gerald Pfeifer [Sun, 29 Jun 2014 20:42:31 +0000 (20:42 +0000)] 
Add PR bootstrap/61650 to the bug fixing it.

From-SVN: r212127

9 years agofpu-387.h (my_fenv_t): Amend structure so it also works on mingw32.
Francois-Xavier Coudert [Sun, 29 Jun 2014 19:51:59 +0000 (19:51 +0000)] 
fpu-387.h (my_fenv_t): Amend structure so it also works on mingw32.

* config/fpu-387.h (my_fenv_t): Amend structure so it also works
on mingw32.

From-SVN: r212126

9 years agoAdd missing HAVE_cloog guards
Tobias Grosser [Sun, 29 Jun 2014 17:51:01 +0000 (17:51 +0000)] 
Add missing HAVE_cloog guards

        * graphite-isl-ast-to-gimple.c: Add missing guards.

From-SVN: r212125

9 years agoMakefile.in: Add the compilation of graphite-isl-ast-to-gimple.o.
Roman Gareev [Sun, 29 Jun 2014 14:20:35 +0000 (14:20 +0000)] 
Makefile.in: Add the compilation of graphite-isl-ast-to-gimple.o.

gcc/
* Makefile.in:
Add the compilation of graphite-isl-ast-to-gimple.o.
* common.opt:
Add new switch fgraphite-code-generator=[isl|cloog].
* flag-types.h:
Add new enum fgraphite_generator.
* graphite-isl-ast-to-gimple.c: New.
* graphite-isl-ast-to-gimple.h: New.
* graphite.c (graphite_transform_loops):
Add choice of Graphite code generator,
which depends on flag_graphite_code_gen.

gcc/testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c:
New testcase that checks that the dump is generated.

From-SVN: r212124

9 years agore PR fortran/36275 ([F03] Binding label can be any scalar char initialisation expres...
Francois-Xavier Coudert [Sun, 29 Jun 2014 14:14:16 +0000 (14:14 +0000)] 
re PR fortran/36275 ([F03] Binding label can be any scalar char initialisation expression)

PR fortran/36275
PR fortran/38839

* decl.c (check_bind_name_identifier): New function.
(gfc_match_bind_c): Match any constant expression as binding
label.
* match.c (gfc_match_name_C): Remove.

* gfortran.dg/binding_label_tests_2.f03: Adjust error messages.
* gfortran.dg/binding_label_tests_27.f90: New file.

From-SVN: r212123

9 years agographite-dependences.c (subtract_commutative_associative_deps): Add NULL checking...
Roman Gareev [Sun, 29 Jun 2014 12:16:11 +0000 (12:16 +0000)] 
graphite-dependences.c (subtract_commutative_associative_deps): Add NULL checking of the following variables...

gcc/
* graphite-dependences.c (subtract_commutative_associative_deps):
Add NULL checking of the following variables: must_raw_no_source,
may_raw_no_source, must_war_no_source, may_war_no_source,
must_waw_no_source, may_waw_no_source, must_raw, may_raw,
must_war, may_war, must_waw, may_waw

gcc/testsuite/gfortran.dg/graphite/pr59586.f: New testcase.

From-SVN: r212122

9 years agographite-clast-to-gimple.c: gloog is renamed to graphite_regenerate_ast_cloog.
Roman Gareev [Sun, 29 Jun 2014 11:29:18 +0000 (11:29 +0000)] 
graphite-clast-to-gimple.c: gloog is renamed to graphite_regenerate_ast_cloog.

gcc/
* graphite-clast-to-gimple.c:
gloog is renamed to graphite_regenerate_ast_cloog.
gloog_error is renamed to graphite_regenerate_error.
* graphite-clast-to-gimple.h:
The definition of the struct bb_pbb_def is moved to graphite-htab.h.
Add inclusion of the hash-table.h.
* graphite-htab.h:
The declaration of the function gloog is moved
to graphite-clast-to-gimple.h and renamed to
graphite_regenerate_ast_cloog.
* graphite.c (graphite_transform_loops):
gloog is renamed to graphite_regenerate_ast_cloog.

From-SVN: r212121

9 years agoieee_6.f90: Allow inexact together with underflow.
Andreas Schwab [Sun, 29 Jun 2014 08:42:44 +0000 (08:42 +0000)] 
ieee_6.f90: Allow inexact together with underflow.

* gfortran.dg/ieee/ieee_6.f90: Allow inexact together with
underflow.

From-SVN: r212120

9 years agolto.c (lto_read_decls): Fix comment in comment.
Andrew Pinski [Sun, 29 Jun 2014 04:46:07 +0000 (04:46 +0000)] 
lto.c (lto_read_decls): Fix comment in comment.

2014-06-28  Andrew Pinski  <apinski@cavium.com>

* lto.c (lto_read_decls): Fix comment in comment.

From-SVN: r212119

9 years agore PR libfortran/61640 (KIND=4 Character Array Internal Unit Read Fail)
Jerry DeLisle [Sun, 29 Jun 2014 02:49:45 +0000 (02:49 +0000)] 
re PR libfortran/61640 (KIND=4 Character Array Internal Unit Read Fail)

2014-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/61640
* io/list_read.c (next_char_internal): Adjust the read length to
a single wide character. (eat_spaces): Add missing paren.
* io/unix.c (mem_read4): Use the correct mem_alloc function for
wide character internal reads.

From-SVN: r212118

9 years agoDaily bump.
GCC Administrator [Sun, 29 Jun 2014 00:16:45 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r212117

9 years agotree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type is complete.
Jan Hubicka [Sat, 28 Jun 2014 23:40:46 +0000 (01:40 +0200)] 
tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type is complete.

* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
is complete.
(write_ts_type_common_tree_pointers): Do not stream fields not set for incomplete
types; do not stream duplicated fields for variants; sanity check that variant
and type match.
(write_ts_type_non_common_tree_pointers): Likewise.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in TYPE_SIZE whether
type is complete.
(lto_input_ts_type_common_tree_pointers): Do same changes as in
write_ts_type_common_tree_pointers
(lto_input_ts_type_non_common_tree_pointers): Likewise.

* lto.c (lto_copy_fields_not_streamed): New function.
(compare_tree_sccs_1): Do not compare fields shared in between type
and variant.
(lto_read_decls): Fixup types first before inserting into hash.

From-SVN: r212114

9 years ago* cgraph.c (dump_cgraph_node): Dump init&fini priorities.
Jan Hubicka [Sat, 28 Jun 2014 23:31:40 +0000 (01:31 +0200)] 
* cgraph.c (dump_cgraph_node): Dump init&fini priorities.

From-SVN: r212113

9 years agoobjc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants, too.
Jan Hubicka [Sat, 28 Jun 2014 23:30:58 +0000 (01:30 +0200)] 
objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants, too.

* objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants,
too.

From-SVN: r212112

9 years agotree-inline.c (remap_type_1): Do not duplicate fields that are shared in between...
Jan Hubicka [Sat, 28 Jun 2014 23:22:56 +0000 (01:22 +0200)] 
tree-inline.c (remap_type_1): Do not duplicate fields that are shared in between type and its main variant.

* tree-inline.c (remap_type_1): Do not duplicate fields
that are shared in between type and its main variant.

From-SVN: r212111

9 years ago* gennews: Use gcc-3.0/index.html.
Richard Biener [Sat, 28 Jun 2014 21:08:21 +0000 (21:08 +0000)] 
* gennews: Use gcc-3.0/index.html.

From-SVN: r212109

9 years agoipa-prop.c (ipa_set_jf_known_type): Record always the main variant of the type.
Jan Hubicka [Sat, 28 Jun 2014 18:29:32 +0000 (20:29 +0200)] 
ipa-prop.c (ipa_set_jf_known_type): Record always the main variant of the type.

* ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
of the type.
(ipa_set_ancestor_jf) Likewise.
(check_stmt_for_type_change): Check that we work on main variant.
(detect_type_change): Look into main variant.
(compute_known_type_jump_func): Check that main variant has BINFO.

From-SVN: r212108

9 years agoipa-devirt.c (set_type_binfo): New function.
Jan Hubicka [Sat, 28 Jun 2014 18:26:12 +0000 (20:26 +0200)] 
ipa-devirt.c (set_type_binfo): New function.

* ipa-devirt.c (set_type_binfo): New function.
(add_type_duplicate): Use it.
(get_odr_type): Sanity check that binfos points to main variants.
(get_class_context): Be sure the context's outer_type is main variant.
(contains_type_p): Walk main variant.
(get_polymorphic_call_info_for_decl): Set outer_type to be main variant.
(get_polymorphic_call_info): Likewise.
(possible_polymorphic_call_targets): Sanity check that we operate on main
variant.

From-SVN: r212107

9 years agostor-layout.c (finish_builtin_struct): Copy fields into the variants.
Jan Hubicka [Sat, 28 Jun 2014 18:19:50 +0000 (20:19 +0200)] 
stor-layout.c (finish_builtin_struct): Copy fields into the variants.

* stor-layout.c (finish_builtin_struct): Copy fields into
the variants.

From-SVN: r212106

9 years agorevert: [multiple changes]
Paolo Carlini [Sat, 28 Jun 2014 15:53:30 +0000 (15:53 +0000)] 
revert: [multiple changes]

2014-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

Revert:
2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
         Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR libstdc++/61536
* config/abi/pre/gnu.ver: Adjust for out of line comparisons.

2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

* config/abi/pre/gnu.ver: Tighten some patterns; tidy.

From-SVN: r212104

9 years agore PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE...
Francois-Xavier Coudert [Sat, 28 Jun 2014 14:17:41 +0000 (14:17 +0000)] 
re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support)

PR fortran/29383

gcc/fortran/
* gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
* libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
both C and Fortran.
* expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
* simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
* module.c (mio_symbol): Keep track of symbols which came from
intrinsic modules.
(gfc_use_module): Keep track of the IEEE modules.
* trans-decl.c (gfc_get_symbol_decl): Adjust code since
we have new intrinsic modules.
(gfc_build_builtin_function_decls): Build decls for
ieee_procedure_entry and ieee_procedure_exit.
(is_from_ieee_module, is_ieee_module_used, save_fp_state,
restore_fp_state): New functions.
(gfc_generate_function_code): Save and restore floating-point
state on procedure entry/exit, when IEEE modules are used.
* intrinsic.texi: Document the IEEE modules.

libgfortran/
* configure.host: Add checks for IEEE support, rework priorities.
* configure.ac: Define IEEE_SUPPORT, check for fpsetsticky and
fpresetsticky.
* configure: Regenerate.
* Makefile.am: Build new ieee files, install IEEE_* modules.
* Makefile.in: Regenerate.
* gfortran.map (GFORTRAN_1.6): Add new symbols.
* libgfortran.h (get_fpu_trap_exceptions, set_fpu_trap_exceptions,
support_fpu_trap, set_fpu_except_flags, support_fpu_flag,
support_fpu_rounding_mode, get_fpu_state, set_fpu_state): New
prototypes.
* config/fpu-*.h (get_fpu_trap_exceptions,
set_fpu_trap_exceptions, support_fpu_trap, set_fpu_except_flags,
support_fpu_flag, support_fpu_rounding_mode, get_fpu_state,
set_fpu_state): New functions.
* ieee/ieee_features.F90: New file.
* ieee/ieee_exceptions.F90: New file.
* ieee/ieee_arithmetic.F90: New file.
* ieee/ieee_helper.c: New file.

gcc/testsuite/
* lib/target-supports.exp (check_effective_target_fortran_ieee):
New function.
* gfortran.dg/ieee/ieee.exp: New file.
* gfortran.dg/ieee/ieee_1.F90: New file.
* gfortran.dg/ieee/ieee_2.f90: New file.
* gfortran.dg/ieee/ieee_3.f90: New file.
* gfortran.dg/ieee/ieee_4.f90: New file.
* gfortran.dg/ieee/ieee_5.f90: New file.
* gfortran.dg/ieee/ieee_6.f90: New file.
* gfortran.dg/ieee/ieee_7.f90: New file.
* gfortran.dg/ieee/ieee_rounding_1.f90: New file.

From-SVN: r212102

9 years agors6000.c (rs6000_aggregate_candidate): Revert accidental change due to wide-int branc...
Ulrich Weigand [Sat, 28 Jun 2014 10:23:53 +0000 (10:23 +0000)] 
rs6000.c (rs6000_aggregate_candidate): Revert accidental change due to wide-int branch merge.

2014-06-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
accidental change due to wide-int branch merge.

From-SVN: r212100