gcc/c/ChangeLog:
* c-parser.c (c_parser_alignof_expression): Capture location of
closing parenthesis (if any), or of end of unary expression, and
use it to build a src_range for the expression.
gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic-test-expressions-1.c (test_alignof):
New test function.
From-SVN: r231415
gcc/c/ChangeLog:
PR c/68757
* c-parser.c (c_parser_get_builtin_args): Add
"out_close_paren_loc" param, and write back to it.
(c_parser_postfix_expression): Capture the closing
parenthesis location for RID_CHOOSE_EXPR,
RID_BUILTIN_CALL_WITH_STATIC_CHAIN, RID_BUILTIN_COMPLEX,
RID_BUILTIN_SHUFFLE and use it to set the source range
for such expressions; within RID_BUILTIN_COMPLEX set
the underlying location.
gcc/testsuite/ChangeLog:
PR c/68757
* gcc.dg/plugin/diagnostic-test-expressions-1.c
(test_builtin_choose_expr): New test function.
(test_builtin_call_with_static_chain): Likewise.
(test_builtin_complex): Likewise.
(test_builtin_shuffle): Likewise.
From-SVN: r231414
2015-12-08 Jiong Wang <jiong.wang@arm.com>
gcc/testsuite/
* gcc.target/aarch64/got_mem_hoist_1.c (dg-skip-if): Match big-endian
as well.
From-SVN: r231413
2015-12-08 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68640
* omp-low.c (install_var_field): Clear the restrict qualifier on the var
type.
From-SVN: r231411
2015-12-08 Christophe Lyon <christophe.lyon@linaro.org>
* lib/target-supports.exp
(check_effective_target_arm_vfp_ok_nocache): New.
(check_effective_target_arm_vfp_ok): Call the new
check_effective_target_arm_vfp_ok_nocache function.
(check_effective_target_arm_fp_ok_nocache): New.
(check_effective_target_arm_fp_ok): New.
(add_options_for_arm_fp): New.
(check_effective_target_arm_crypto_ok_nocache): Require
target_arm_v8_neon_ok instead of arm32.
(check_effective_target_arm_crypto_pragma_ok_nocache): New.
(check_effective_target_arm_crypto_pragma_ok): New.
(add_options_for_arm_vfp): New.
* gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
target. Do not force -mfloat-abi=softfp, use arm_vfp effective
target instead.
* gcc.target/arm/attr-neon-builtin-fail.c: Do not force
-mfloat-abi=softfp, use arm_fp effective target instead.
* gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
dependency.
* gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
use arm_vfp effective target instead.
* gcc.target/arm/attr-neon3.c: Likewise.
From-SVN: r231403
2015-12-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
Joern Rennecke <joern.rennecke@embecosm.com>
gcc/testsuite/
* gcc.dg/torture/stackalign/builtin-return-1.c: Add an
inline assembly read to make sure dummy is not optimized
away by LTO.
Co-Authored-By: Joern Rennecke <joern.rennecke@embecosm.com>
From-SVN: r231401
PR c++/68683
* constraint.cc (satisfy_argument_deduction_constraint): Set
TYPE_CANONICAL to NULL_TREE if PLACEHOLDER_TYPE_CONSTRAINTS are
changed.
From-SVN: r231385
2015-12-07 Steve Ellcey <sellcey@imgtec.com>
* reorg.c (optimize_skip): Do not put frame related instructions
in annulled delay slots.
(steal_delay_list_from_target): Ditto.
(fill_slots_from_thread): Ditto.
From-SVN: r231382
PR c++/68464
* cp-gimplify.c (cp_fold): Don't assume X has TREE_TYPE.
(cp_genericize): Don't do cp_fold_r here.
(cp_fold_function): New.
* cp-tree.h: Declare it.
* decl.c (finish_function): Call it and the pre-genericize plugin
before NRV processing.
From-SVN: r231381
gcc/testsuite/
* lib/g++.exp: Also find -std list in GXX_TESTSUITE_STDS
environment variable.
gcc/cp/
* Make-lang.in (check-c++1z, check-c++-all): Use GXX_TESTSUITE_STDS.
From-SVN: r231379
PR c/68668
* c-decl.c (grokdeclarator): If ORIG_QUAL_INDIRECT is indirect, use
TREE_TYPE of ORIG_QUAL_TYPE, otherwise decrement ORIG_QUAL_INDIRECT.
* gcc.dg/pr68668.c: New test.
From-SVN: r231374
PR middle-end/68291
PR middle-end/68292
* cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for
SSA names based on RESULT_DECLs.
* function.c (expand_function_start): Do not create BLKmode REGs
for GIMPLE registers when coalescing is enabled.
From-SVN: r231372
gcc/c-family/ChangeLog:
* c-common.c (c_cpp_error): Update for change to
rich_location::set_range.
gcc/fortran/ChangeLog:
* error.c (gfc_format_decoder): Update for change of
text_info::set_range to text_info::set_location.
gcc/ChangeLog:
* pretty-print.c (text_info::set_range): Rename to...
(text_info::set_location): ...this, converting 2nd param
from source_range to a location_t.
* pretty-print.h (text_info::set_location): Convert
from inline function to external definition.
(text_info::set_range): Delete.
gcc/testsuite/ChangeLog:
* gcc.dg/diagnostic-ranges-1.c: New test file.
* gcc.dg/plugin/diagnostic-test-show-locus-bw.c
(test_percent_q_plus_d): New test function.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Rewrite test code using
rich_location::set_range. Add code to unit-test the "%q+D"
format code.
libcpp/ChangeLog:
* include/line-map.h (rich_location::set_range): Add line_maps *
param; convert param from source_range to source_location. Drop
"overwrite_loc_p" param.
* line-map.c (rich_location::set_range): Likewise, acting as if
"overwrite_loc_p" were true, and getting range from the location.
From-SVN: r231367