Commit Graph

130108 Commits

Author SHA1 Message Date
Thomas Schwinge edbba2ceb5 Fix some bool vs. tree confusion.
gcc/c/
	* c-parser.c (c_parser_omp_target): Return bool values.
	gcc/cp/
	* parser.c (cp_parser_omp_target): Return bool values.

From-SVN: r210851
2014-05-23 13:00:31 +02:00
Jonathan Wakely d90838f96c 1.cc: Add xfail for dragonfly.
* testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
	dragonfly.
	* testsuite/30_threads/call_once/60497.cc: Add target selectors.
	* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.

From-SVN: r210850
2014-05-23 11:19:32 +01:00
Jonathan Wakely 75a8a745af re PR libstdc++/60793 (Add target *-*-dragonfly* to dg-options on 172 libstdc++ tests)
PR libstdc++/60793
	* testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
	dragonfly target selector to all tests that run on freebsd.

From-SVN: r210849
2014-05-23 11:19:20 +01:00
Paul Eggert ee526ea745 re PR other/56955 (documentation for attribute malloc contradicts itself)
2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	PR other/56955
	* doc/extend.texi (Function Attributes): Fix  __attribute__ ((malloc))
	documentation; the old documentation didn't clearly state the
	constraints on the contents of the pointed-to storage.

From-SVN: r210848
2014-05-23 10:11:03 +00:00
Richard Biener 803e4cbb22 re PR tree-optimization/61266 (FAIL: gcc.dg/Wstrict-overflow-18.c (test for bogus messages, line 20))
2014-05-23  Richard Biener  <rguenther@suse.de>

	PR testsuite/61266
	* gcc.dg/Wstrict-overflow-18.c: Revert un-XFAILing and
	adjust testcase to reflect reality.

From-SVN: r210846
2014-05-23 08:13:59 +00:00
Maxim Kuvyrkov 676cad4d97 Fix bootstrap error on ia64
* config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
	Return default value.

From-SVN: r210845
2014-05-23 07:33:24 +00:00
Thomas Preud'homme 73984f8494 re PR tree-optimization/54733 (Missing opportunity to optimize endian independent load/store)
2014-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	PR tree-optimization/54733
gcc/
	* tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
	(CMPNOP): Define.
	(find_bswap_or_nop_load): New.
	(find_bswap_1): Renamed to ...
	(find_bswap_or_nop_1): This. Also add support for memory source.
	(find_bswap): Renamed to ...
	(find_bswap_or_nop): This. Also add support for memory source and
	detection of bitwise operations equivalent to load in host endianness.
	(execute_optimize_bswap): Likewise. Also move its leading comment back
	in place and split statement transformation into ...
	(bswap_replace): This.

gcc/testsuite
	* gcc.dg/optimize-bswapdi-3.c: New test to check extension of bswap
	optimization to support memory sources and bitwise operations
	equivalent to load in host endianness.
	* gcc.dg/optimize-bswaphi-1.c: Likewise.
	* gcc.dg/optimize-bswapsi-2.c: Likewise.
	* gcc.c-torture/execute/bswap-2.c: Likewise.

From-SVN: r210843
2014-05-23 03:33:28 +00:00
Thomas Preud'homme eaa33a6a65 target-supports.exp: New effective targets for architectures capable of performing byte swap.
2014-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* lib/target-supports.exp: New effective targets for architectures
	  capable of performing byte swap.
	* gcc.dg/optimize-bswapdi-1.c: Convert to new bswap target.
	* gcc.dg/optimize-bswapdi-2.c: Likewise.
	* gcc.dg/optimize-bswapsi-1.c: Likewise.

From-SVN: r210842
2014-05-23 02:47:45 +00:00
Hans-Peter Nilsson ebfedee6d7 configure.ac [...] (HAVE_STRNLEN, [...]): Define.
* configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
	* configure: Regenerate.

