aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-02-04sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.Eric Botcazou2-2/+7
* config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error. (RTX_OK_FOR_OLO10_P): Likewise. From-SVN: r220421
2015-02-04re PR middle-end/64824 (ICE in gimple verification)Jakub Jelinek6-1/+26
PR c/64824 PR c/64868 gcc/c/ * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR. gcc/cp/ * parser.c (cp_parser_omp_atomic): Handle RDIV_EXPR. gcc/c-family/ * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR instead of RDIV_EXPR. Use build_binary_op instead of build2_loc. libgomp/ * testsuite/libgomp.c/pr64824.c: New test. * testsuite/libgomp.c/pr64868.c: New test. * testsuite/libgomp.c++/pr64824.C: New test. * testsuite/libgomp.c++/pr64868.C: New test. From-SVN: r220420
2015-02-04* tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.Eric Botcazou2-6/+10
From-SVN: r220419
2015-02-04re PR middle-end/64922 (runtime error: member call on misaligned address for ↵Jan Hubicka6-1/+36
type 'struct _Rep') PR middle-end/64922 * gimple.c: Include gimple-ssa.h. (maybe_remove_unused_call_args): New function. * gimple.h (maybe_remove_unused_call_args): Declare. * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it. * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise. * gimple-fold.c (gimple_fold_call): Likewise. From-SVN: r220417
2015-02-04Actually check in the fixH.J. Lu2-0/+24
From-SVN: r220416
2015-02-04Clear hard frame pointer alignment if not neededH.J. Lu2-0/+11
When hard frame pointer isn't needed, the register for hard frame pointer may be reused. This patch clears alignment on hard frame pointer if hard frame pointer isn't needed. gcc/ PR rtl-optimization/64905 * lra-eliminations.c (setup_can_eliminate): Clear hard frame pointer alignment if it isn't needed. gcc/testsuite/ PR rtl-optimization/64905 * gcc.target/i386/pr64905.c: New file. From-SVN: r220414
2015-02-04[AArch64] Add support for -mcpu=cortex-a72Matthew Wahab4-5/+14
2015-02-04 Matthew Wahab <matthew.wahab@arm.com> gcc/ * config/aarch64/aarch64-cores.def: Add cortex-a72 and cortex-a72.cortex-a53. * config/aarch64/aarch64-tune.md: Regenerate. * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72". From-SVN: r220413
2015-02-04More fixes for update_web_docs_svn for jit docs (PR jit/64257)David Malcolm2-1/+7
gcc/jit/ChangeLog: PR jit/64257 * docs/conf.py (html_theme): Change from 'pyramid' to 'sphinxdoc'. maintainer-scripts/ChangeLog: PR jit/64257 * update_web_docs_svn: Update build of jit docs to use EPEL6 variant install of sphinx 1.0.8, rather than 0.6.6. From-SVN: r220412
2015-02-04pr41447-1.c: Remove xfail.Segher Boessenkool3-2/+7
* gcc.dg/guality/pr41447-1.c: Remove xfail. * gcc.dg/guality/pr41616-1.c: Ditto. From-SVN: r220411
2015-02-04fpmath-sf.S (__rl78_int_pack_a_r8): Fix edge case rounding up the fraction.Nick Clifton2-134/+239
* config/rl78/fpmath-sf.S (__rl78_int_pack_a_r8): Fix edge case rounding up the fraction. * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs inside a MEM. From-SVN: r220410
2015-02-04jit: fix typo in docsDavid Malcolm3-3/+9
gcc/jit/ChangeLog: * docs/topics/contexts.rst (gcc_jit_context_acquire): Fix typo. * docs/_build/texinfo/libgccjit.texi: Regenerate. From-SVN: r220408
2015-02-04builtins.def (DEF_BUILTIN_CHKP): Define if not defined.Jakub Jelinek3-20/+59
* builtins.def (DEF_BUILTIN_CHKP): Define if not defined. (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine. (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead of DEF_BUILTIN. (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT, BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN. (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK, BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN. * tree-core.h (enum built_in_function): In between BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values for builtins that use DEF_BUILTIN_CHKP macro. From-SVN: r220407
2015-02-04Fix signedness of compares expanding debug exprs.Alexandre Oliva4-3/+28
for gcc/ChangeLog PR debug/64817 * cfgexpand.c (expand_debug_expr): Compute unsignedp from operands for tcc_comparison exprs. Fix typos. for gcc/testsuite/ChangeLog PR debug/64817 * gcc.dg/pr64817-3.c: New. From-SVN: r220406
2015-02-04Simplify XOR of (AND or IOR) of XOR.Alexandre Oliva2-0/+37
for gcc/ChangeLog PR debug/64817 * simplify-rtx.c (simplify_binary_operation_1): Simplify one of two XORs that have an intervening AND or IOR. From-SVN: r220405
2015-02-04Avoid allocating memory when trying but failing to simplify XOR of AND.Alexandre Oliva2-5/+31
for gcc/ChangeLog PR debug/64817 * simplify-rtx.c (simplify_binary_operation_1): Rewrite simplification of XOR of AND to not allocate new rtx before committing to a simplification. From-SVN: r220404
2015-02-04[AArch64] Use std::swap instead of manually swapping in aarch64-ldpstp.mdKyrylo Tkachov2-120/+53
* config/aarch64/aarch64-ldpstp.md: Use std::swap instead of manual swaps in all peepholes. From-SVN: r220403
2015-02-04[AArch64] Use std::swap instead of manually swappingKyrylo Tkachov2-7/+8
* config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead of manual swapping implementation. (aarch64_expand_vec_perm_const_1): Likewise. From-SVN: r220402
2015-02-04[AArch64] Rid the world of NAMED_PARAM James Greenhalgh2-142/+117
gcc/ * config/aarch64/aarch64.c (NAMED_PARAM): Delete it. (generic_addrcost_table): Remove NAMED_PARAM. (cortexa57_addrcost_table): Likewise. (xgene1_addrcost_table): Likewise. (generic_regmove_table): Likewise. (cortexa53_regmove_table): Likewise. (xgene1_regmove_table): Likewise. (generic_vector_table): Likewise. (cortexa57_vector_table): Likewise. (xgene1_vector_table): Likewise. (generic_tunings): Likewise. (cortexa53_tunings): Likewise. (cortexa57_tunings): Likewise. (xgene1_tunings): Likewise. From-SVN: r220401
2015-02-04re PR target/64408 (fr30-elf ICE in extract_insn, at recog.c:2202)Nick Clifton2-2/+7
PR target/64408 * config/fr30/predicates.md (di_operand): Add SUBREG to the list of accepted codes. (nonimmediate_di_operand): Likewise. From-SVN: r220400
2015-02-04[ARM] Add support for -mcpu=cortex-a72 and -mcpu=cortex-a72.cortex-a53Matthew Wahab7-4/+31
gcc/ * config/arm/arm-cores.def: Add cortex-a72 and cortex-a72.cortex-a53. * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise. * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise. * config/arm/arm-tune.md: Regenerate. * config/arm/arm-tables.opt: Add entries for "cortex-a72" and "cortex-a72.cortex-a53". * doc/invoke.texi (ARM Options/-mtune): Likewise. From-SVN: r220399
2015-02-04Adjust pr36728-*.c for targets that pass parameters in registers.Jakub Jelinek5-0/+13
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> From-SVN: r220398
2015-02-04Minor corrections to gcc.dg/combine_ashiftrt_[12].cAlan Lawrence3-2/+13
2015-02-04 Alan Lawrence <alan.lawrence@arm.com> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * gcc.dg/combine_ashiftrt_1.c: Sort, complete and explain target list, allow for multilibed targets. * gcc.dg/combine_ashiftrt_2.c: Likewise. Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> From-SVN: r220397
2015-02-04msp430.c (msp430_use_f5_series_hwmult): Add more prefixes of known F5 using ↵Nick Clifton2-1/+11
MSP430 MCUs. * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more prefixes of known F5 using MSP430 MCUs. From-SVN: r220396
2015-02-04[AArch64] Use target builtin instead of __builtin_sqrt for vsqrt_f64Kyrylo Tkachov3-2/+8
* config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF. * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf instead of __builtin_sqrt. From-SVN: r220395
2015-02-04builtins-58.c: Check for pow at the end of words only.Segher Boessenkool3-2/+7
* gcc.dg/builtins-58.c: Check for pow at the end of words only. * gcc.dg/pr46728-6.c: Ditto. From-SVN: r220394
2015-02-04loongson-simd.c: Update comment to clarify the need for mips_nanlegacy target.Robert Suchanek2-1/+9
2015-02-04 Robert Suchanek <robert.suchanek@imgtec.com> * gcc.target/mips/loongson-simd.c: Update comment to clarify the need for mips_nanlegacy target. From-SVN: r220393
2015-02-04varasm.c (do_assemble_alias): Follow transparent alias chain for target.Ilya Enkovich4-3/+32
gcc/ * varasm.c (do_assemble_alias): Follow transparent alias chain for target. (default_assemble_visibility): Follow transparent alias chain for decl name. gcc/testsuite/ * gcc.target/i386/chkp-hidden-def.c: New. From-SVN: r220391
2015-02-04re PR middle-end/62103 (Incorrect folding of bitfield in a union on big ↵Thomas Preud'homme4-1/+36
endian targets) 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR middle-end/62103 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION to compute size of referenced value in the constant case. gcc/testsuite/ PR middle-end/62103 * gcc.c-torture/execute/bitfld-7.c: New test adapted from bitfld-6.c to use 24 bits for bitfield b. From-SVN: r220390
2015-02-04re PR testsuite/64796 (effective target bswap64 globally caches ↵Thomas Preud'homme2-11/+11
target-specific use of lp64) 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com> PR testsuite/64796 * lib/target-supports.exp (check_effective_target_bswap64): Do not cache result in a global variable. Include all 32-bit targets for bswap64 tests. From-SVN: r220388
2015-02-04Daily bump.GCC Administrator1-1/+1
From-SVN: r220387
2015-02-03intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.Steven G. Kargl2-2/+5
2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org> * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1. From-SVN: r220381
2015-02-03re PR rtl-optimization/64756 (wrong code at -O3 on x86_64-linux-gnu (in ↵Jakub Jelinek4-8/+69
32-bit mode)) PR rtl-optimization/64756 * cse.c (invalidate_dest): New function. (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record, invalidate and do not record it. * gcc.c-torture/execute/pr64756.c: New test. From-SVN: r220377
2015-02-03re PR target/64660 ([SH] Convert atomic_fetch_<op> to atomic_<op>_fetch)Oleg Endo8-21/+473
gcc/ PR target/64660 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard, atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb, atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard, atomic_nand<mode>_soft_tcb): New insns. (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split. Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused. (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split. Split into atomic_not_fetchsi_hard if operands[0] is unused. (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split. Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused. (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into atomic_not<mode>_hard if operands[0] is unused. (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa if operands[0] is unused. (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused. (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split. Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is unused. (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split into atomic_not<mode>_soft_tcb if operands[0] is unused. (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask if operands[0] is unused. (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split into atomic_not_fetch<mode>_soft_imask is operands[0] is unused. (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into atomic_nand_fetchsi_hard if operands[0] is unused. (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into atomic_nand<mode>_hard if operands[0] is unused. (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused. (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split into atomic_nand<mode>_soft_tcb if operands[0] is unused. (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused. (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split. Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused. (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into atomic_not<mode>_hard if operands[0] is unused. (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split. Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is unused. (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split into atomic_not<mode>_soft_tcb if operands[0] is unused. (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into atomic_nand<mode>_hard if operands[0] is unused. (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split into atomic_nand<mode>_soft_tcb if operands[0] is unused. gcc/testsuite/ PR target/64660 * gcc.target/sh/pr64660-0.h: New. * gcc.target/sh/pr64660-1.c: New. * gcc.target/sh/pr64660-2.c: New. * gcc.target/sh/pr64660-3.c: New. * gcc.target/sh/pr64660-4.c: New. From-SVN: r220376
2015-02-03jit: option-loggingDavid Malcolm6-2/+137
gcc/jit/ChangeLog: * jit-logging.h (gcc::jit::log_user::log): Make const. * jit-recording.c (gcc::jit::recording::context::set_str_option): Log the new value of the option. (gcc::jit::recording::context::set_int_option): Likewise. (gcc::jit::recording::context::set_bool_option): Likewise. (gcc::jit::recording::context::compile): Log the value of all options. (gcc::jit::recording::context::compile_to_file): Likewise. (gcc::jit::recording::context::log_all_options): New function. (gcc::jit::recording::context::log_str_option): New function. (gcc::jit::recording::context::log_int_option): New function. (gcc::jit::recording::context::log_bool_option): New function. * jit-recording.h (gcc::jit::recording::context::log_all_options): New function. (gcc::jit::recording::context::log_str_option): New function. (gcc::jit::recording::context::log_int_option): New function. (gcc::jit::recording::context::log_bool_option): New function. * docs/internals/test-hello-world.exe.log.txt: Update for above changes. From-SVN: r220375
2015-02-03re PR c++/64877 (strange warning message from -Waddress)Paolo Carlini4-4/+44
/cp 2015-02-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/64877 * typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings for generated expressions. /testsuite 2015-02-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/64877 * g++.dg/warn/Waddress-2.C: New. From-SVN: r220374
2015-02-03PR jit/64810: driver, arm, jit: configure-time default optionsDavid Malcolm11-58/+292
gcc/ChangeLog: PR jit/64810 * Makefile.in (GCC_OBJS): Add gcc-main.o. * gcc-main.c: New file, containing "main" taken from gcc.c. * gcc.c (do_self_spec): Free decoded_options. (class driver): Move declaration to gcc.h. (main): Move declaration and implementation to new file gcc-main.c. (driver_get_configure_time_options): New function. * gcc.h (class driver): Move this declaration here, from gcc.c. (driver_get_configure_time_options): New declaration. gcc/jit/ChangeLog: PR jit/64810 * Make-lang.in (jit_OBJS): Add jit/jit-spec.o and gcc.o. (LIBGCCJIT_FILENAME): Add EXTRA_GCC_OBJS. * jit-playback.c: Include gcc.h. (gcc::jit::playback::context::compile): Move mutex acquisition to before the call to make_fake_args. (append_arg_from_driver): New function. (gcc::jit::playback::context::make_fake_args): On the first call, call into driver_get_configure_time_options to get configure-time default options and cache them. Add them to the args for toplev::main. * jit-spec.c: New source file. * docs/internals/test-hello-world.exe.log.txt: Update to reflect above changes. From-SVN: r220373
2015-02-03ipa-inline-analysis.c (simple_edge_hints): Fix check for cross-module inlining.Jan Hubicka6-3/+33
* ipa-inline-analysis.c (simple_edge_hints): Fix check for cross-module inlining. * cgraph.h (cgraph_node): Add flag merged. * ipa-icf.c (sem_function::merge): Maintain it. * lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag. From-SVN: r220372
2015-02-03arm.c (thumb2_reorg): Test UNARY_P and BINARY_P instead of OBJECT_P.Richard Sandiford2-1/+6
gcc/ * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P instead of OBJECT_P. From-SVN: r220371
2015-02-03re PR middle-end/61225 (Several new failures after r210458 on x86_64-*-* ↵Segher Boessenkool2-1/+7
with -m32) PR middle-end/61225 gcc.target/i386/pr49095.c: XFAIL for ia32. From-SVN: r220370
2015-02-03re PR target/62631 (gcc.dg/tree-ssa/ivopts-lt-2.c FAILs)Eric Botcazou3-16/+22
PR target/62631 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS. (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL. * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set. From-SVN: r220369
2015-02-03re PR other/63504 (Issues found by --enable-checking=valgrind)Jakub Jelinek2-5/+38
PR other/63504 * combine.c (reg_n_sets_max): New variable. (can_change_dest_mode, reg_nonzero_bits_for_combine, reg_num_sign_bit_copies_for_combine, get_last_value_validate, get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max. (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max. (rest_of_handle_combine): Initialize reg_n_sets_max. From-SVN: r220368
2015-02-03PR preprocessor/64803 - __LINE__ inside macro is not constantDodji Seketeli2-0/+33
Consider the example code mentionned in this PR: $ cat -n test.c 1 #define C(a, b) a ## b 2 #define L(x) C(L, x) 3 #define M(a) goto L(__LINE__); __LINE__; L(__LINE__): 4 M(a /* --> this is the line of the expansion point of M. */ 5 ); /* --> this is the line of the end of the invocation of M. */ $ "cc1 -quiet -E test.c" yields: goto L5; 5; L4: ; Notice how we have a 'L4' there, where it should be L5. That is the issue. My understanding is that during the *second* expansion of __LINE__ (the one between the two L(__LINE__)), builtin_macro() is called by enter_macro_context() with the location of the expansion point of M (which is at line 4). Then _cpp_builtin_macro_text() expands __LINE__ into the line number of the location of the last token that has been lexed, which is the location of the closing parenthesis of the invocation of M, at line 5. So that invocation of __LINE__ is expanded into 5. Now let's see why the last invocation of __LINE__ is expanded into 4. In builtin_macro(), we have this code at some point: /* Set pfile->cur_token as required by _cpp_lex_direct. */ pfile->cur_token = _cpp_temp_token (pfile); cpp_token *token = _cpp_lex_direct (pfile); /* We should point to the expansion point of the builtin macro. */ token->src_loc = loc; The first two statements insert a new token in the stream of lexed token and pfile->cur_token[-1], is the "new" last token that has been lexed. But the location of pfile->cur_token[-1] is the same location as the location of the "previous" pfile->cur_token[-1], by courtesy of _cpp_temp_token(). So normally, in subsequent invocations of builtin_macro(), the location of pfile->cur_token[-1] should always be the location of the closing parenthesis of the invocation of M at line 5. Except that that code in master now has the statement "token->src_loc = loc;" on the next line. That statement actually sets the location of pfile->cur_token[-1] to 'loc'. Which is the location of the expansion point of M, which is on line 4. So in the subsequent call to builtin_macro() (for the last expansion of __LINE__ in L(__LINE__)), for _cpp_builtin_macro_text(), pfile->cur_token[-1].src_loc is going to have a line number of 4. I think the core issue here is that the location that is passed to builtin_macro() from enter_macro_context() is not correct when we are in presence of a top-most function-like macro invocation; in that case, that location should be the location of the closing parenthesis of the macro invocation. Otherwise, if we are in presence of a a top-most object-like macro invocation then the location passed down to builtin_macro should be the location of the expansion point of the macro. That way, in the particular case of the input code above, the location received by builtin_macro() will always have line number 5. Boostrapped and tested on x86_64-unknown-linux-gnu against trunk. libcpp/ChangeLog: * internal.h (cpp_reader::top_most_macro_node): New data member. * macro.c (enter_macro_context): Pass the location of the end of the top-most invocation of the function-like macro, or the location of the expansion point of the top-most object-like macro. (cpp_get_token_1): Store the top-most macro node in the new pfile->top_most_macro_node data member. (_cpp_pop_context): Clear the new cpp_reader::top_most_macro_node data member. gcc/testsuite/ChangeLog: * gcc.dg/cpp/builtin-macro-1.c: New test case. Signed-off-by: Dodji Seketeli <dodji@redhat.com> From-SVN: r220367
2015-02-03re PR go/64836 (go.test/test/fixedbugs/issue4348.go FAILs)Ian Lance Taylor9-101/+158
PR go/64836 PR go/64838 compiler: Use int64_t for backend type size and alignment. Fixes 32-bit host 64-bit target cross-compilation. * go-gcc.cc (Gcc_backend::type_size): Change return type to int64_t. (Gcc_backend::type_alignment): Likewise. (Gcc_backend::type_field_alignment): Likewise. (Gcc_backend::type_field_offset): Likewise. (Gcc_backend::implicit_variable): Change alignment parameter type to int64_t. From-SVN: r220364
2015-02-02re PR c++/64901 (overriding final function defined out of line does not lead ↵Ville Voutilainen3-0/+12
to an error) PR c++/64901 * decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and DECL_OVERRIDE_P. From-SVN: r220363
2015-02-03Daily bump.GCC Administrator1-1/+1
From-SVN: r220362
2015-02-02ipa-inline.c (early_inliner): Skip inlining only in always_inlined...Jan Hubicka4-2/+26
* ipa-inline.c (early_inliner): Skip inlining only in always_inlined; if some always_inline was inlined, apply changes before inlining heuristically. * g++.dg/ipa/devirt-37.C: Disable early inlining. From-SVN: r220359
2015-02-02c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after ↵Bruno Loff2-0/+6
processing enum declaration. 2015-02-02 Bruno Loff <bruno.loff@gmail.com> * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after processing enum declaration. From-SVN: r220358
2015-02-02* tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.Jason Merrill3-0/+53
From-SVN: r220356
2015-02-02[ARM/AArch64][testsuite] Add vmax, vmin, vhadd, vhsub and vrhadd tests.Christophe Lyon8-2/+364
2015-02-02 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (_ARM_FPSRC): Add DN and AHP fields. (clean_results): Force DN=1 on AArch64. * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: New file. * gcc.target/aarch64/advsimd-intrinsics/vhadd.c: New file. * gcc.target/aarch64/advsimd-intrinsics/vhsub.c: New file. * gcc.target/aarch64/advsimd-intrinsics/vmax.c: New file. * gcc.target/aarch64/advsimd-intrinsics/vmin.c: New file. * gcc.target/aarch64/advsimd-intrinsics/vrhadd.c: New file. From-SVN: r220353
2015-02-02PR jit/64810: fix for arm_option_overrideDavid Malcolm2-0/+10
gcc/ChangeLog: PR jit/64810 * config/arm/arm.c (arm_option_override): Set arm_selected_arch/cpu/tune to NULL on entry. From-SVN: r220351