Richard Biener
b13c907ab3
tree-cfg.c (gimple_split_block): Remove loop finding stmt to split on.
...
2015-03-12 Richard Biener <rguenther@suse.de>
* tree-cfg.c (gimple_split_block): Remove loop finding stmt
to split on.
* omp-low.c (expand_omp_taskreg): Split block before removing
the stmt.
(expand_omp_target): Likewise.
* ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
* tree-parloops.c (create_call_for_reduction_1): Pass a proper
stmt to split_block.
From-SVN: r221377
2015-03-12 08:48:32 +00:00
Tom de Vries
cb599e7d76
Revert 'require nonpic target' for fuse-caller-save*.c
...
2015-03-12 Tom de Vries <tom@codesourcery.com>
PR rtl-optimization/64895
* gcc.target/i386/fuse-caller-save-rec.c: Revert require nonpic target.
* gcc.target/i386/fuse-caller-save-xmm.c: Ditto.
* gcc.target/i386/fuse-caller-save.c: Ditto.
From-SVN: r221374
2015-03-12 08:01:24 +00:00
Tom de Vries
da312b6e89
Add missing PR number
...
From-SVN: r221373
2015-03-12 07:08:12 +00:00
Tom de Vries
13d29cb010
Use actual_call_used_reg_set to find conflicting regs
...
2015-03-12 Tom de Vries <tom@codesourcery.com>
* lra-lives.c (check_pseudos_live_through_calls): Use
actual_call_used_reg_set instead of call_used_reg_set, if available.
From-SVN: r221372
2015-03-12 06:59:34 +00:00
Jan Hubicka
2e5554fde3
* gcc.dg/ipa/pr63569.c: Fix template.
...
From-SVN: r221371
2015-03-12 03:48:59 +00:00
Sandra Loosemore
386adbf7c4
pr64146.C: Require fpic support.
...
2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
gcc/testsuite/
* g++.dg/ipa/pr64146.C: Require fpic support.
From-SVN: r221370
2015-03-11 21:42:52 -04:00
GCC Administrator
4fddcfd796
Daily bump.
...
From-SVN: r221369
2015-03-12 00:16:12 +00:00
Jan Hubicka
1c4db82923
cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
...
* cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
(cgraph_node::remove): Likewise.
(cgraph_node::get_untransformed_body): Likewise.
* varpool.c (varpool_node::remove): Likewise.
(varpool_node::get_constructor): Add sanity check.
* lto.c (read_cgraph_and_symbols): Do not do merging
at ltrans stage.
From-SVN: r221366
2015-03-12 00:14:19 +00:00
Sandra Loosemore
8648c55f3b
invoke.texi (-fgnu89-inline): Remove discussion about old GCC versions.
...
2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (-fgnu89-inline): Remove discussion about
old GCC versions.
(-fabi-compat-version): Likewise.
(-ffriend-injection): Likewise.
(-Wdeclaration-after-statement): Likewise.
(-fomit-frame-pointer): Likewise.
(-ftree-coalesce-inlined-vars): Likewise.
(-fvisibility=): Likewise.
* doc/extend.texi (Typeof): Likewise.
(Zero Length): Likewise.
(Escaped Newlines): Likewise.
(Compound Literals): Likewise.
(Function Attributes): Likewise.
(Label Attributes): Likewise.
(Type Attributes): Likewise.
(Function Names): Likewise.
(Other Builtins): Likewise.
(Function Specific Option Pragmas): Likewise.
(C++ Interface): Likewise.
From-SVN: r221364
2015-03-11 19:11:19 -04:00
Thomas Schwinge
17abb5ac38
libgfortran LIBGFOR_MINIMAL enhancements.
...
Based on GCC trunk r220892, for nvptx-none:
=== gfortran Summary ===
# of expected passes [-31320-]{+32117+}
# of unexpected failures [-7222-]{+6821+}
# of expected failures 78
# of unresolved testcases [-6441-]{+6158+}
# of untested testcases [-432-]{+391+}
# of unsupported tests 639
libgfortran/
* caf/single.c (caf_runtime_error): Revert 2014-11-28 changes.
* runtime/minimal.c (STRERR_MAXSZ): Don't define.
(runtime_error_at, sys_abort): Bring more in line with the
non-LIBGFOR_MINIMAL code.
(runtime_warning_at, internal_error): New functions.
From-SVN: r221363
2015-03-11 22:42:56 +01:00
Thomas Schwinge
d94fae044d
No libstdc++ for nvptx.
...
The C++ front end insists to link against libstdc++ -- which we don't build:
$ < build-gcc/gcc/testsuite/g++/g++.log grep -o 'error opening [^[:cntrl:]]*' | sort | uniq -c
2 error opening libasan.a
2 error opening libssp.a
12075 error opening libstdc++.a
Based on GCC trunk r220892:
=== g++ Summary ===
# of expected passes [-63221-]{+68841+}
# of unexpected failures [-11751-]{+8764+}
# of unexpected successes 6
# of expected failures [-246-]{+249+}
# of unresolved testcases [-5950-]{+3353+}
# of unsupported tests [-4160-]{+4143+}
gcc/
* config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
From-SVN: r221362
2015-03-11 22:42:50 +01:00
Janne Blomqvist
6234b5433f
PR 65200 Handle EPERM in addition to EACCES.
...
gcc/fortran ChangeLog:
2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/65200
* gfortran.texi: Document behavior when opening files without
explicit ACTION= specifier.
libgfortran ChangeLog:
2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/65200
* io/open.c (new_unit): Use gf_strerror rather than hardcoding
error messages for different errno values.
* io/unix.c (regular_file2): Handle EPERM in addition to EACCES.
gcc/testsuite ChangeLog:
2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/65200
* gfortran.dg/open_errors.f90: Update checks for iomsg string.
* gfortran.dg/open_new_segv.f90: Fix error message pattern.
From-SVN: r221361
2015-03-11 23:34:22 +02:00
Marek Polacek
707550e43e
re PR tree-optimization/65388 (Wrong comparison in same_succ_def::equal() tree-ssa-tail-merge.c:590)
...
PR tree-optimization/65388
* tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
From-SVN: r221359
2015-03-11 20:36:56 +00:00
Jakub Jelinek
17958621a2
c-parser.c (c_parse_init): Don't call xstrdup on get_identifier argument.
...
* c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
argument.
* c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
on record_builtin_type argument.
From-SVN: r221358
2015-03-11 20:51:55 +01:00
Jakub Jelinek
9cd4d216e9
no-asan-check-glob.c: Add -ffat-lto-objects to dg-options, fix up dg-skip-if.
...
* c-c++-common/asan/no-asan-check-glob.c: Add -ffat-lto-objects
to dg-options, fix up dg-skip-if.
From-SVN: r221357
2015-03-11 20:49:56 +01:00
Bernd Edlinger
563fb64a57
tsan_rtl_report.cc (ScopedReport::AddThread): Cherry pick upstream 224508 and 224755.
...
2015-03-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
* tsan/tsan_rtl_report.cc (ScopedReport::AddThread): Cherry pick
upstream 224508 and 224755.
From-SVN: r221356
2015-03-11 19:20:03 +00:00
Georg-Johann Lay
0c9dc4ae59
re PR target/65296 ([avr] fix various issues with specs file generation)
...
gcc/
PR target/65296
* configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
* configure: Regenerate.
* config.in: Regenerate.
* doc/invoke.texi (AVR Options) [-mrmw]: Document it.
[-mn-flash]: Document it.
[__AVR_ARCH__]: Document avrtiny.
* config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
(*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
(*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
gcc/testsuite/
PR target/65296
* gcc.target/avr/tiny-memx: Use -mmcu instead of -march.
* gcc.target/avr/tiny-caller-save.c: Same.
From-SVN: r221355
2015-03-11 18:51:09 +00:00
Andreas Krebbel
91d4a5ea68
S/390: Doc: Add missing cpu values z196, zEC12.
...
* doc/invoke.texi: Add missing cpu values (z196, zEC12).
From-SVN: r221353
2015-03-11 18:35:44 +00:00
Michael Meissner
befe199770
re PR target/65242 (ICE (in gen_add2_insn, at optabs.c:4761) on powerpc64le-linux-gnu)
...
[gcc]
2015-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/65242
* config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
allow reloads of PLUS in floating point/VSX registers.
[gcc/testsuite]
2015-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/65242
* g++.dg/pr65242.C: New test.
From-SVN: r221350
2015-03-11 16:57:41 +00:00
Junmo Park
4c3e13dfa2
Add missing definition crypto_sha256_fast, crypto_sha256_slow
...
2015-03-11 Junmo Park <junmoz.park@samsung.com>
* config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add crypto_sha256_fast.
(cortex_a57_crypto_complex): Add crypto_sha256_slow.
From-SVN: r221349
2015-03-11 16:53:07 +00:00
Richard Biener
474b3a7c49
re PR tree-optimization/65310 (vectorizer uses wrong alignment)
...
2015-03-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/65310
* tree-sra.c (build_ref_for_offset): Also preserve larger
alignment.
From-SVN: r221348
2015-03-11 15:09:51 +00:00
Aldy Hernandez
25de0a29fb
cp-gimplify.c (simple_empty_class_p): New.
...
* cp-gimplify.c (simple_empty_class_p): New.
* cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract
the code for empty class copies into simple_empty_class_p, and
adapt it to handle COMPOUND_EXPRs.
From-SVN: r221347
2015-03-11 15:01:37 +00:00
Marat Zakirov
6b98fab5f1
asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
...
2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
* asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
* c-c++-common/asan/no-asan-check-glob.c: New test.
From-SVN: r221345
2015-03-11 07:39:20 +00:00
GCC Administrator
df4893c390
Daily bump.
...
From-SVN: r221342
2015-03-11 00:16:13 +00:00
Paolo Carlini
58cbf8d4dc
re PR c++/65370 (r213519 causes: error: redeclaration of 'template... may not have default arguments [-fpermissive])
...
/cp
2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65370
* decl.c (duplicate_decls): Call check_redeclaration_no_default_args
only if the location of newdecl doesn't match the location of olddecl.
/testsuite
2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65370
* g++.dg/other/default11.C: New.
* g++.dg/other/default12.C: Likewise.
From-SVN: r221337
2015-03-10 22:20:41 +00:00
Jakub Jelinek
2d977ff983
re PR target/65368 (_bzhi_u32 intrinsic generates incorrect code when -O1 or above is specified and index is an immediate)
...
PR target/65368
* config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
new define_expand.
(*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
* gcc.target/i386/bmi2-bzhi-2.c: New test.
From-SVN: r221335
2015-03-10 22:03:21 +01:00
Paul Thomas
48188959fd
re PR fortran/65024 ([OOP] unlimited polymorphic pointer structure not built when it should be)
...
2015-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/65024
* trans-expr.c (gfc_conv_component_ref): If the component
backend declaration is missing and the derived type symbol is
available in the reference, call gfc_build_derived_type.
2015-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/65024
* gfortran.dg/unlimited_polymorphic_23.f90: New test
From-SVN: r221334
2015-03-10 19:39:05 +00:00
Jakub Jelinek
704c79040a
re PR c++/65127 (internal compiler error: tree check: expected tree that contains 'decl minimal' structure, have 'addr_expr' in parsing_nsdmi, at cp/parser.c:18311)
...
PR c++/65127
* parser.c (parsing_nsdmi): Don't return true if current_class_ptr
is not a PARM_DECL.
* g++.dg/cpp0x/pr65127.C: New test.
From-SVN: r221332
2015-03-10 20:10:43 +01:00
Jan Hubicka
1574ecc09c
* gcc.dg/ipa/PR64550.c: Update template.
...
From-SVN: r221331
2015-03-10 18:43:44 +00:00
Tim Shen
84839a5140
re PR libstdc++/64441 (A match_results returns an incorrect sub_match if the sub_match::matched is false)
...
PR libstdc++/64441
* include/bits/regex.h (match_results<>::size,
match_results<>::position, match_results<>::str,
match_results<>::operator[], match_results<>::prefix,
match_results<>::suffix, match_results<>::end,
match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
global __unmatched_sub. Add unmatched submatch as part of
match_results.
* include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
* testsuite/28_regex/match_results/out_of_range_submatches.cc:
New testcases.
From-SVN: r221330
2015-03-10 18:41:46 +00:00
Alessandro Fanfarillo
9315dff064
trans.h (caf_sync_memory): New function decl tree.
...
2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
Tobias Burnus <burnus@net-b.de>
* trans.h (caf_sync_memory): New function decl tree.
* trans-decl.c (gfc_build_builtin_function_decls): Define it.
(create_main_function): Don't call sync_synchronize and leave
it to the CAF library.
* trans-stmt.c (gfc_trans_stop): Ditto.
(gfc_trans_sync): Ditto; add call library call for sync memory.
* gfortran.dg/coarray_sync_memory.f90: New.
* caf/libcaf.h (_gfortran_caf_sync_memory): New prototype.
* caf/single.c (_gfortran_caf_sync_memory): Implement.
(_gfortran_caf_sync_all, _gfortran_caf_sync_image): Add
__asm__ __volatile___ ("":::"memory").
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r221329
2015-03-10 18:58:01 +01:00
Jason Merrill
a4d66d7dc7
re PR c++/65333 (error: incomplete type used in nested name specifier)
...
PR c++/65333
DR 1558
* pt.c (dependent_type_p_r): Check both class and alias template args.
From-SVN: r221328
2015-03-10 13:44:48 -04:00
Jan Hubicka
c42345448f
ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
...
* ipa-icf.c (sem_function::equals_wpa): Move here some checks
from ...
(sem_function::equals_wpa): ... here.
From-SVN: r221327
2015-03-10 17:21:34 +00:00
Aldy Hernandez
fc30054eff
re PR bootstrap/25672 (cross build's libgcc picks up CFLAGS)
...
PR bootstrap/25672
* configure.ac: Do not initialize CFLAGS_FOR_TARGET from CFLAGS if
cross-compiling. Similarly for CXX_FOR_TARGET.
* configure: Regenerate.
From-SVN: r221326
2015-03-10 16:37:53 +00:00
Marek Polacek
0757674c83
re PR sanitizer/65367 (indefinite loop occurs with sanitize enabled and certain optimization options)
...
PR sanitizer/65367
* ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
separately.
* c-c++-common/ubsan/pr65367.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r221325
2015-03-10 15:57:45 +00:00
Jakub Jelinek
dac2639d6d
re PR target/65286 (When building on powerpc64le-unknown-linux-gnu, --disable-multilib must be used)
...
PR target/65286
* config/rs6000/t-linux: For powerpc64* target set
MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
From-SVN: r221322
2015-03-10 14:43:44 +01:00
Richard Biener
c692785982
re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of functions)
...
2015-03-09 Richard Biener <rguenther@suse.de>
PR middle-end/44563
* tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
for redirect_all_calls.
From-SVN: r221321
2015-03-10 12:44:01 +00:00
Marek Polacek
2e1a9cdb64
* gdbinit.in (pcfun): Define and document.
...
From-SVN: r221320
2015-03-10 12:32:09 +00:00
Ilya Verbin
3009434489
Fix search path in intelmic-mkoffload for empty COLLECT_GCC.
...
gcc/
* config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
of libgomp-plugin.h.
(find_target_compiler): Support a case when the path to gcc is specified
in the PATH env var, so COLLECT_GCC doesn't contain a path.
(generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
libgomp-plugin.h.
(main): Use GCC_INSTALL_NAME as target_driver_name.
* config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
define.
(mkoffload.o): Remove obsolete include path and defines.
(mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
From-SVN: r221319
2015-03-10 12:23:27 +00:00
Richard Biener
a563c28692
re PR middle-end/63155 (memory hog)
...
2015-03-10 Richard Biener <rguenther@suse.de>
PR middle-end/63155
* tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
* tree-ssa-coalesce.c: Include timevar.h.
(attempt_coalesce): Handle graph being NULL.
(coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
Split out abnormal coalescing to ...
(perform_abnormal_coalescing): ... this function.
(coalesce_ssa_name): Perform abnormal coalescing without computing
live/conflict.
(verify_ssa_coalescing_worker): New function.
(verify_ssa_coalescing): Likewise.
From-SVN: r221318
2015-03-10 11:16:33 +00:00
Georg-Johann Lay
77d68d9796
Typo
...
From-SVN: r221317
2015-03-10 09:56:07 +00:00
Georg-Johann Lay
4a2caf6ced
re PR target/65296 ([avr] fix various issues with specs file generation)
...
PR target/65296
* config.gcc (extra_options) [avr]: Remove.
(extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
(tm_file) [avr]: Add avr/specs.h after avr/avr.h.
(tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
* config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
(-mmcu=): Add Var and MissingArgError properties.
(-march=): Remove.
* config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
* config/avr/t-multilib: Regenerate.
* config/avr/specs.h: New file.
* config/avr/driver-avr.c: New file.
* config/avr/genopt.sh: Remove file.
* config/avr/avr-tables.opt: Remove file.
* config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
* config/avr/avr-c.c: Same.
* avr-arch.h: Same.
(avr_current_device): Remove proto.
* config/avr/avr.h (avr_current_arch): Rename to avr_arch.
(AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
(EXTRA_SPEC_FUNCTIONS): Define.
(avr_devicespecs_file): New specs function proto.
(DRIVER_SELF_SPECS): Use device-specs-file spec function.
* config/avr/avr.c (avr_current_arch): Rename to avr_arch.
(avr_current_device): Remove definition and usage.
(avr_set_core_architecture): New static function.
(avr_option_override): Use it.
* config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
(mcu_name): New static array.
(comparator, avr_archs_str, avr_mcus_str): New static functions.
(avr_inform_devices, avr_inform_core_architectures): New functions.
* config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
(avrlibc.h) [WITH_AVRLIBC]: Include.
(../rtems.h, rtems.h) [WITH_RTEMS]: Include.
(print_mcu): Rewrite from scratch.
* config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
Forward to avr-specific specs defined in device-specs file.
* config/avr/t-avr (driver-avr.o): New rule.
(avr-devices.o): Depend on avr-arch.h.
(avr-mcus): No more depend on avr-tables.opt.
(avr-tables.opt): Remove rule.
(install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
From-SVN: r221316
2015-03-10 09:50:41 +00:00
Ilya Enkovich
768fbdd49e
mpx-dg.exp (mpx_link_flags): Set path to wrappers library.
...
* lib/mpx-dg.exp (mpx_link_flags): Set path to wrappers library.
* gcc.target/i386/mpx/calloc-1-lbv.c: New.
* gcc.target/i386/mpx/calloc-1-ubv.c: New.
* gcc.target/i386/mpx/calloc-1-nov.c: New.
* gcc.target/i386/mpx/malloc-1-lbv.c: New.
* gcc.target/i386/mpx/malloc-1-nov.c: New.
* gcc.target/i386/mpx/malloc-1-ubv.c: New.
* gcc.target/i386/mpx/realloc-1-lbv.c: New.
* gcc.target/i386/mpx/realloc-1-nov.c: New.
* gcc.target/i386/mpx/realloc-1-ubv.c: New.
* gcc.target/i386/mpx/realloc-2-lbv.c: New.
* gcc.target/i386/mpx/realloc-2-nov.c: New.
* gcc.target/i386/mpx/realloc-2-ubv.c: New.
From-SVN: r221315
2015-03-10 09:48:51 +00:00
Ilya Enkovich
226d62d2d1
c.opt (fchkp-use-wrappers): New.
...
* c-family/c.opt (fchkp-use-wrappers): New.
* ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
(chkp_wrap_function): New.
(chkp_build_instrumented_fndecl): Support wrapped
functions.
* doc/invoke.texi (-fcheck-pointer-bounds): New.
(-fchkp-check-incomplete-type): New.
(-fchkp-first-field-has-own-bounds): New.
(-fchkp-narrow-bounds): New.
(-fchkp-narrow-to-innermost-array): New.
(-fchkp-optimize): New.
(-fchkp-use-fast-string-functions): New.
(-fchkp-use-nochk-string-functions): New.
(-fchkp-use-static-bounds): New.
(-fchkp-use-static-const-bounds): New.
(-fchkp-treat-zero-dynamic-size-as-infinite): New.
(-fchkp-check-read): New.
(-fchkp-check-write): New.
(-fchkp-store-bounds): New.
(-fchkp-instrument-calls): New.
(-fchkp-instrument-marked-only): New.
(-fchkp-use-wrappers): New.
(-static-libmpx): New.
(-static-libmpxwrappers): New.
From-SVN: r221314
2015-03-10 09:46:11 +00:00
Ilya Enkovich
d2d7e672ad
linux-common.h (LIBMPX_WRAPPERSSPEC): New.
...
gcc/
* config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
(CHKP_SPEC): Add wrappers library.
* c-family/c.opt (static-libmpxwrappers): New.
libmpx/
* Makefile.am (SUBDIRS): Add mpxwrap when used
AS supports MPX.
(MAKEOVERRIDES): New.
* Makefile.in: Regenerate.
* configure.ac: Check AS supports MPX. Add
mpxintr/Makefile to config files.
* configure: Regenerate.
* mpxwrap/Makefile.am: New.
* mpxwrap/Makefile.in: New.
* mpxwrap/libtool-version: New.
* mpxwrap/mpx_wrappers.cc: New.
* mpxwrap/libmpxwrappers.map: New.
From-SVN: r221313
2015-03-10 09:43:24 +00:00
Ilya Enkovich
ee8f136a72
mpx-dg.exp (mpx_link_flags): New.
...
gcc/testsuites/
* gcc/testsuite/lib/mpx-dg.exp (mpx_link_flags): New.
(mpx_init): New.
(mpx_finish): New.
* gcc.target/i386/mpx/alloca-1-lbv.c: New.
* gcc.target/i386/mpx/alloca-1-nov.c: New.
* gcc.target/i386/mpx/alloca-1-ubv.c: New.
* gcc.target/i386/mpx/arg-addr-1-lbv.c: New.
* gcc.target/i386/mpx/arg-addr-1-nov.c: New.
* gcc.target/i386/mpx/arg-addr-1-ubv.c: New.
* gcc.target/i386/mpx/bitfields-1-lbv.c: New.
* gcc.target/i386/mpx/bitfields-1-nov.c: New.
* gcc.target/i386/mpx/bitfields-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-3.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-3.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-4.c: New.
* gcc.target/i386/mpx/builtin-bnd-null-ptr-bounds-1-bbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-3.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-2.c: New.
* gcc.target/i386/mpx/fastcall-1-lbv.c: New.
* gcc.target/i386/mpx/fastcall-1-nov.c: New.
* gcc.target/i386/mpx/fastcall-1-ubv.c: New.
* gcc.target/i386/mpx/fastcall-2-lbv.c: New.
* gcc.target/i386/mpx/fastcall-2-nov.c: New.
* gcc.target/i386/mpx/fastcall-2-ubv.c: New.
* gcc.target/i386/mpx/field-addr-1-lbv.c: New.
* gcc.target/i386/mpx/field-addr-1-nov.c: New.
* gcc.target/i386/mpx/field-addr-1-ubv.c: New.
* gcc.target/i386/mpx/field-addr-10-lbv.c: New.
* gcc.target/i386/mpx/field-addr-10-nov.c: New.
* gcc.target/i386/mpx/field-addr-10-ubv.c: New.
* gcc.target/i386/mpx/field-addr-2-lbv.c: New.
* gcc.target/i386/mpx/field-addr-2-nov.c: New.
* gcc.target/i386/mpx/field-addr-2-ubv.c: New.
* gcc.target/i386/mpx/field-addr-3-lbv.c: New.
* gcc.target/i386/mpx/field-addr-3-nov.c: New.
* gcc.target/i386/mpx/field-addr-3-ubv.c: New.
* gcc.target/i386/mpx/field-addr-4-lbv.c: New.
* gcc.target/i386/mpx/field-addr-4-nov.c: New.
* gcc.target/i386/mpx/field-addr-4-ubv.c: New.
* gcc.target/i386/mpx/field-addr-5-lbv.c: New.
* gcc.target/i386/mpx/field-addr-5-nov.c: New.
* gcc.target/i386/mpx/field-addr-5-ubv.c: New.
* gcc.target/i386/mpx/field-addr-6-lbv.c: New.
* gcc.target/i386/mpx/field-addr-6-nov.c: New.
* gcc.target/i386/mpx/field-addr-6-ubv.c: New.
* gcc.target/i386/mpx/field-addr-7-lbv.c: New.
* gcc.target/i386/mpx/field-addr-7-nov.c: New.
* gcc.target/i386/mpx/field-addr-7-ubv.c: New.
* gcc.target/i386/mpx/field-addr-8-lbv.c: New.
* gcc.target/i386/mpx/field-addr-8-nov.c: New.
* gcc.target/i386/mpx/field-addr-8-ubv.c: New.
* gcc.target/i386/mpx/field-addr-9-lbv.c: New.
* gcc.target/i386/mpx/field-addr-9-nov.c: New.
* gcc.target/i386/mpx/field-addr-9-ubv.c: New.
* gcc.target/i386/mpx/frame-address-1-nov.c: New.
* gcc.target/i386/mpx/hard-reg-1-nov.c: New.
* gcc.target/i386/mpx/if-stmt-1-lbv.c: New.
* gcc.target/i386/mpx/if-stmt-1-nov.c: New.
* gcc.target/i386/mpx/if-stmt-1-ubv.c: New.
* gcc.target/i386/mpx/if-stmt-2-lbv.c: New.
* gcc.target/i386/mpx/if-stmt-2-nov.c: New.
* gcc.target/i386/mpx/if-stmt-2-ubv.c: New.
* gcc.target/i386/mpx/label-address-1.c: New.
* gcc.target/i386/mpx/legacy-1-nov.c: New.
* gcc.target/i386/mpx/macro.c: New.
* gcc.target/i386/mpx/mpx-check.h: New.
* gcc.target/i386/mpx/mpx.exp: New.
* gcc.target/i386/mpx/nested-function-1-lbv.c: New.
* gcc.target/i386/mpx/nested-function-1-nov.c: New.
* gcc.target/i386/mpx/nested-function-1-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-1-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-1-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-1-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-2-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-2-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-2-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-3-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-3-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-3-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-4-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-4-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-4-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-5-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-5-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-5-ubv.c: New.
* gcc.target/i386/mpx/pointer-store-1-lbv.c: New.
* gcc.target/i386/mpx/pointer-store-1-nov.c: New.
* gcc.target/i386/mpx/pointer-store-1-ubv.c: New.
* gcc.target/i386/mpx/reference-1-lbv.c: New.
* gcc.target/i386/mpx/reference-1-nov.c: New.
* gcc.target/i386/mpx/reference-1-ubv.c: New.
* gcc.target/i386/mpx/reference-2-lbv.c: New.
* gcc.target/i386/mpx/reference-2-nov.c: New.
* gcc.target/i386/mpx/reference-2-ubv.c: New.
* gcc.target/i386/mpx/reference-3-lbv.c: New.
* gcc.target/i386/mpx/reference-3-nov.c: New.
* gcc.target/i386/mpx/reference-3-ubv.c: New.
* gcc.target/i386/mpx/reference-4-lbv.c: New.
* gcc.target/i386/mpx/reference-4-nov.c: New.
* gcc.target/i386/mpx/reference-4-ubv.c: New.
* gcc.target/i386/mpx/return-pointer-1-lbv.c: New.
* gcc.target/i386/mpx/return-pointer-1-nov.c: New.
* gcc.target/i386/mpx/return-pointer-1-ubv.c: New.
* gcc.target/i386/mpx/return-struct-1-lbv.c: New.
* gcc.target/i386/mpx/return-struct-1-nov.c: New.
* gcc.target/i386/mpx/return-struct-1-ubv.c: New.
* gcc.target/i386/mpx/return-struct-2-lbv.c: New.
* gcc.target/i386/mpx/return-struct-2-nov.c: New.
* gcc.target/i386/mpx/return-struct-2-ubv.c: New.
* gcc.target/i386/mpx/return-struct-3-lbv.c: New.
* gcc.target/i386/mpx/return-struct-3-nov.c: New.
* gcc.target/i386/mpx/return-struct-3-ubv.c: New.
* gcc.target/i386/mpx/return-struct-4-lbv.c: New.
* gcc.target/i386/mpx/return-struct-4-nov.c: New.
* gcc.target/i386/mpx/return-struct-4-ubv.c: New.
* gcc.target/i386/mpx/return-struct-5-lbv.c: New.
* gcc.target/i386/mpx/return-struct-5-nov.c: New.
* gcc.target/i386/mpx/return-struct-5-ubv.c: New.
* gcc.target/i386/mpx/return-struct-6-lbv.c: New.
* gcc.target/i386/mpx/return-struct-6-nov.c: New.
* gcc.target/i386/mpx/return-struct-6-ubv.c: New.
* gcc.target/i386/mpx/sincos-1-nov.c: New.
* gcc.target/i386/mpx/static-array-1-lbv.c: New.
* gcc.target/i386/mpx/static-array-1-nov.c: New.
* gcc.target/i386/mpx/static-array-1-ubv.c: New.
* gcc.target/i386/mpx/static-init-1-lbv.c: New.
* gcc.target/i386/mpx/static-init-1-nov.c: New.
* gcc.target/i386/mpx/static-init-1-ubv.c: New.
* gcc.target/i386/mpx/static-init-2-lbv.c: New.
* gcc.target/i386/mpx/static-init-2-nov.c: New.
* gcc.target/i386/mpx/static-init-2-ubv.c: New.
* gcc.target/i386/mpx/static-init-3-lbv.c: New.
* gcc.target/i386/mpx/static-init-3-nov.c: New.
* gcc.target/i386/mpx/static-init-3-ubv.c: New.
* gcc.target/i386/mpx/static-init-4-lbv.c: New.
* gcc.target/i386/mpx/static-init-4-nov.c: New.
* gcc.target/i386/mpx/static-init-4-ubv.c: New.
* gcc.target/i386/mpx/static-init-5-lbv.c: New.
* gcc.target/i386/mpx/static-init-5-nov.c: New.
* gcc.target/i386/mpx/static-init-5-ubv.c: New.
* gcc.target/i386/mpx/static-init-6-lbv.c: New.
* gcc.target/i386/mpx/static-init-6-nov.c: New.
* gcc.target/i386/mpx/static-init-6-ubv.c: New.
* gcc.target/i386/mpx/static-string-1-lbv.c: New.
* gcc.target/i386/mpx/static-string-1-nov.c: New.
* gcc.target/i386/mpx/static-string-1-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-1-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-1-nov.c: New.
* gcc.target/i386/mpx/struct-arg-1-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-10-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-10-nov.c: New.
* gcc.target/i386/mpx/struct-arg-10-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-2-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-2-nov.c: New.
* gcc.target/i386/mpx/struct-arg-2-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-3-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-3-nov.c: New.
* gcc.target/i386/mpx/struct-arg-3-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-4-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-4-nov.c: New.
* gcc.target/i386/mpx/struct-arg-4-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-5-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-5-nov.c: New.
* gcc.target/i386/mpx/struct-arg-5-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-6-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-6-nov.c: New.
* gcc.target/i386/mpx/struct-arg-6-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-7-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-7-nov.c: New.
* gcc.target/i386/mpx/struct-arg-7-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-8-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-8-nov.c: New.
* gcc.target/i386/mpx/struct-arg-8-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-9-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-9-nov.c: New.
* gcc.target/i386/mpx/struct-arg-9-ubv.c: New.
* gcc.target/i386/mpx/struct-copy-1-lbv.c: New.
* gcc.target/i386/mpx/struct-copy-1-nov.c: New.
* gcc.target/i386/mpx/struct-copy-1-ubv.c: New.
* gcc.target/i386/mpx/struct-copy-2-lbv.c: New.
* gcc.target/i386/mpx/struct-copy-2-nov.c: New.
* gcc.target/i386/mpx/struct-copy-2-ubv.c: New.
* gcc.target/i386/mpx/thread-local-var-1-lbv.c: New.
* gcc.target/i386/mpx/thread-local-var-1-nov.c: New.
* gcc.target/i386/mpx/thread-local-var-1-ubv.c: New.
* gcc.target/i386/mpx/union-arg-1-lbv.c: New.
* gcc.target/i386/mpx/union-arg-1-nov.c: New.
* gcc.target/i386/mpx/union-arg-1-ubv.c: New.
* gcc.target/i386/mpx/va-arg-pack-1-lbv.c: New.
* gcc.target/i386/mpx/va-arg-pack-1-nov.c: New.
* gcc.target/i386/mpx/va-arg-pack-1-ubv.c: New.
* gcc.target/i386/mpx/va-arg-pack-2-lbv.c: New.
* gcc.target/i386/mpx/va-arg-pack-2-nov.c: New.
* gcc.target/i386/mpx/va-arg-pack-2-ubv.c: New.
* gcc.target/i386/mpx/vararg-1-lbv.c: New.
* gcc.target/i386/mpx/vararg-1-nov.c: New.
* gcc.target/i386/mpx/vararg-1-ubv.c: New.
* gcc.target/i386/mpx/vararg-2-lbv.c: New.
* gcc.target/i386/mpx/vararg-2-nov.c: New.
* gcc.target/i386/mpx/vararg-2-ubv.c: New.
* gcc.target/i386/mpx/vararg-3-lbv.c: New.
* gcc.target/i386/mpx/vararg-3-nov.c: New.
* gcc.target/i386/mpx/vararg-3-ubv.c: New.
* gcc.target/i386/mpx/vararg-4-lbv.c: New.
* gcc.target/i386/mpx/vararg-4-nov.c: New.
* gcc.target/i386/mpx/vararg-4-ubv.c: New.
* gcc.target/i386/mpx/vararg-5-lbv.c: New.
* gcc.target/i386/mpx/vararg-5-nov.c: New.
* gcc.target/i386/mpx/vararg-5-ubv.c: New.
* gcc.target/i386/mpx/vararg-6-lbv.c: New.
* gcc.target/i386/mpx/vararg-6-nov.c: New.
* gcc.target/i386/mpx/vararg-6-ubv.c: New.
* gcc.target/i386/mpx/vararg-7-lbv.c: New.
* gcc.target/i386/mpx/vararg-7-nov.c: New.
* gcc.target/i386/mpx/vararg-7-ubv.c: New.
* gcc.target/i386/mpx/vararg-8-lbv.c: New.
* gcc.target/i386/mpx/vararg-8-nov.c: New.
* gcc.target/i386/mpx/vararg-8-ubv.c: New.
* gcc.target/i386/mpx/vla-1-lbv.c: New.
* gcc.target/i386/mpx/vla-1-nov.c: New.
* gcc.target/i386/mpx/vla-1-ubv.c: New.
* gcc.target/i386/mpx/vla-2-lbv.c: New.
* gcc.target/i386/mpx/vla-2-nov.c: New.
* gcc.target/i386/mpx/vla-2-ubv.c: New.
From-SVN: r221312
2015-03-10 09:39:59 +00:00
Ilya Enkovich
5373cd33a8
Makefile.def: Add libmpx.
...
* Makefile.def: Add libmpx.
* configure.ac: Add libmpx.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc/
* config/i386/linux-common.h (LIBMPX_LIBS): New.
(LIBMPX_SPEC): New.
(CHKP_SPEC): New.
* gcc.c (CHKP_SPEC): New.
(LINK_COMMAND_SPEC): Add CHKP_SPEC.
* c-family/c.opt (static-libmpx): New.
libmpx/
Initial commit.
From-SVN: r221311
2015-03-10 09:37:41 +00:00
James Greenhalgh
5a43417885
[Patch testsuite] Further reduce the alignment in gcc.dg/vect/pr65310.c
...
gcc/testsuite/
* gcc.dg/vect/pr65310.c (c): Reduce alignment to 4-bytes.
From-SVN: r221310
2015-03-10 09:29:04 +00:00
Oleg Endo
fe7ac5039d
pr54680.c: Add -fno-ipa-icf option.
...
gcc/testsuite:
* gcc.target/sh/pr54680.c: Add -fno-ipa-icf option.
From-SVN: r221309
2015-03-10 08:53:05 +00:00
Richard Biener
40ff136498
re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of functions)
...
2015-03-10 Richard Biener <rguenther@suse.de>
PR middle-end/44563
* cgraph.h (struct cgraph_edge_hasher): Add hash overload
for compare_type.
* cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
(cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
(cgraph_add_edge_to_call_site_hash): Likewise.
(cgraph_node::get_edge): Likewise.
(cgraph_edge::set_call_stmt): Likewise.
(cgraph_edge::remove_caller): Likewise.
From-SVN: r221308
2015-03-10 08:25:31 +00:00