From-SVN: r210841
2014-05-23 02:06:40 +00:00
Vladimir Makarov b17ec42d4c re PR rtl-optimization/61215 (ICE in gen_add2_insn, at optabs.c:4718 when building wine-1.7.19)
2014-05-22  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/61215
	* lra-elelimination.c (lra_eliminate_regs_1): Don't use
	simplify_gen_subreg until final substitution.

From-SVN: r210838
2014-05-23 01:52:01 +00:00
Alan Modra ea9364db15 re PR target/61231 (bootstrap comparision failure on powerpc64le-linux-gnu)
PR target/61231
	* config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
	* config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
	Use "Y" constraint rather than "m".

From-SVN: r210835
2014-05-23 10:47:41 +09:30
GCC Administrator bb3d4010c6 Daily bump.
From-SVN: r210834
2014-05-23 00:17:15 +00:00
Paolo Carlini 0c018b6fad re PR c++/61088 (segfault with array of lambdas initialized with initializer list that contains a lambda that captures the array)
/cp
2014-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61088
	* lambda.c (add_capture): Enforce that capture by value requires
	complete type.
	* typeck2.c (cxx_incomplete_type_inform): Early return if
	TYPE_MAIN_DECL is null.

/testsuite
2014-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61088
	* g++.dg/cpp0x/lambda/lambda-ice13.C: New.
	* g++.dg/cpp0x/lambda/lambda-ice7.C: Adjust.

