H.J. Lu
f03cee1186
Use gen_rtx_REG to set pic_offset_table_rtx
...
* config/i386/i386.c (x86_output_mi_thunk): Use gen_rtx_REG to
set pic_offset_table_rtx.
From-SVN: r217448
2014-11-12 13:50:20 -08:00
Matthew Fortune
050af1445b
Implement MIPS o32 FPXX, FP64, FP64A ABI extensions.
...
2014-11-12 Matthew Fortune <matthew.fortune@imgtec.com>
gcc/
* common/config/mips/mips-common.c (mips_handle_option): Ensure
that -mfp32, -mfp64 disable -mfpxx and -mfpxx disables -mfp64.
* config.gcc (--with-fp-32): New option.
(--with-odd-spreg-32): Likewise.
* config.in (HAVE_AS_DOT_MODULE): New config define.
* config/mips/mips-protos.h
(mips_secondary_memory_needed): New prototype.
(mips_hard_regno_caller_save_mode): Likewise.
* config/mips/mips.c (mips_get_reg_raw_mode): New static prototype.
(mips_get_arg_info): Assert that V2SFmode is only handled specially
with TARGET_PAIRED_SINGLE_FLOAT.
(mips_return_mode_in_fpr_p): Likewise.
(mips16_call_stub_mode_suffix): Likewise.
(mips_get_reg_raw_mode): New static function.
(mips_return_fpr_pair): O32 return values span two registers.
(mips16_build_call_stub): Likewise.
(mips_function_value_regno_p): Support both FP return registers.
(mips_output_64bit_xfer): Use mthc1 whenever TARGET_HAS_MXHC1. Add
specific cases for TARGET_FPXX to move via memory.
(mips_dwarf_register_span): For TARGET_FPXX pretend that modes larger
than UNITS_PER_FPREG 'span' one register.
(mips_dwarf_frame_reg_mode): New static function.
(mips_file_start): Switch to using .module instead of .gnu_attribute.
No longer support FP ABI 4 (-mips32r2 -mfp64), replace with FP ABI 6.
Add FP ABI 5 (-mfpxx) and FP ABI 7 (-mfp64 -mno-odd-spreg).
(mips_save_reg, mips_restore_reg): Always represent DFmode frame
slots with two CFI directives even for O32 FP64.
(mips_for_each_saved_gpr_and_fpr): Account for fixed_regs when
saving/restoring callee-saved registers.
(mips_hard_regno_mode_ok_p): Implement O32 FP64A extension.
(mips_secondary_memory_needed): New function.
(mips_option_override): ABI check for TARGET_FLOATXX. Disable
odd-numbered single-precision registers when using TARGET_FLOATXX.
Implement -modd-spreg and defaults.
(mips_conditional_register_usage): Redefine O32 FP64 to match O32 FP32
callee-saved behaviour.
(mips_hard_regno_caller_save_mode): Implement.
(TARGET_GET_RAW_RESULT_MODE): Define target hook.
(TARGET_GET_RAW_ARG_MODE): Define target hook.
(TARGET_DWARF_FRAME_REG_MODE): Define target hook.
* config/mips/mips.h (TARGET_FLOAT32): New macro.
(TARGET_O32_FP64A_ABI): Likewise.
(TARGET_CPU_CPP_BUILTINS): TARGET_FPXX is __mips_fpr==0. Add
_MIPS_SPFPSET builtin define.
(MIPS_FPXX_OPTION_SPEC): New macro.
(OPTION_DEFAULT_SPECS): Pass through --with-fp-32=* to -mfp and
--with-odd-spreg-32=* to -m[no-]odd-spreg.
(ISA_HAS_ODD_SPREG): New macro.
(ISA_HAS_MXHC1): True for anything other than -mfp32.
(ASM_SPEC): Pass through mfpxx, mfp64, -mno-odd-spreg and -modd-spreg.
(MIN_FPRS_PER_FMT): Redefine in terms of TARGET_ODD_SPREG.
(HARD_REGNO_CALLER_SAVE_MODE): Define. Implement O32 FPXX extension
(HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
(SECONDARY_MEMORY_NEEDED): Likewise.
(FUNCTION_ARG_REGNO_P): Update for O32 FPXX and FP64 extensions.
* config/mips/mips.md (define_attr enabled): Implement O32 FPXX and
FP64A ABI extensions.
(move_doubleword_fpr<mode>): Use ISA_HAS_MXHC1 instead of
TARGET_FLOAT64.
* config/mips/mips.opt (mfpxx): New target option.
(modd-spreg): Likewise.
* config/mips/mti-elf.h (DRIVER_SELF_SPECS): Infer FP ABI from arch.
* config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise and remove
fp64 sysroot.
* config/mips/t-mti-elf: Remove fp64 multilib.
* config/mips/t-mti-linux: Likewise.
* configure.ac: Detect .module support.
* configure: Regenerate.
* doc/invoke.texi: Document -mfpxx, -modd-spreg, -mno-odd-spreg option.
* doc/install.texi (--with-fp-32, --with-odd-spreg-32): Document new
options.
gcc/testsuite/
* gcc.target/mips/args-1.c: Handle __mips_fpr == 0.
* gcc.target/mips/call-clobbered-1.c: New.
* gcc.target/mips/call-clobbered-2.c: New.
* gcc.target/mips/call-clobbered-3.c: New.
* gcc.target/mips/call-clobbered-4.c: New.
* gcc.target/mips/call-clobbered-5.c: New.
* gcc.target/mips/call-saved-4.c: New.
* gcc.target/mips/call-saved-5.c: New.
* gcc.target/mips/call-saved-6.c: New.
* gcc.target/mips/mips.exp: Support -mfpxx, -ffixed-f*,
and -m[no-]odd-spreg. Use _MIPS_SPFPSET to determine default
odd-spreg option. Account for -modd-spreg in minimum arch code.
* gcc.target/mips/movdf-1.c: New.
* gcc.target/mips/movdf-2.c: New.
* gcc.target/mips/movdf-3.c: New.
* gcc.target/mips/oddspreg-1.c: New.
* gcc.target/mips/oddspreg-2.c: New.
* gcc.target/mips/oddspreg-3.c: New.
* gcc.target/mips/oddspreg-4.c: New.
* gcc.target/mips/oddspreg-5.c: New.
* gcc.target/mips/oddspreg-6.c: New.
libgcc/
* config/mips/mips16.S: Set .module when supported. Update O32
FP64 calling convention and use for FPXX when possible. Add FPXX
calling convention fallback case.
From-SVN: r217446
2014-11-12 21:39:46 +00:00
H.J. Lu
21c767169b
Initialize PIC register for large PIC model C++ thunk
...
gcc/
PR target/63815
* config/i386/i386.c (ix86_init_large_pic_reg): New. Extracted
from ...
(ix86_init_pic_reg): Here. Use ix86_init_large_pic_reg.
(x86_output_mi_thunk): Set PIC register to %r11. Call
ix86_init_large_pic_reg to initialize PIC register.
gcc/testsuite/
PR target/63815
* g++.dg/other/pr63815.C: New test.
From-SVN: r217445
2014-11-12 13:16:14 -08:00
Paolo Carlini
186ad798b9
DR 1510 PR c++/60420
...
/cp
2014-11-12 Paolo Carlini <paolo.carlini@oracle.com>
DR 1510
PR c++/60420
* cp-tree.h (struct cp_decl_specifier_seq): Add decltype_p bool field.
* decl.c (grokdeclarator): Use it.
* parser.c (cp_parser_simple_type_specifier): Likewise.
* pt.c (tsubst, case DECLTYPE_TYPE): Use tf_ignore_bad_quals.
/testsuite
2014-11-12 Paolo Carlini <paolo.carlini@oracle.com>
DR 1510
PR c++/60420
* g++.dg/cpp0x/decltype61.C: New.
From-SVN: r217444
2014-11-12 20:43:09 +00:00
Kai Tietz
7eb0def89e
sdbout.c (sdbout_symbol): Eliminate register only if decl isn't a global variable.
...
2014-11-12 Kai Tietz <ktietz@redhat.com>
* sdbout.c (sdbout_symbol): Eliminate register only
if decl isn't a global variable.
From-SVN: r217443
2014-11-12 21:04:50 +01:00
Jonathan Wakely
d8af84e67b
Implement resolutions of LWG 2399, 2400 and 2401.
...
* include/bits/shared_ptr.h (shared_ptr, weak_ptr): Define
_Convertible alias template to simplify constraints.
(shared_ptr(unique_ptr<TD>&&)): Constrain (LWG 2399).
* include/bits/shared_ptr_base.h: Likewise.
(_Sp_counted_deleter::_M_get_deleter()): Use addressof (LWG 2400).
* include/std/functional (function::operator=(nullptr_t)): Add
noexcept (LWG 2401).
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Adjust dg-error.
From-SVN: r217442
2014-11-12 19:41:36 +00:00
H.J. Lu
3e147937ea
Add a testcase for PR tree-optimization/63835
...
PR tree-optimization/63835
* gcc.dg/pr63835.c: New test.
From-SVN: r217441
2014-11-12 10:56:50 -08:00
Alan Lawrence
2a49c16d6b
Add bounds checking to vqdm*_lane intrinsics via a qualifier that also flips endianness
...
gcc/:
* config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Display indices.
* config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers): Add
qualifier_lane_index.
(aarch64_types_ternop_lane_qualifiers, TYPES_TERNOP_LANE): Rename to...
(aarch64_types_quadop_lane_qualifiers, TYPES_QUADOP_LANE): ...these.
(aarch64_types_ternop_lane_qualifiers, TYPES_TERNOP_LANE): New.
(aarch64_types_getlane_qualifiers): Rename to...
(aarch64_types_binop_imm_qualifiers): ...this.
(TYPES_SHIFTIMM): Follow renaming.
(TYPES_GETLANE): Rename to...
(TYPE_GETREG): ...this.
(aarch64_types_setlane_qualifiers): Rename to...
(aarch64_type_ternop_imm_qualifiers): ...this.
(TYPES_SHIFTINSERT, TYPES_SHIFTACC): Follow renaming.
(TYPES_SETLANE): Follow renaming above, and rename self to...
(TYPE_SETREG): ...this.
(enum builtin_simd_arg): Add SIMD_ARG_LANE_INDEX.
(aarch64_simd_expand_args): Add range check and endianness-flip.
(aarch64_simd_expand_builtin): Add mapping for qualifier_lane_index.
* config/aarch64/aarch64-simd.md
(aarch64_sq<r>dmulh_lane<mode>_internal *2): Rename to...
(aarch64_sq<r>dmulh_lane<mode>): ...this, and remove lane bounds check.
(aarch64_sqdmulh_lane<mode> *2, aarch64_sqrdmulh_lane<mode> *2): Delete.
(aarch64_sq<r>dmulh_laneq<mode>_internal): Rename to...
(aarch64_sq<r>dmulh_lane<mode>): ...this.
(aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal *2): Rename to...
(aarch64_sqdml<SBINQOPS:as>l_lane<mode>): ...this.
(aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal *2): Rename to...
(aarch64_sqdml<SBINQOPS:as>l_laneq<mode>): ...this.
(aarch64_sqdmull_lane<mode>_internal *2): Rename to...
(aarch64_sqdmull_lane<mode>): ...this.
(aarch64_sqdmull_laneq<mode>_internal *2): Rename to...
(aarch64_sqdmull_laneq<mode>): ...this.
(aarch64_sqdmulh_laneq<mode>, aarch64_sqrdmulh_laneq<mode>,
(aarch64_sqdmlal_lane<mode>, aarch64_sqdmlal_laneq<mode>,
aarch64_sqdmlsl_lane<mode>, aarch64_sqdmlsl_laneq<mode>,
aarch64_sqdmull_lane<mode>, aarch64_sqdmull_laneq<mode>): Delete.
(aarch64_sqdmlal2_lane<mode>, aarch64_sqdmlal2_laneq<mode>,
aarch64_sqdmlsl2_lane<mode>, aarch64_sqdmlsl2_laneq<mode>,
aarch64_sqdmull2_lane<mode>, aarch64_sqdmull2_laneq<mode>): Remove
bounds check and lane flip.
* config/aarch64/aarch64-simd-builtins.def (be_checked_get_lane,
get_dregoi, get_dregci, getdregxi, get_qregoi,get_qregci, get_qregxi,
set_qregoi, set_qregci, set_qregxi): Change qualifiers to GETREG.
(sqdmlal_lane, sqdmlsl_lane, sqdmlal_laneq, sqdmlsl_laneq,
sqdmlal2_lane, sqdmlsl2_lane, sqdmlal2_laneq, sqdmlsl2_laneq): Follow
renaming of TERNOP_LANE to QUADOP_LANE.
(sqdmull_lane, sqdmull_laneq, sqdmull2_lane, sqdmull2_laneq,
sqdmulh_lane, sqdmulh_laneq, sqrdmulh_lane, sqrdmulh_laneq): Set
qualifiers to TERNOP_LANE.
gcc/testsuite/:
* gcc.target/aarch64/simd/vqdmlal_high_lane_s16_indices_1.c: New test.
* gcc.target/aarch64/simd/vqdmlal_high_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_high_laneq_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_high_laneq_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_laneq_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_laneq_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlalh_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlals_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_laneq_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_laneq_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_laneq_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_laneq_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlslh_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsls_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulh_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulh_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulh_laneq_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulh_laneq_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhh_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhq_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhq_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhq_laneq_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhq_laneq_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhs_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_laneq_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_laneq_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_laneq_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_laneq_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmullh_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulls_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulh_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulh_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulh_laneq_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulh_laneq_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhh_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhq_lane_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhq_lane_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhq_laneq_s16_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhq_laneq_s32_indices_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhs_lane_s32_indices_1.c: Likewise.
From-SVN: r217440
2014-11-12 18:51:53 +00:00
Tobias Burnus
0a00227221
Fix ChangeLog of previous commit, r217438:
...
* Makefile.def: Make all-gcc depend on all-isl.
From-SVN: r217439
2014-11-12 19:45:17 +01:00
Tobias Burnus
7d35a59e54
Makefile.def: Remove CLooG.
...
2014-11-11 Tobias Burnus <burnus@net-b.de>
* Makefile.def: Remove CLooG.
* Makefile.in: Regenerate.
From-SVN: r217438
2014-11-12 19:42:03 +01:00
Uros Bizjak
34388f8214
387-1.c (dg-skip-if): Use *-*-* target selector.
...
* gcc.target/i386/387-1.c (dg-skip-if): Use *-*-* target selector.
* gcc.target/i386/387-2.c (dg-skip-if): Ditto.
* gcc.target/i386/387-5.c (dg-skip-if): Ditto.
* gcc.target/i386/387-6.c (dg-skip-if): Ditto.
* gcc.target/i386/cmov7.c (dg-skip-if): Ditto.
* gcc.target/i386/funcspec-2.c (dg-skip-if): Ditto.
* gcc.target/i386/funcspec-3.c (dg-skip-if): Ditto.
* gcc.target/i386/funcspec-8.c (dg-skip-if): Ditto.
* gcc.target/i386/funcspec-9.c (dg-skip-if): Ditto.
* gcc.target/i386/gcc-have-sync-compare-and-swap-1.c (dg-skip-if):
Ditto.
* gcc.target/i386/gcc-have-sync-compare-and-swap-2.c (dg-skip-if):
Ditto.
* gcc.target/i386/isa-1.c (dg-skip-if): Ditto.
* gcc.target/i386/isa-6.c (dg-skip-if): Ditto.
* gcc.target/i386/isa-9.c (dg-skip-if): Ditto.
* gcc.target/i386/lea.c (dg-skip-if): Ditto.
* gcc.target/i386/memcpy-strategy-1.c (dg-skip-if): Ditto.
* gcc.target/i386/memcpy-strategy-2.c (dg-skip-if): Ditto.
* gcc.target/i386/memcpy-vector_loop-1.c (dg-skip-if): Ditto.
* gcc.target/i386/memcpy-vector_loop-2.c (dg-skip-if): Ditto.
* gcc.target/i386/memset-vector_loop-1.c (dg-skip-if): Ditto.
* gcc.target/i386/memset-vector_loop-2.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-10.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-2.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-3.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-4.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-5a.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-5b.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-6a.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-6b.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-7.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-8.c (dg-skip-if): Ditto.
* gcc.target/i386/pad-9.c (dg-skip-if): Ditto.
* gcc.target/i386/pentium4-not-mull.c (dg-skip-if): Ditto.
* gcc.target/i386/pr42589.c (dg-skip-if): Ditto.
* gcc.target/i386/sse-19.c (dg-skip-if): Ditto.
* gcc.target/i386/sse2-init-v2di-2.c (dg-skip-if): Ditto.
* gcc.target/i386/ssefn-1.c (dg-skip-if): Ditto.
* gcc.target/i386/ssetype-1.c (dg-skip-if): Ditto.
* gcc.target/i386/ssetype-2.c (dg-skip-if): Ditto.
* gcc.target/i386/ssetype-5.c (dg-skip-if): Ditto.
* gcc.target/i386/vect-double-1.c (dg-skip-if): Ditto.
From-SVN: r217437
2014-11-12 19:32:57 +01:00
Tobias Burnus
d62352f9c7
Makefile.in (CLOOGLIBS, CLOOGINC): Remove.
...
2014-11-12 Tobias Burnus <burnus@net-b.de>
* Makefile.in (CLOOGLIBS, CLOOGINC): Remove.
* configure.ac: Ditto.
* graphite-interchange.c: Remove HAVE_CLOOG block.
* config.in: Regenerate.
* configure: Regenerate.
From-SVN: r217436
2014-11-12 19:28:36 +01:00
Uros Bizjak
b51a678705
pr45852.c: Simplify target selector.
...
* gcc.target/i386/pr45852.c: Simplify target selector.
* gcc.target/i386/pr63495.c: Ditto.
* gcc.target/i386/pr39496.c: Ditto.
* gcc.target/i386/pr36613.c: Ditto.
From-SVN: r217432
2014-11-12 18:45:29 +01:00
Jiong Wang
1c923b60a0
[AArch64] Let LR register alloctable
...
gcc/
* config/aarch64/aarch64.h (CALL_USED_REGISTERS): Mark LR as caller-save.
(EPILOGUE_USES): Guard the check by epilogue_completed.
* config/aarch64/aarch64.c (aarch64_layout_frame): Explictly check for LR.
(aarch64_can_eliminate): Check LR_REGNUM liveness.
gcc/testsuite/
* gcc.target/aarch64/lr_free_1.c: New testcase for -fomit-frame-pointer.
* gcc.target/aarch64/lr_free_2.c: New testcase for leaf
-fno-omit-frame-pointer.
From-SVN: r217431
2014-11-12 17:15:57 +00:00
Ramana Radhakrishnan
70654ae6e9
Fix typo in *<arith_shift_insn>_shiftsi
...
From-SVN: r217430
2014-11-12 17:07:12 +00:00
Kirill Yukhin
43cf21c686
Cast strtol return to unsigned long
...
* testsuite/test-strtol.c (run_tests): Cast strtol return to
unsigned long.
From-SVN: r217429
2014-11-12 08:24:30 -08:00
Marek Polacek
4feb5dd860
gcc-dg.exp (${tool}_load): Call prune_file_path instead of prune_gcc_output.
...
* lib/gcc-dg.exp (${tool}_load): Call prune_file_path instead
of prune_gcc_output.
* lib/prune.exp (prune_file_path): New procedure.
From-SVN: r217428
2014-11-12 15:48:54 +00:00
Marek Polacek
2f68e8bcc0
fold-const.c (fold_binary_loc): Don't fold if the result is undefined.
...
* fold-const.c (fold_binary_loc): Don't fold if the result
is undefined.
* match.pd (A + (-B) -> A - B, A - (-B) -> A + B,
-(-A) -> A): Likewise.
* c-c++-common/ubsan/overflow-sub-4.c: New test.
* c-c++-common/ubsan/overflow-sub-2.c: Adjust dg-output.
* c-c++-common/ubsan/overflow-int128.c: Likewise.
From-SVN: r217427
2014-11-12 14:36:41 +00:00
Evgeny Stupachenko
b8c03a9b39
pr52252-atom-1.c: Extend assembler scan on AVX2 case.
...
gcc/testsuite
* gcc.target/i386/pr52252-atom-1.c: Extend assembler scan on AVX2 case.
From-SVN: r217423
2014-11-12 14:33:18 +00:00
Richard Biener
72eb311da1
[multiple changes]
...
2014-11-12 Richard Biener <rguenther@suse.de>
Merge from match-and-simplify branch
2014-11-04 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
* genmatch.c (user_id): Add new member is_oper_list.
(user_id::user_id): Add new default argument.
(parser::parse_operator_list): New function.
(parser::parse_for): Allow operator-list.
(parser::parse_pattern): Call parser::parse_operator_list.
(parser::parse_operation): Reject operator-list.
* match-builtin.pd: Define operator lists POWs, CBRTs and SQRTs.
2014-10-31 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
* genmatch.c (parser::parse_c_expr): Mark user-defined ops as used.
2014-10-30 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
* genmatch.c (parser::parse_op): Check if predicate is used in
result operand.
2014-10-29 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
* genmatch.c (parser::parse_for): Make sure to have a valid
token to report errors at.
2014-10-28 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
* genmatch.c (parser): Add new member parsing_match_operand.
(parser::parse_operation): Check for conditional convert in result
operand.
(parser::parse_expr): Check for commutative operator in result operand.
Check for :type in match operand.
(parser::parse_simplify): Set/unset parsing_match_operand.
(parser::parser): Initialize parsing_match_operand.
2014-10-28 Richard Biener <rguenther@suse.de>
* genmatch.c (parser::parse_for): Properly check for already
defined operators.
2014-10-28 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
* genmatch.c (error_cb): Adjust for printing warnings.
(warning_at): New function.
(user_id): Add new member used.
(get_operator): Mark user_id as used.
(parse_for): Warn for unused operators.
From-SVN: r217422
2014-11-12 14:29:14 +00:00
Richard Biener
eaeba53a03
match.pd: Implement simple complex operations cancelling.
...
2014-11-12 Richard Biener <rguenther@suse.de>
* match.pd: Implement simple complex operations cancelling.
* fold-const.c (fold_unary_loc): Remove them here.
* gcc.dg/tree-ssa/ssa-fre-32.c: Disable forwprop.
From-SVN: r217421
2014-11-12 13:45:48 +00:00
Joseph Myers
2079956a87
Predefine __NO_MATH_ERRNO__ for -fno-math-errno.
...
This patch adds a predefined macro __NO_MATH_ERRNO__ for when
-fno-math-errno is passed or implied. This allows math.h to provide a
more accurate definition of the C99 math_errhandling macro that takes
this option into account, and allows for choice of libm functions to
be optimized at compile time based on this option.
(There may be a case for such interfaces for -fno-rounding-math
(default) and -fno-trapping-math as well, but as C99 standard pragmas
would allow those to vary on a per-block basis, predefined macros
would be problematic as the interface; you can't select a
-fno-trapping-math or -fno-rounding-math version of a function in a
standard header if a conforming program could then use "#pragma STDC
FENV_ACCESS ON" to require a -ftrapping-math -frounding-math version
in a particular block. So built-in functions might be a better way of
providing access to information about those options.)
Bootstrapped with no regressions on x86_64-unknown-linux-gnu. OK to
commit?
* cppbuiltin.c (define_builtin_macros_for_compilation_flags):
Define __NO_MATH_ERRNO__ if -fno-math-errno.
* doc/cpp.texi (__NO_MATH_ERRNO__): Document predefined macro.
c-family:
* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
testsuite:
* gcc.dg/no-math-errno-1.c, gcc.dg/no-math-errno-2.c,
gcc.dg/no-math-errno-3.c, gcc.dg/no-math-errno-4.c: New tests.
From-SVN: r217420
2014-11-12 13:33:45 +00:00
H.J. Lu
b9700367fa
Avoid tail call in c-c++-common/asan/strlen-overflow-1.c
...
PR testsuite/63830
* c-c++-common/asan/strlen-overflow-1.c (main): Avoid tail call.
From-SVN: r217417
2014-11-12 04:54:00 -08:00
Richard Biener
47b25362bc
genmatch.c (::gen_transform): Add capture_info and expand_compares arguments.
...
2014-11-12 Richard Biener <rguenther@suse.de>
* genmatch.c (::gen_transform): Add capture_info and
expand_compares arguments.
(struct expr): Add is_generic flag.
(lower_cond): New functions lowering [VEC_]COND_EXPR
conditions to a GENERIC and a GIMPLE variant.
(lower): Call lower_cond.
(cmp_operand): Also compare the is_generic flag.
(capture_info::cinfo): Add cond_expr_cond_p flag.
(capture_info::capture_info): Pass down whether the
expression argument is a COND_EXPR condition.
(capture_info::walk_match): Likewise, mark captures
capturing COND_EXPR conditions with cond_expr_cond_p.
(expr::gen_transform): Pass down whether we need to
expand compares from COND_EXPR conditions.
(capture::gen_transform): Expand compares substituted
from COND_EXPR conditions into non-COND_EXPR conditions.
(dt_operand::gen_gimple_expr): Handle explicitely marked
GENERIC expressions as generic.
(dt_simplify::gen): Pass whether we need to expand
conditions to gen_transform. Handle capture results
which are from COND_EXPR conditions.
(main): Pass gimple flag down to lower.
From-SVN: r217416
2014-11-12 12:49:14 +00:00
Jakub Jelinek
1304953e4f
re PR c/59708 (clang-compatible checked arithmetic builtins)
...
PR c/59708
* builtin-attrs.def (ATTR_NOTHROW_TYPEGENERIC_LEAF): New attribute.
* builtins.c (fold_builtin_arith_overflow): New function.
(fold_builtin_3): Use it.
* builtins.def (BUILT_IN_ADD_OVERFLOW, BUILT_IN_SUB_OVERFLOW,
BUILT_IN_MUL_OVERFLOW, BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW,
BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW,
BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW,
BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW,
BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADDL_OVERFLOW,
BUILT_IN_UADDLL_OVERFLOW, BUILT_IN_USUB_OVERFLOW,
BUILT_IN_USUBL_OVERFLOW, BUILT_IN_USUBLL_OVERFLOW,
BUILT_IN_UMUL_OVERFLOW, BUILT_IN_UMULL_OVERFLOW,
BUILT_IN_UMULLL_OVERFLOW): New built-in functions.
* builtin-types.def (BT_PTR_UINT, BT_PTR_ULONG, BT_PTR_LONGLONG,
BT_FN_BOOL_INT_INT_INTPTR, BT_FN_BOOL_LONG_LONG_LONGPTR,
BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, BT_FN_BOOL_UINT_UINT_UINTPTR,
BT_FN_BOOL_ULONG_ULONG_ULONGPTR,
BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, BT_FN_BOOL_VAR): New.
* expr.c (write_complex_part): Remove prototype, no longer static.
* expr.h (write_complex_part): New prototype.
* function.c (aggregate_value_p): For internal functions return 0.
* gimple-fold.c (arith_overflowed_p): New functions.
(gimple_fold_call): Fold {ADD,SUB,MUL}_OVERFLOW internal calls.
* gimple-fold.h (arith_overflowed_p): New prototype.
* tree-ssa-dce.c: Include tree-ssa-propagate.h and gimple-fold.h.
(find_non_realpart_uses, maybe_optimize_arith_overflow): New
functions.
(eliminate_unnecessary_stmts): Transform {ADD,SUB,MUL}_OVERFLOW
into COMPLEX_CST/COMPLEX_EXPR if IMAGPART_EXPR of the result is
never used.
* gimplify.c (gimplify_call_expr): Handle gimplification of
internal calls with lhs.
* internal-fn.c (get_range_pos_neg, get_min_precision,
expand_arith_overflow_result_store): New functions.
(ubsan_expand_si_overflow_addsub_check): Renamed to ...
(expand_addsub_overflow): ... this. Add LOC, LHS, ARG0, ARG1,
UNSR_P, UNS0_P, UNS1_P, IS_UBSAN arguments, remove STMT argument.
Handle ADD_OVERFLOW and SUB_OVERFLOW expansion.
(ubsan_expand_si_overflow_neg_check): Renamed to ...
(expand_neg_overflow): ... this. Add LOC, LHS, ARG1, IS_UBSAN
arguments, remove STMT argument. Handle SUB_OVERFLOW with
0 as first argument expansion.
(ubsan_expand_si_overflow_mul_check): Renamed to ...
(expand_mul_overflow): ... this. Add LOC, LHS, ARG0, ARG1,
UNSR_P, UNS0_P, UNS1_P, IS_UBSAN arguments, remove STMT argument.
Handle MUL_OVERFLOW expansion.
(expand_UBSAN_CHECK_ADD): Use expand_addsub_overflow, prepare
arguments for it.
(expand_UBSAN_CHECK_SUB): Use expand_addsub_overflow or
expand_neg_overflow, prepare arguments for it.
(expand_UBSAN_CHECK_MUL): Use expand_mul_overflow, prepare arguments
for it.
(expand_arith_overflow, expand_ADD_OVERFLOW, expand_SUB_OVERFLOW,
expand_MUL_OVERFLOW): New functions.
* internal-fn.def (ADD_OVERFLOW, SUB_OVERFLOW, MUL_OVERFLOW): New
internal functions.
* tree-vrp.c (check_for_binary_op_overflow): New function.
(extract_range_basic): Handle {REAL,IMAG}PART_EXPR if the operand
is SSA_NAME set by {ADD,SUB,MUL}_OVERFLOW internal functions.
(simplify_internal_call_using_ranges): Handle {ADD,SUB,MUL}_OVERFLOW
internal functions.
* optabs.def (umulv4_optab): New optab.
* config/i386/i386.md (umulv<mode>4, <u>mulvqi4): New define_expands.
(*umulv<mode>4, *<u>mulvqi4): New define_insns.
* doc/extend.texi (Integer Overflow Builtins): Document
__builtin_*_overflow.
c-family/
* c-common.c (check_builtin_function_arguments): Handle
BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
testsuite/
* c-c++-common/builtin-arith-overflow-1.c: New test.
* c-c++-common/torture/builtin-arith-overflow-10.c: New test.
* c-c++-common/torture/builtin-arith-overflow-11.c: New test.
* c-c++-common/torture/builtin-arith-overflow-12.c: New test.
* c-c++-common/torture/builtin-arith-overflow-12.h: New file.
* c-c++-common/torture/builtin-arith-overflow-13.c: New test.
* c-c++-common/torture/builtin-arith-overflow-14.c: New test.
* c-c++-common/torture/builtin-arith-overflow-15.c: New test.
* c-c++-common/torture/builtin-arith-overflow-16.c: New test.
* c-c++-common/torture/builtin-arith-overflow-17.c: New test.
* c-c++-common/torture/builtin-arith-overflow-18.c: New test.
* c-c++-common/torture/builtin-arith-overflow-1.c: New test.
* c-c++-common/torture/builtin-arith-overflow-1.h: New file.
* c-c++-common/torture/builtin-arith-overflow-2.c: New test.
* c-c++-common/torture/builtin-arith-overflow-3.c: New test.
* c-c++-common/torture/builtin-arith-overflow-4.c: New test.
* c-c++-common/torture/builtin-arith-overflow-5.c: New test.
* c-c++-common/torture/builtin-arith-overflow-6.c: New test.
* c-c++-common/torture/builtin-arith-overflow-7.c: New test.
* c-c++-common/torture/builtin-arith-overflow-8.c: New test.
* c-c++-common/torture/builtin-arith-overflow-9.c: New test.
* c-c++-common/torture/builtin-arith-overflow.h: New file.
* gcc.dg/builtin-arith-overflow-1.c: New test.
* gcc.dg/builtin-arith-overflow-2.c: New test.
From-SVN: r217415
2014-11-12 13:28:06 +01:00
Richard Biener
6a3cbe9092
genmatch.c (capture_info::capture_info): Add missing COND_EXPR handling.
...
2014-11-12 Richard Biener <rguenther@suse.de>
* genmatch.c (capture_info::capture_info): Add missing
COND_EXPR handling.
(capture_info::walk_match): Fix COND_EXPR handling.
(capture_info::walk_result): Likewise.
From-SVN: r217414
2014-11-12 11:59:40 +00:00
Jonathan Wakely
f871d7f9f4
LWG DR 2315. weak_ptr should be movable
...
* include/bits/shared_ptr.h (weak_ptr): Add move constructor and
assignment.
* include/bits/shared_ptr_base.h (__weak_count, __weak_ptr): Likewise.
Use nullptr and injected class name.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Adjust dg-error.
From-SVN: r217413
2014-11-12 11:54:08 +00:00
Jonathan Wakely
098c88fb10
Add -Wno-deprecated to dg-options.
...
PR c++/33911
* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Use -Wno-deprecated.
* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
* testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
From-SVN: r217412
2014-11-12 10:32:17 +00:00
Richard Biener
a0f12cf8ea
re PR bootstrap/63821 (ICE in verify_gimple during libgcc build starting with r217349)
...
2014-11-12 Richard Biener <rguenther@suse.de>
PR middle-end/63821
* match.pd: Add missing conversion to the -(T)-X pattern.
* gfortran.dg/pr63821.f90: New testcase.
From-SVN: r217411
2014-11-12 10:13:48 +00:00
Richard Biener
e7d1000cd7
re PR middle-end/63819 (Cannot build compiler with --enable-gather-detailed-mem-stats (error: default argument given for parameter 5 of ‘void* ggc_internal_cleared_alloc))
...
2014-11-12 Richard Biener <rguenther@suse.de>
PR bootstrap/63819
* hash-table.h: Include ggc.h also for generator programs.
* genmatch.c (ggc_internal_cleared_alloc): Properly define
using MEM_STAT_DECL instead of CXX_MEM_STAT_INFO.
From-SVN: r217410
2014-11-12 10:12:47 +00:00
Thomas Preud'homme
f351abd679
[multiple changes]
...
2014-11-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR tree-optimization/63761
* tree-ssa-math-opts.c (bswap_replace): Construct gsi from cur_stmt
rather than taking it as a parameter. Add some comments to explain the
gsi_move_before in case of load and why canonicalization of bswap into
a rotation is only done for 16bit values.
(pass_optimize_bswap::execute): Adapt for loop via gsi to make gsi
refer to the statement just before cur_stmt. Ignore 16bit bswap that
are already in canonical form. Adapt bswap_replace to removal of its
gsi parameter.
2014-11-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
PR tree-optimization/63761
* gcc.c-torture/compile/pr63761.c: New test.
From-SVN: r217409
2014-11-12 09:50:20 +00:00
Jiong Wang
d30fc980ac
[PATCH][dejagnu] truncate absolute file path into relative for dg-output
...
gcc/testsuite/
* lib/gcc-dg.exp (${tool}_load): Truncate gcc output.
* lib/prune.exp (prune_gcc_output): New absolute path to relative path
truncation pattern.
From-SVN: r217408
2014-11-12 09:37:01 +00:00
Richard Sandiford
e02101ff0a
rtl.h (rtx_function, [...]): Delete.
...
gcc/
* rtl.h (rtx_function, for_each_rtx, for_each_rtx_in_insn): Delete.
* rtlanal.c (non_rtx_starting_operands, for_each_rtx_1, for_each_rtx):
(for_each_rtx_in_insn): Delete.
(init_rtlanal): Remove initialization of non_rtx_starting_operands.
* df-core.c: Remove reference to for_each_rtx in comment.
From-SVN: r217407
2014-11-12 09:05:29 +00:00
Tejas Belagod
02c0ac4584
[AArch64] Remove unnecessary files.
...
2014-11-12 Tejas Belagod <tejas.belagod@arm.com>
* Makefile.in (TEXI_GCC_FILES): Remove arm-acle-intrinsics.texi,
arm-neon-intrinsics.texi, aarch64-acle-intrinsics.texi.
* doc/aarch64-acle-intrinsics.texi: Remove.
* doc/arm-acle-intrinsics.texi: Remove.
* doc/arm-neon-intrinsics.texi: Remove.
* doc/extend.texi: Consolidate sections AArch64 intrinsics,
ARM NEON Intrinsics, ARM ACLE Intrinsics into one ARM C Language
Extension section. Add references to public ACLE specification.
From-SVN: r217406
2014-11-12 08:46:05 +00:00
Tejas Belagod
3f15527337
[AArch64] Add reference to ACLE and consolidate documentation.
...
2014-11-12 Tejas Belagod <tejas.belagod@arm.com>
* Makefile.in (TEXI_GCC_FILES): Remove arm-acle-intrinsics.texi,
arm-neon-intrinsics.texi, aarch64-acle-intrinsics.texi.
* doc/aarch64-acle-intrinsics.texi: Remove.
* doc/arm-acle-intrinsics.texi: Remove.
* doc/arm-neon-intrinsics.texi: Remove.
* doc/extend.texi: Consolidate sections AArch64 intrinsics,
ARM NEON Intrinsics, ARM ACLE Intrinsics into one ARM C Language
Extension section. Add references to public ACLE specification.
From-SVN: r217405
2014-11-12 08:42:41 +00:00
Ian Lance Taylor
327a26a3af
libgo: Update libtool support to files in current GCC trunk.
...
From-SVN: r217404
2014-11-12 03:51:36 +00:00
Andreas Tobler
cb16603e3a
eabi1.c: Replace arm*-*-*eabi* and arm*-*-symbianelf* with arm_eabi.
...
2014-11-12 Andreas Tobler <andreast@gcc.gnu.org>
* gcc.target/arm/eabi1.c: Replace arm*-*-*eabi* and arm*-*-symbianelf*
with arm_eabi.
* g++.dg/abi/arm_rtti1.C: Likewise.
* g++.dg/abi/key1.C: Likewise.
* g++.dg/ext/visibility/arm1.C: Likewise.
* g++.dg/ext/visibility/arm2.C: Likewise.
* g++.dg/ext/visibility/arm3.C: Likewise.
From-SVN: r217403
2014-11-12 04:06:14 +01:00
H.J. Lu
d300d4c4ab
Fix dump scanning in g++.dg/ipa/devirt-42.C
...
* g++.dg/ipa/devirt-42.C: Fix dump scanning for "return 2".
From-SVN: r217402
2014-11-11 18:05:06 -08:00
Jonathan Wakely
78366f5753
1.cc: Remove unused header.
...
* testsuite/experimental/optional/constexpr/observers/1.cc: Remove
unused header.
* testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
From-SVN: r217401
2014-11-12 00:34:19 +00:00
Patrick Palka
d476245d13
VRP: Simplify logic for checking if any asserts need to be inserted
...
2014-11-11 Patrick Palka <ppalka@gcc.gnu.org>
* tree-vrp.c (register_edge_assert_for_2): Change return type to
void and adjust accordingly.
(register_edge_assert_for_1): Likewise.
(register_edge_assert_for): Likewise.
(find_conditional_asserts): Likewise.
(find_switch_asserts): Likewise.
(find_assert_locations_1): Likewise.
(find_assert_locations): Likewise.
(insert_range_insertions): Inspect the need_assert_for bitmap.
From-SVN: r217400
2014-11-12 00:29:33 +00:00
GCC Administrator
6dc37e0d9d
Daily bump.
...
From-SVN: r217399
2014-11-12 00:16:31 +00:00
Jonathan Wakely
72e58f18ae
optional (_Has_addressof): Check for non-member operator&.
...
* include/experimental/optional (_Has_addressof): Check for non-member
operator&.
* testsuite/experimental/optional/observers/2.cc: Add operator&.
* testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
From-SVN: r217397
2014-11-12 00:16:19 +00:00
Jonathan Wakely
847e9cf81e
Define __void_t and SFINAE-friendly iterator_traits.
...
* include/std/type_traits (__void_t): Define new alias template.
(_GLIBCXX_HAS_NESTED_TYPE): Redefine using __void_t.
* include/std/functional (_Maybe_get_result_type): Likewise.
* include/bits/stl_iterator_base_types.h (__iterator_traits): Likewise.
* include/bits/uses_allocator.h (__uses_allocator_helper): Likewise.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error.
* testsuite/20_util/reference_wrapper/typedefs-3.cc: Adjust to changes
in _GLIBCXX_HAS_NESTED_TYPE.
From-SVN: r217395
2014-11-11 23:57:35 +00:00
Andrew Pinski
3c03d39d45
Bug target/61997
...
2014-11-11 Andrew Pinski <apinski@cavium.com>
Bug target/61997
* config.gcc (aarch64*-*-*): Set target_gtfiles to include
aarch64-builtins.c.
* config/aarch64/aarch64-builtins.c: Include gt-aarch64-builtins.h
at the end of the file.
From-SVN: r217394
2014-11-11 15:40:03 -08:00
Jonathan Wakely
f6b640be24
Make std::mem_fn work with varargs functions.
...
* include/std/functional (_Mem_fn_traits): Add partial specializations
for varargs functions.
(_Mem_fn_base): Do not check arguments are convertible for varargs.
(_Bind_check_arity): Add partial specializations for varargs functions.
* include/std/type_traits (__bool_constant): Add alias template.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error.
* testsuite/20_util/bind/refqual.cc: New, test ref-qualifiers.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/function_objects/mem_fn/refqual.cc: Test varargs.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
dg-error.
From-SVN: r217393
2014-11-11 23:38:34 +00:00
Anthony Brandon
3d00119cfb
re PR driver/36312 (should refuse to overwrite input file with output file)
...
gcc/testsuite/ChangeLog:
2014-11-11 Anthony Brandon <anthony.brandon@gmail.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
PR driver/36312
* gcc.misc-tests/output.exp: New test case for identical input and
output files.
include/ChangeLog:
2014-11-11 Anthony Brandon <anthony.brandon@gmail.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
PR driver/36312
* filenames.h: Add prototype for canonical_filename_eq.
gcc/ChangeLog:
2014-11-11 Anthony Brandon <anthony.brandon@gmail.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
PR driver/36312
* diagnostic-core.h: Add prototype for fatal_error.
* diagnostic.c (fatal_error): New function fatal_error.
* gcc.c (store_arg): Remove have_o_argbuf_index.
(process_command): Check if input and output files are the same.
* toplev.c (init_asm_output): Check if input and output files are
the same.
libiberty/ChangeLog:
2014-11-11 Anthony Brandon <anthony.brandon@gmail.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
PR driver/36312
* filename_cmp.c (canonical_filename_eq): New function to check if
file names are the same.
* functions.texi: Updated with documentation for new function.
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r217391
2014-11-11 23:33:25 +00:00
Manuel López-Ibáñez
3aa34c1d8f
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
...
libcpp/ChangeLog:
2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
* include/line-map.h (linemap_position_for_loc_and_offset):
Declare.
* line-map.c (linemap_position_for_loc_and_offset): New.
gcc/fortran/ChangeLog:
2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
* gfortran.h (warn_use_without_only): Remove.
(gfc_diagnostics_finish): Declare.
* error.c: Include tree-diagnostics.h
(gfc_format_decoder): New.
(gfc_diagnostics_init): Use gfc_format_decoder. Set default caret
char.
(gfc_diagnostics_finish): Restore tree diagnostics defaults, but
keep gfc_diagnostics_starter and finalizer. Restore default caret.
* options.c: Remove all uses of warn_use_without_only.
* lang.opt (Wuse-without-only): Add Var.
* f95-lang.c (gfc_be_parse_file): Call gfc_diagnostics_finish.
* module.c (gfc_use_module): Use gfc_warning_now_2.
* parse.c (decode_statement): Likewise.
(decode_gcc_attribute): Likewise.
(next_free): Likewise.
(next_fixed): Likewise.
gcc/testsuite/ChangeLog:
2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
* lib/gfortran-dg.exp: Update regexp to match locus and message
without caret.
* gfortran.dg/use_without_only_1.f90: Add column numbers.
* gfortran.dg/warnings_are_errors_1.f: Update.
From-SVN: r217383
2014-11-11 22:50:48 +00:00
Eric Botcazou
c256f14362
* reorg.c (fill_slots_from_thread): Do not copy frame-related insns.
...
From-SVN: r217381
2014-11-11 22:31:09 +00:00
Siva Chandra Reddy
059e92fd1a
associative-containers.cc: Add new file missed from earlier commit.
...
2014-11-11 Siva Chandra Reddy <sivachandra@google.com>
* testsuite/libstdc++-xmethods/associative-containers.cc: Add new
file missed from earlier commit.
From-SVN: r217378
2014-11-11 22:10:21 +00:00
Eric Botcazou
58926ad471
re PR target/61535 (SIGBUS in gen_group_rtx compiling 64-bit gcc.dg/vect/vect-singleton_1.c)
...
PR target/61535
* config/sparc/sparc.c (function_arg_vector_value): Deal with vectors
smaller than 8 bytes.
(sparc_function_arg_1): Tweak.
(sparc_function_value_1): Tweak.
From-SVN: r217377
2014-11-11 22:09:40 +00:00