1. 07 Dec, 2015 15 commits
  2. 06 Dec, 2015 9 commits
    • re PR ada/60164 (Missing parenthesis in the documentation) · 8b1cbdab
      	PR ada/60164
      	* doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Fix typo.
      
      From-SVN: r231342
      Piotr Trojanek committed
    • re PR ada/50048 ("cc1: note: obsolete option -I- used, please use -iquote… · e4b2093f
      re PR ada/50048 ("cc1: note: obsolete option -I- used, please use -iquote instead" during bootstrap)
      
      gnattools/
      	PR ada/50048
      	* Makefile.in (ftop_srcdir): New variable.
      	(INCLUDES_FOR_SUBDIR): Use -iquote and $(ftop_srcdir).
      gcc/ada/
      	PR ada/50048
      	* gcc-interface/Makefile.in (INCLUDES): Use -iquote.
      
      From-SVN: r231341
      Eric Botcazou committed
    • support for AMD clzero isa. · 62e56a0d
      gcc/ChangeLog
      2015-12-06  Victoria Stepanyan  <victoria.stepanyan@amd.com>
      
              * common/config/i386/i386-common.c
              (OPTION_MASK_ISA_CLZERO_SET): New.
              (ix86_handle_option): Handle clzero.
              * config.gcc (i[34567]86-*-*): Add clzerointrin.h,
              (x86_64-*-*): Likewise.
              * config/i386/clzerointrin.h: New header.
              * config/i386/cpuid.h (bit_CLZERO):  Define.
              * config/i386/driver-i386.c (host_detect_local_cpu): Detect
              CLZERO support.
              * config/i386/i386.opt (clzero): New.
              * config/i386/i386-c.c: Define __CLZERO__ if needed.
              * config/i386/i386.c (ix86_target_string): Define -mclzero option.
              (PTA_CLZERO): New.
              (ix86_option_override_internal): Handle new option.
              (processor_alias_table): Added PTA_CLZERO.
              (ix86_valid_target_attribute_inner_p): Add OPT_mclzero.
              (ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO.
              (ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and
              IX86_BUILTIN_CLZERO  built-ins.
              * config/i386/i386.h (TARGET_CLZERO):  New.
              * config/i386/i386.md (unspecv): Add UNSPEC_CLZERO.
              (clzero):  New pattern.
              (clzero_<mode>): New pattern.
              * config/i386/x86intrin.h: Include clzerointrin.h.
              * doc/extend.texi: Document clzero builtins.
              * doc/invoke.texi: Document -mclzero option.
      
      gcc/testsuite/ChangeLog
      2015-12-06  Victoria Stepanyan  <victoria.stepanyan@amd.com>
      
              * gcc.target/i386/clzero.c: New.
              * gcc.target/i386/sse-12.c: Add -mclzero.
              * gcc.target/i386/sse-13.c: Ditto.
              * gcc.target/i386/sse-14.c: Ditto.
              * gcc.target/i386/sse-22.c: Ditto.
              * gcc.target/i386/sse-23.c: Ditto.
              * g++.dg/other/i386-2.C: Ditto.
              * g++.dg/other/i386-3.C: Ditto.
      
      From-SVN: r231340
      Victoria Stepanyan committed
    • re PR ada/56274 (libada bootstrap failure on kfreebsd ("pthread_rwlock_t" not… · 2097a890
      re PR ada/56274 (libada bootstrap failure on kfreebsd ("pthread_rwlock_t" not declared in "OS_Interface"))
      
      	PR ada/56274
      	* s-osinte-kfreebsd-gnu.ads (pthread_rwlock_t): New subtype.
      	(pthread_rwlockattr_t): Likewise.
      
      From-SVN: r231337
      Eric Botcazou committed
    • re PR ada/49944 (Bootstrapping on x86_64-pc-kfreebsd-gnu fails with… · 928b5b52
      re PR ada/49944 (Bootstrapping on x86_64-pc-kfreebsd-gnu fails with "s-taprop.adb:856:10: "pthread_attr_setaffinity_np" is undefined (more references follow)")
      
      	PR ada/49944
      	* s-osinte-freebsd.ads: Minor reformatting.
      	(Stack_Base_Available): Correct comments.
      	* s-osinte-kfreebsd-gnu.ads (Time_Slice_Supported, nanosleep,
      	clock_id_t, clock_gettime, Stack_Base_Available, Get_Page_Size,
      	mprotect, pthread_mutexattr_setprotocol,pthread_mutexattr_getprotocol
      	pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling,
      	pthread_attr_setscope, pthread_attr_getscope,
      	pthread_attr_setinheritsched, pthread_attr_getinheritsched,
      	Time_Slice_Supported): Copy from s-osinte-freebsd.ads.
      	* gcc-interface/Makefile.in (x86/kfreebsd): Use the POSIX version of
      	the System.Task_Primitives.Operations package.
      
      From-SVN: r231333
      Ludovic Brenta committed
    • re PR ada/49940 (Bootstrapping on x86_64-pc-kfreebsd-gnu fails with… · f1b76208
      re PR ada/49940 (Bootstrapping on x86_64-pc-kfreebsd-gnu fails with "s-taprop.adb:717:32: "lwp_self" is undefined")
      
      	PR ada/49940
      	* s-osinte-kfreebsd-gnu.ads (lwp_self): New imported function.
      
      From-SVN: r231330
      Ludovic Brenta committed
    • download_prerequisites: Download ISL 0.15 instead of 0.14. · f78590bb
      2015-12-06  Tobias Burnus  <burnus@net-b.de>
      
              * download_prerequisites: Download ISL 0.15 instead of 0.14.
      
      From-SVN: r231329
      Tobias Burnus committed
    • Daily bump. · c7eea75b
      From-SVN: r231326
      GCC Administrator committed
  3. 05 Dec, 2015 5 commits
  4. 04 Dec, 2015 11 commits
    • check that all the scev applied ops have are dominated by their defs · e7b9f153
      2015-12-02  Aditya Kumar  <aditya.k7@samsung.com>
      	    Sebastian Pop  <s.pop@samsung.com>
      
              * gcc.dg/graphite/id-29.c: New test.
      
      gcc/ChangeLog:
      
      2015-12-02  Aditya Kumar  <aditya.k7@samsung.com>
      	    Sebastian Pop  <s.pop@samsung.com>
      
              * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): Improve debug.
              (get_rename_from_scev): Check that all the ops in an expression have their uses dominated by corresponding defs.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r231310
      Aditya Kumar committed
    • fix PR68693: Check for loop structure when extending the SCoP · 15256e28
      The check for dominance while extending the scop assumed that
      multiple successors meant a loop which is not true in case of
      conditionals around the loop.
      
      Improved pretty printers for better debugging.
      
      	PR tree-optimization/68693
              * graphite-scop-detection.c (dot_all_sese): New
              (dot_all_scops_1): Renamed to dot_all_sese.
              (dot_all_scops): Removed.
              (dot_sese): New.
              (dot_cfg): New.
              (scop_detection::get_nearest_dom_with_single_entry): Check that preds are from different loop levels.
              (scop_detection::get_nearest_pdom_with_single_exit): Check that succs are from different loop levels.
              (scop_detection::print_sese): Inlined.
              (scop_detection::print_edge): New.
              (scop_detection::merge_sese): Added dumps.
              * graphite.h: Add declarations.
      
      gcc/testsuite/ChangeLog:
      
              * gfortran.dg/graphite/pr68693.f90: New test.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r231309
      Aditya Kumar committed
    • [AArch64] Add register constraints to add<mode>3_pluslong · bdf58480
      gcc/
      
      2015-12-04  James Greenhalgh  <james.greenhalgh@arm.com>
      
      	* config/aarch64/aarch64.md (add<mode>3_pluslong): Add register
      	constraints.
      
      gcc/testsuite/
      
      2015-12-04  James Greenhalgh  <james.greenhalgh@arm.com>
      
      	* gcc.c-torture/compile/20151204.c: New.
      
      From-SVN: r231304
      James Greenhalgh committed
    • * gcc.dg/vla-24.c: Requires alloca. · 2331aa00
      From-SVN: r231303
      Nathan Sidwell committed
    • re PR rtl-optimization/68349 (ice in decompose_normal_address with -O2 at rtlanal.c:6086) · 18c8f1a8
      2015-12-04  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/68349
      	* lra-eliminations.c (move_plus_up): New function.
      	(lra_eliminate_regs_1): Use the function.
      
      2015-12-04  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/68349
      	* gcc.target/i386/pr68349.c: New test.
      
      From-SVN: r231300
      Vladimir Makarov committed
    • nvptx.c (nvptx_assemble_decl_begin): New, replacing ... · 4ff3145a
      	gcc/
      	* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): New,
      	replacing ...
      	(init_output_initializer): ... this.
      	(nvptx_output_aligned_decl, nvptx_asm_declare_constant_name,
      	nvptx_declare_object_name, nvptx_assemble_undefined_decl): Use
      	nvptx_assemble_decl_begin.
      
      	gcc/testsuite/
      	* gcc.target/nvptx/ary-init.c: New.
      
      From-SVN: r231298
      Nathan Sidwell committed
    • Add fuzzing coverage support · 95e7bbb8
      	* sancov.c: New file.
      	* Makefile.in (OBJS): Add sancov.o.
      	* invoke.texi (-fsanitize-coverage=trace-pc): Describe.
      	* passes.def (sancov_pass): Add.
      	* tree-pass.h  (sancov_pass): Add.
      	* common.opt (-fsanitize-coverage=trace-pc): Add.
      	* sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_PC): Add.
      	* builtins.def (DEF_SANITIZER_BUILTIN): Enable for
      	flag_sanitize_coverage.
      
      From-SVN: r231296
      Dmitry Vyukov committed
    • re PR middle-end/65958 (-fstack-check breaks alloca on architectures using generic stack checking) · f58101cf
      	PR middle-end/65958
      	* config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
      	(unspecv): Add VUNSPEC_PROBE_STACK_RANGE.
      	* config/arm/arm.md (probe_stack_range): Adjust.
      	* config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
      	(unspecv): Add UNSPECV_PROBE_STACK_RANGE.
      	(probe_stack_range_<PTR:mode>): Adjust.
      
      From-SVN: r231295
      Eric Botcazou committed
    • re PR c++/68645 (FAIL: c-c++-common/attr-simd-3.c -std=gnu++11 (test for excess errors)) · f0a7c00b
      	PR c++/68645
      	* parser.c (cp_parser_direct_declarator)
      	(cp_parser_late_return_type_opt): Put Cilk+ attributes on
      	declarator->attributes, not std_attributes.
      
      From-SVN: r231294
      Jason Merrill committed
    • C++ FE: expression ranges · e87eed2a
      gcc/ChangeLog:
      	* convert.c (convert_to_real_1): When converting from a
      	REAL_TYPE, preserve the location of EXPR in the result.
      	* tree.c (get_pure_location): Make non-static.
      	(set_source_range): Return the resulting location_t.
      	(make_location): New function.
      	* tree.h (get_pure_location): New decl.
      	(get_finish): New inline function.
      	(set_source_range): Convert return type from void to location_t.
      	(make_location): New decl.
      
      gcc/cp/ChangeLog:
      	* cp-tree.h (class cp_expr): New class.
      	(finish_parenthesized_expr): Convert return type and param to
      	cp_expr.
      	(perform_koenig_lookup): Convert return type and param from tree
      	to cp_expr.
      	(finish_increment_expr): Likewise.
      	(finish_unary_op_expr): Likewise.
      	(finish_id_expression): Likewise for return type.
      	(build_class_member_access_expr): Likewise for param.
      	(finish_class_member_access_expr): Likewise.
      	(build_x_unary_op): Likewise.
      	(build_c_cast): New decl.
      	(build_x_modify_expr): Convert return type from tree to cp_expr.
      	* cvt.c (cp_convert_and_check): When warning about conversions,
      	attempt to use the location of "expr" if available, otherwise
      	falling back to the old behavior of using input_location.
      	* name-lookup.c (lookup_arg_dependent_1): Convert return type from
      	tree to cp_expr.
      	(lookup_arg_dependent): Likewise; also for local "ret".
      	* name-lookup.h (lookup_arg_dependent): Likewise for return type.
      	* parser.c (cp_lexer_previous_token): Skip past purged tokens.
      	(struct cp_parser_expression_stack_entry): Convert field "lhs" to
      	cp_expr.
      	(cp_parser_identifier): Likewise for return type.  Use cp_expr
      	ctor to preserve the token's location.
      	(cp_parser_string_literal): Likewise, building up a meaningful
      	location for the case where a compound string literal is built by
      	concatentation.
      	(cp_parser_userdef_char_literal): Likewise for return type.
      	(cp_parser_userdef_numeric_literal): Likewise.
      	(cp_parser_statement_expr): Convert return type to cp_expr.
      	Generate a suitable location for the expr and return it via the
      	cp_expr ctor.
      	(cp_parser_fold_expression): Convert return type to cp_expr.
      	(cp_parser_primary_expression): Likewise, and for locals "expr",
      	"lam", "id_expression", "decl".
      	Use cp_expr ctor when parsing literals, to preserve the spelling
      	location of the token.  Preserve the locations of parentheses.
      	Preserve location when calling objc_lookup_ivar.
      	Preserve the location for "this" tokens.  Generate suitable
      	locations for "__builtin_va_arg" constructs and for
      	Objective C 2.0 dot-syntax.  Set the location for the result of
      	finish_id_expression.
      	(cp_parser_primary_expression): Convert return type from tree to
      	cp_expr.
      	(cp_parser_id_expression): Likewise.
      	(cp_parser_unqualified_id): Likewise.  Also for local "id".
      	(cp_parser_postfix_expression): Likewise, also for local
      	"postfix_expression".  Generate suitable locations for
      	C++-style casts, "_Cilk_spawn" constructs.  Convert local
      	"initializer" to cp_expr and use it to preserve the location of
      	compound literals.  Capture the location of the closing
      	parenthesis of a call site via
      	cp_parser_parenthesized_expression_list, and use it to build
      	a source range for a call.  Use cp_expr in ternary expression.
      	(cp_parser_postfix_dot_deref_expression): Convert param from tree to
      	cp_expr.  Generate and set a location.
      	(cp_parser_parenthesized_expression_list): Add "close_paren_loc"
      	out-param, and write back to it.
      	(cp_parser_unary_expression): Convert return type from tree to
      	cp_expr.  Also for locals "cast_expression" and "expression".
      	Generate and use suitable locations for addresses of
      	labels and for cast expressions.  Call cp_expr::set_location where
      	necessary.  Preserve the locations of negated numeric literals.
      	(cp_parser_new_expression): Generate meaningful locations/ranges.
      	(cp_parser_cast_expression): Convert return type from tree to
      	cp_expr; also for local "expr".  Use the paren location to generate a
      	meaningful range for the expression.
      	(cp_parser_binary_expression): Convert return type from tree to
      	cp_expr; also for local "rhs".  Generate a meaningful location
      	for the expression, and use it.  Replace call to
      	protected_set_expr_location by converting a build2 to a build2_loc
      	and using the location in the call to build_x_binary_op, adding a
      	cp_expr::set_location to the latter case.
      	(cp_parser_question_colon_clause): Convert param from tree to
      	cp_expr; also for local "assignment_expr".  Set the spelling range
      	of the expression.
      	(cp_parser_assignment_expression): Likewise for return type and
      	locals "expr" and "rhs".  Build a meaningful spelling range for
      	the expression.  Remove saving of input_location in favor of a
      	call to cp_expr::set_location.
      	(cp_parser_expression): Convert return type and locals
      	"expression" and "assignment_expression" to cp_expr.  Build a
      	meaningful spelling range for assignment expressions.
      	(cp_parser_constant_expression): Likewise for return type and
      	local "expression".
      	(cp_parser_builtin_offsetof): Convert return type and local "expr"
      	to cp_expr.  Generate suitable locations.
      	(cp_parser_lambda_expression): Convert return return type to
      	cp_expr.
      	(cp_parser_operator_function_id): Likewise.
      	(cp_parser_operator): Likewise.  Generate a meaningful range,
      	using cp_expr's ctor to return it.
      	(cp_parser_template_id): When converting a token to
      	CPP_TEMPLATE_ID, update the location.
      	(cp_parser_initializer_clause): Convert return type and local
      	"initializer" to cp_expr.
      	(cp_parser_braced_list): Likewise for return type.  Generate
      	suitable locations.
      	(cp_parser_lookup_name): Likewise for return type.  Use cp_expr's
      	ctor to preserve the location_t of the name.
      	(cp_parser_simple_cast_expression): Likewise for return type.
      	(cp_parser_functional_cast): Convert return type and local "cast"
      	to cp_expr.  Generate suitable locations.
      	(cp_parser_objc_expression): Convert return type to cp_expr.k  Generate
      	(cp_parser_objc_message_expression): Generate suitable locations.
      	(cp_parser_objc_encode_expression): Convert return type to
      	cp_expr.  Generate suitable locations.
      	(cp_parser_objc_protocol_expression): Generate suitable locations.
      	(cp_parser_objc_selector_expression): Generate suitable locations.
      	(cp_parser_omp_for_cond): Attempt to use the location
      	of "cond" for the binary op.
      	(cp_parser_transaction_expression): Issue the tm-not-enabled error
      	at the location of the __transaction_foo token, rather than at
      	input_location.
      	* semantics.c (finish_parenthesized_expr): Convert return type and
      	param to cp_expr.  Preserve location.
      	(perform_koenig_lookup): Likewise for return type
      	and param.
      	(finish_increment_expr): Likewise.  Generate suitable locations.
      	(finish_unary_op_expr): Likewise for return type and local "result".
      	Generate suitable locations.
      	(finish_id_expression): Convert return type to cp_expr and use
      	cp_expr ctor to preserve location information.
      	* typeck.c (build_class_member_access_expr): Convert param to
      	cp_expr.
      	(finish_class_member_access_expr): Likewise.
      	(cp_build_binary_op): Convert a build2 to a build2_loc.
      	(build_x_unary_op): Convert param from tree to cp_expr.
      	(build_nop): Preserve the location of EXPR.
      	(build_c_cast): Provide an overloaded variant that takes a cp_expr
      	and returns a cp_expr.
      	(build_x_modify_expr): Convert return type from tree to cp_expr.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/cpp0x/nsdmi-template14.C: Move dg-error directive.
      	* g++.dg/gomp/loop-1.C: Update dg-error locations.
      	* g++.dg/plugin/diagnostic-test-expressions-1.C: New file, adapted
      	from gcc.dg/plugin/diagnostic-test-expressions-1.c.
      	* g++.dg/plugin/plugin.exp (plugin_test_list): Add the above.
      	* g++.dg/template/crash55.C: Update dg-error directives.
      	* g++.dg/template/pseudodtor3.C: Update column numbers in dg-error
      	directives.
      	* g++.dg/template/pr64100.C: Update location of dg-error
      	directive.
      	* g++.dg/template/ref3.C: Add XFAIL (PR c++/68699).
      	* g++.dg/ubsan/pr63956.C: Update dg directives to reflect
      	improved location information.
      	* g++.dg/warn/pr35635.C (func3): Update location of a
      	dg-warning.
      	* g++.dg/warn/Wconversion-real-integer2.C: Update location of
      	dg-warning; add a dg-message.
      	* obj-c++.dg/plugin/diagnostic-test-expressions-1.mm: New file,
      	based on objc.dg/plugin/diagnostic-test-expressions-1.m.
      	* obj-c++.dg/plugin/plugin.exp: New file, based on
      	objc.dg/plugin/plugin.exp.
      
      From-SVN: r231293
      David Malcolm committed
    • re PR middle-end/68656 (warning about disabled var-tracking uses odd location info) · b3d5bc62
      	PR c/68656
      	* toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of
      	input_location to inform.
      	(process_options): Use warning_at (UNKNOWN_LOCATION instead of
      	warning ( and error_at (UNKNOWN_LOCATION instead of error (.
      	Pass UNKNOWN_LOCATION instead of input_location to fatal_error.
      
      	* gcc.target/i386/pr65044.c: Expect error on line 0 rather than
      	line 1.
      	* g++.dg/opt/pr34036.C: Expect warning on line 0 rather than line 1.
      	* gcc.dg/tree-ssa/pr23109.c: Likewise.
      	* gcc.dg/tree-ssa/recip-5.c: Likewise.
      	* gcc.dg/pr33007.c: Likewise.
      
      From-SVN: r231292
      Jakub Jelinek committed