From-SVN: r210829
2014-05-22 22:28:24 +00:00
Kugan Vivekanandarajah aa87aced5b aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
2014-05-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
	define.
	* config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
	New function declaration.
	* config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
	AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
	AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
	(aarch64_init_builtins) : Initialize builtins
	__builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
	__builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
	(aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
	__builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
	and __builtins_aarch64_set_fpsr.
	(aarch64_atomic_assign_expand_fenv): New function.
	* config/aarch64/aarch64.md (set_fpcr): New pattern.
	(get_fpcr) : Likewise.
	(set_fpsr) : Likewise.
	(get_fpsr) : Likewise.
	(unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
	 and UNSPECV_SET_FPSR.
	* doc/extend.texi (AARCH64 Built-in Functions) : Document
	__builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
	__builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.

From-SVN: r210828
2014-05-22 22:05:08 +00:00
Janne Blomqvist 410e3e10dd PR 60324 Handle long path names, don't use PATH_MAX.
2014-05-23  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/60324
	* runtime/string.c: Include stdlib.h.

From-SVN: r210827
2014-05-23 00:17:29 +03:00
Vladimir Makarov 0a1eb35020 re PR rtl-optimization/60969 (ICE in output_129 in MMXMOV of mode MODE_SF for march=pentium4)
2014-05-22  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/60969
	* ira-costs.c (record_reg_classes): Process NO_REGS for matching
	constraints.  Set up mem cost for NO_REGS case.

From-SVN: r210824
2014-05-22 21:09:59 +00:00
Thomas Schwinge 040d18b6ca Remove unused, and sort prototypes.
gcc/c-family/
	* c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
	Remove prototypes.
	(record_types_used_by_current_var_decl): Move prototype to where
	it belongs.

From-SVN: r210823
2014-05-22 22:22:47 +02:00
Thomas Schwinge f6a7cffce1 Cosmetic fixes for DEF_FUNCTION_TYPE_* macros.
gcc/ada/
	* gcc-interface/utils.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
	(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
	(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
	gcc/
	* builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
	gcc/c-family/
	* c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
	(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
	(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
	gcc/fortran/
	* f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
	(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
	(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
	* types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
	gcc/lto/
	* lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
	(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
	(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.

From-SVN: r210822
2014-05-22 22:16:07 +02:00
Thomas Schwinge 68c81f24be Fix copy'n'pasto.
gcc/c/
	* c-parser.c (c_parser_omp_clause_thread_limit): Rename
	num_teams_loc variable to num_thread_limit_loc.

From-SVN: r210821
2014-05-22 21:44:14 +02:00
Xinliang David Li ee91832767 Fix expected messages in test
From-SVN: r210820
2014-05-22 18:18:48 +00:00
Bernd Schmidt 4000360e40 Create a new header lto-section-names.h
gcc/
        * config/darwin.c: Include "lto-section-names.h".
        (LTO_SEGMENT_NAME): Don't define.
        * config/i386/winnt.c: Include "lto-section-names.h".
        * lto-streamer.c: Include "lto-section-names.h".
        * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
        * lto-wrapper.c: Include "lto-section-names.h".
        (LTO_SECTION_NAME_PREFIX): Don't define.
        * lto-section-names.h: New file.
        * cgraphunit.c: Include "lto-section-names.h".

        gcc/lto/
        * lto-object.c: Include "lto-section-names.h".
        (LTO_SEGMENT_NAME): Don't define.
        * lto.c: Include "lto-section-names.h".

From-SVN: r210819
2014-05-22 16:21:18 +00:00
Peter Bergner c9aee4508b htm.md (ttest): Use correct shift value to get CR0.
gcc/
	* config/rs6000/htm.md (ttest): Use correct shift value to get CR0.

gcc/testsuite/
	* gcc.target/powerpc/htm-ttest.c: New test.

From-SVN: r210815
2014-05-22 10:55:48 -05:00
Richard Earnshaw 37f2edf5c6 re PR target/61208 (armhf: generated asm code produces "branch out of range" error in gas with -Os)
PR target/61208
	* arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.

From-SVN: r210812
2014-05-22 15:38:51 +00:00
Nick Clifton 161c931207 t-msp430 (HOST_LIBGCC2_CFLAGS): Add -mhwmult=none.
* config/msp430/t-msp430 (HOST_LIBGCC2_CFLAGS): Add
	-mhwmult=none.

From-SVN: r210811
2014-05-22 15:15:36 +00:00
Nick Clifton 1ad47ee5b4 msp430.h (ASM_SPEC): Add spaces after inserted options.
* config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted
	options.

From-SVN: r210808
2014-05-22 15:09:06 +00:00
Eric Botcazou 1f9c420b7b tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P -> (T)A transformation to integer types.
* tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
	-> (T)A transformation to integer types.

From-SVN: r210807
2014-05-22 14:32:56 +00:00
Teresa Johnson e3f0315f88 gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
2014-05-22  Teresa Johnson  <tejohnson@google.com>

	* gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
	(gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
	(gcov_rewrite): Use gcov_nonruntime_assert.
	(gcov_open): Ditto.
	(gcov_write_words): Ditto.
	(gcov_write_length): Ditto.
	(gcov_read_words): Use gcov_nonruntime_assert, and remove
	gcc_assert from IN_LIBGCOV code.
	(gcov_read_summary): Use gcov_error to flag profile corruption.
	(gcov_sync): Use gcov_nonruntime_assert.
	(gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
	(gcov_histo_index): Use gcov_nonruntime_assert.
	(static void gcov_histogram_merge): Ditto.
	(compute_working_sets): Ditto.
	* gcov-io.h (gcov_nonruntime_assert): Define.
	(gcov_error): Define for !IN_LIBGCOV


	* libgcov-driver.c (gcov_error): Move declaration before gcov-io.c
	include.

From-SVN: r210805
2014-05-22 14:06:08 +00:00
Jonathan Wakely d8000f0378 re PR c/61271 (10 * possible coding error with logical not (!))
cp:
	PR c/61271
	* cp-array-notation.c (cilkplus_an_triplet_types_ok_p): Fix condition.

testsuite:
	PR c/61271
	* g++.dg/cilk-plus/AN/array_function.cc: New.

From-SVN: r210804
2014-05-22 13:17:15 +01:00
Thomas Schwinge 6aa9ea7f4c Fix test in libiberty/testsuite/demangle-expected.
libiberty/
	* testsuite/demangle-expected: Fix last commit.

From-SVN: r210803
2014-05-22 13:56:45 +02:00
Richard Biener c8f4994966 tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle BUILT_IN_REALLOC like BUILT_IN_STRDUP.
2014-05-22  Richard Biener  <rguenther@suse.de>

	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
	BUILT_IN_REALLOC like BUILT_IN_STRDUP.
	(call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
	and deallocation site.
	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
	Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
	passing through the incoming points-to set.
	(handle_lhs_call): Use flags argument instead of recomputing it.
	(find_func_aliases_for_call): Call handle_lhs_call with proper
	call return flags.

	* gcc.dg/tree-ssa/alias-33.c: New testcase.

From-SVN: r210802
2014-05-22 09:59:49 +00:00
Jakub Jelinek a822564db5 tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure all padding bits in REAL_VALUE_TYPE are cleared.
* tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
	all padding bits in REAL_VALUE_TYPE are cleared.

From-SVN: r210748
2014-05-22 09:59:32 +02:00
Maxim Kuvyrkov 4960a0cb38 Cleanup and improve multipass_dfa_lookahead_guard
* config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
	(core2i7_first_cycle_multipass_begin,)
	(core2i7_first_cycle_multipass_issue,)
	(core2i7_first_cycle_multipass_backtrack): Update signature.
	* config/ia64/ia64.c
	(ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
	(ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
	hook definition.
	(ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
	ia64_first_cycle_multipass_dfa_lookahead_guard_spec.  Update return
	values.
	* config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
	return values.
	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in
	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
	* haifa-sched.c (ready_try): Make signed to allow negative values.
	(rebug_ready_list_1): Update.
	(choose_ready): Simplify.
	(sched_extend_ready_list): Update.

From-SVN: r210747
2014-05-22 07:26:00 +00:00
Maxim Kuvyrkov 16d83dd6f8 Remove IA64 speculation tweaking flags
* config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
	speculation tuning flags.
	(msched-prefer-non-data-spec-insns,)
	(msched-prefer-non-control-spec-insns): Obsolete options.
	* haifa-sched.c (choose_ready): Remove handling of
	PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
	* sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
	and PREFER_NON_DATA_SPEC.
	* sel-sched.c (process_spec_exprs): Remove handling of
	PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.

From-SVN: r210746
2014-05-22 07:25:48 +00:00
Maxim Kuvyrkov 03bdb69f1d * MAINTAINERS: Update my affiliation/email.
From-SVN: r210745
2014-05-22 07:17:07 +00:00
Maxim Kuvyrkov 69da098bd5 Add forgotten ChangeLog entries for 2 patches.
From-SVN: r210744
2014-05-22 07:15:23 +00:00
Kostya Serebryany dee5ea7a0b libsanitizer merge from upstream r209283
From-SVN: r210743
2014-05-22 07:09:21 +00:00
Jan Hubicka b95591361e re PR lto/61012 (lto1: errors during merging of translation units (error: variable ‘link’ redeclared as function))
PR lto/61012
	* lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
	mixed with variables.

From-SVN: r210740
2014-05-22 05:38:04 +00:00
Janne Blomqvist 4269f19c09 PR 60324 Handle long path names, don't use PATH_MAX.
From-SVN: r210738
2014-05-22 06:51:25 +03:00
Maxim Kuvyrkov d5c67efda0 Improve scheduling debug output
* haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
	(advance_one_cycle): Update.
	(schedule_insn, queue_to_ready): Add debug printouts.
	(debug_ready_list_1): New static function.
	(debug_ready_list): Update.
	(max_issue): Add debug printouts.
	(dump_insn_stream): New static function.
	(schedule_block): Use it.  Also better indent printouts.

From-SVN: r210737
2014-05-22 03:51:19 +00:00
Maxim Kuvyrkov 06bc63d19f Fix sched_insn debug counter
* haifa-sched.c (schedule_insn): Update.
	(struct haifa_saved_data): Add nonscheduled_insns_begin.
	(save_backtrack_point, restore_backtrack_point): Update.
	(first_nonscheduled_insn): New static function.
	(queue_to_ready, choose_ready): Use it.
	(schedule_block): Init nonscheduled_insns_begin.
	(sched_emit_insn): Update.

From-SVN: r210736
2014-05-22 03:51:09 +00:00
Kugan Vivekanandarajah a4a182c698 aarch64.c (aarch64_regno_regclass): Change CORE_REGS to GENERAL_REGS.
2014-05-22  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
	to GENERAL_REGS.
	(aarch64_secondary_reload) : LikeWise.
	(aarch64_class_max_nregs) : Remove CORE_REGS.
	* config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
	(REG_CLASS_NAMES) : Likewise.
	(REG_CLASS_CONTENTS) : LikeWise.
	(INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.

From-SVN: r210735
2014-05-22 02:25:01 +00:00
GCC Administrator 212f0ce105 Daily bump.
From-SVN: r210733
2014-05-22 00:17:32 +00:00
François Dumont 95539f21f5 re PR libstdc++/61143 (Arithmetic exception on emplacing into unordered_map moved out)
2014-05-21  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/61143
	* include/bits/hashtable.h: Fix move semantic to leave hashtable in a
	usable state.
	* testsuite/23_containers/unordered_set/61143.cc: New.
	* testsuite/23_containers/unordered_set/modifiers/swap.cc: New.

From-SVN: r210726
2014-05-21 19:51:05 +00:00
Guozhi Wei 9652331a6b arm_neon.h (vqdmulh_n_s16): Change the last operand's constraint.
* config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
	constraint.
	(vqdmulhq_n_s16): Likewise.

From-SVN: r210725
2014-05-21 19:46:33 +00:00
Segher Boessenkool 0bfba0434a * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
From-SVN: r210724
2014-05-21 21:30:25 +02:00
Marek Polacek 1edb7356d5 re PR sanitizer/61272 ([UBSAN] ICE in is_ubsan_builtin_p(tree_node*), gcc/ubsan.c:534)
PR sanitizer/61272
	* ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.

	* g++.dg/ubsan/pr61272.C: New test.

From-SVN: r210723
2014-05-21 19:07:30 +00:00
Marek Polacek 2893958996 re PR c/61212 (gcc build failure on "dos file system" due to warnings treated as errors)
PR c/61212
	* files.c (find_file_in_dir): Add parens around &&.

From-SVN: r210722
2014-05-21 18:54:12 +00:00
Ville Voutilainen 174ebf6562 re PR c++/61133 (g++ doesn't implement DR1760)
PR c++/61133
	* lambda.c (build_capture_proxy, add_capture): Treat normal
	captures and init-captures identically.

From-SVN: r210720
2014-05-21 13:23:07 -04:00
Martin Jambor 2acb102792 invoke.texi (Optimize Options): Document parameters ipa-cp-eval-threshold...
2014-05-21  Martin Jambor  <mjambor@suse.cz>

	* doc/invoke.texi (Optimize Options): Document parameters
	ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
	ipa-cp-array-index-hint-bonus.

From-SVN: r210718
2014-05-21 18:13:41 +02:00
Mark Wielaard 7315daa681 PR debug/16063. Add DW_AT_type to DW_TAG_enumeration.
Add a new lang-hook that provides the underlying base type of an
ENUMERAL_TYPE. The default implementation will just use type_for_size.
The implementation for C++ will use the ENUM_UNDERLYING_TYPE if it exists.
Use this enum_underlying_base_type lang-hook in dwarf2out.c to add a
DW_AT_type base type reference to a DW_TAG_enumeration.

gcc/
	* dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
	version >= 3 or not strict DWARF.
	* langhooks.h (struct lang_hooks_for_types): Add
	enum_underlying_base_type.
	* langhooks.c (lhd_enum_underlying_base_type): New function.
	* gcc/langhooks.h (struct lang_hooks_for_types): Add
	enum_underlying_base_type.
	* langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
	(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.

gcc/cp/
	* cp-lang.c (cxx_enum_underlying_base_type): New function.
	(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define.

From-SVN: r210717
2014-05-21 15:44:59 +00:00