Commit Graph

108303 Commits

Author SHA1 Message Date
Paolo Carlini
a47407f631 type_traits (struct underlying_type): Add.
2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (struct underlying_type): Add.
	* testsuite/20_util/underlying_type/requirements/typedefs-1.cc: New.
	* testsuite/20_util/underlying_type/requirements/typedefs-2.cc:
	Likewise.
	* testsuite/20_util/underlying_type/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.

From-SVN: r172944
2011-04-25 23:04:16 +00:00
Paolo Carlini
a0d260fcc5 c-common.c (struct c_common_resword): Add __underlying_type.
/gcc
2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* c-family/c-common.c (struct c_common_resword): Add
	__underlying_type.
	* c-family/c-common.h (enum rid): Add RID_UNDERLYING_TYPE.

/cp
2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* cp-tree.def: Add a new UNDERLYING_TYPE tree code.
	* cp-tree.h (enum cp_trait_kind): Add CPTK_UNDERLYING_TYPE, tidy.
	(UNDERLYING_TYPE_TYPE): Add.
	* cp-objcp-common.c (cp_common_init_ts): Mark UNDERLYING_TYPE
	as TS_COMMON.
	* parser.c (cp_lexer_next_token_is_decl_specifier_keyword,
	cp_parser_simple_type_specifier): Handle UNDERLYING_TYPE.
	(cp_parser_trait_expr): Deal with RID_UNDERLYING_TYPE; tidy.
	* semantics.c (finish_underlying_type): New.
	* typeck.c (structural_comptypes): Handle UNDERLYING_TYPE.
	* error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise.
	* cxx-pretty-print.c (p_cxx_type_id): Likewise.
	* tree.c (cp_walk_subtrees): Likewise.
	* pt.c (for_each_template_parm_r, tsubst, unify,
	dependent_type_p_r): Likewise.
	* mangle.c (write_type): Sorry for __underlying_type.
	* doc/extend.texi: Document __underlying_type.

/testsuite
2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/ext/underlying_type1.C: New.
	* g++.dg/ext/underlying_type2.C: Likewise.
	* g++.dg/ext/underlying_type3.C: Likewise.
	* g++.dg/ext/underlying_type4.C: Likewise.
	* g++.dg/ext/underlying_type5.C: Likewise.
	* g++.dg/ext/underlying_type6.C: Likewise.
	* g++.dg/ext/underlying_type7.C: Likewise.
	* g++.dg/ext/underlying_type8.C: Likewise.
	* g++.dg/ext/underlying_type9.C: Likewise.
	* g++.dg/ext/underlying_type10.C: Likewise.

From-SVN: r172943
2011-04-25 22:27:19 +00:00
Jason Merrill
d95f258e90 re PR c++/48707 ([c++0x] ICE initializing static const int)
PR c++/48707
	* decl.c (type_dependent_init_p): New.
	(cp_finish_decl): Check it.
	* pt.c (any_type_dependent_elements_p): New.
	* cp-tree.h: Declare it.

From-SVN: r172941
2011-04-25 17:51:33 -04:00
Segher Boessenkool
4d583bb9fc titan.md (automata_option "progress"): Remove.
2011-04-25  Segher Boessenkool  <segher@kernel.crashing.org>

        * config/rs6000/titan.md (automata_option "progress"): Remove.

From-SVN: r172940
2011-04-25 22:00:02 +02:00
Jeff Law
f49ad34456 Typo in test
From-SVN: r172939
2011-04-25 13:59:46 -06:00
Jeff Law
1f3fcdc3a9 tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
* tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.

	* gcc.dg/tree-ssa/vrp56.c: new test.

From-SVN: r172938
2011-04-25 13:55:13 -06:00
Rainer Orth
328db4501e * go.test/go-test.exp (go-set-goarch): Accept mips*-*-*.
From-SVN: r172937
2011-04-25 19:44:48 +00:00
Ian Lance Taylor
eb864be48f libgo/time: Support Irix 6 location of zoneinfo files.
From-SVN: r172936
2011-04-25 19:42:33 +00:00
Ian Lance Taylor
9f3b1e6c60 libgo: Irix 6 patches.
From Rainer Orth.

From-SVN: r172935
2011-04-25 19:36:12 +00:00
Jan Kratochvil
e5b0dad8fd ansidecl.h (ENUM_BITFIELD): New, from gcc/system.h.
include/
	* ansidecl.h (ENUM_BITFIELD): New, from gcc/system.h.

contrib/
	* paranoia.cc (ENUM_BITFIELD): Remove.

gcc/
	* system.h (ENUM_BITFIELD): Remove.

libcpp/
	* system.h (ENUM_BITFIELD): Remove.

From-SVN: r172933
2011-04-25 18:05:37 +00:00
Ian Lance Taylor
482829acf2 Use backend interface for function types.
Drop type_tree() functions for Float_type and Complex_type.
Don't define builtin functions until gogo is created.

	* go-gcc.cc (Gcc_backend::error_type): Implement.
	(Gcc_backend::string_type): Remove.
	(Gcc_backend::function_type): Change signature and implement.
	(Gcc_backend::struct_type): Change signature.
	(Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
	(Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
	(Gcc_backend::pointer_type): Check for error.
	* Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.

From-SVN: r172932
2011-04-25 17:21:28 +00:00
Evan Shaw
0aa5e7f22a Use backend interface for basic types
* go-gcc.c (class Gcc_tree): Make get_tree const.
	(Gcc_backend::void_type): Implement.
	(Gcc_backend::bool_type): Implement.
	(Gcc_backend::integer_type): Implement.
	(Gcc_backend::float_type): Implement.
	(Gcc_backend::complex_type): New function.
	(Gcc_backend::pointer_type): New function.
	(Gcc_backend::make_type): New function.
	(type_to_tree): New function.

From-SVN: r172931
2011-04-25 16:39:24 +00:00
Maxim Kuvyrkov
5157a881bb combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals for STORE_FLAG_VALUE==-1 case.
* combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
	for STORE_FLAG_VALUE==-1 case.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r172930
2011-04-25 12:06:27 +00:00
GCC Administrator
0c289711f3 Daily bump.
From-SVN: r172929
2011-04-25 00:18:21 +00:00
Paolo Carlini
6b77089f40 multiway_merge.h: Uglify equally_split and equally_split_point throughout.
2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/multiway_merge.h: Uglify equally_split
	and equally_split_point throughout.
	* include/parallel/par_loop.h: Likewise.
	* include/parallel/equally_split.h: Likewise.
	* include/parallel/set_operations.h: Likewise.
	* include/parallel/unique_copy.h: Likewise.
	* include/parallel/multiway_mergesort.h: Likewise.
	* include/parallel/search.h: Likewise.
	* include/parallel/partial_sum.h: Likewise.
	* include/parallel/find.h: Likewise.

From-SVN: r172923
2011-04-24 23:51:49 +00:00
Richard Sandiford
ed4c109ee8 Author: Richard Sandiford <richard.sandiford@linaro.org>
PR target/43804
* gcc/config/m68k/constraints.md (T): Allow PIC operands that satisfy
LEGITIMATE_PIC_OPERAND_P.

From-SVN: r172920
2011-04-24 20:04:24 +00:00
Gerald Pfeifer
8179f67493 parallel_mode.xml: Fix link to libgomp online documentation.
* doc/xml/manual/parallel_mode.xml: Fix link to libgomp online
	documentation.  Expand link text.

From-SVN: r172916
2011-04-24 11:11:00 +00:00
Gerald Pfeifer
f172dd9af9 * libsupc++/cxxabi.h: Adjust link to FAQ entry.
From-SVN: r172915
2011-04-24 10:51:00 +00:00
Jan Hubicka
f3181aa202 ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette WPA hack.
* ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
	WPA hack.
	* ipa-prop.h (ipa_get_param, ipa_is_param_used, ipa_param_cannot_devirtualize_p,
	ipa_param_types_vec_empty, ipa_get_ith_jump_func, ipa_get_lattice):
	Fortify array bounds.
	* ipa-inline-analysis.c (add_clause): Fix clause ordering.
	(and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
	Sanity check predicate length.
	(remap_predicate): Likewise; sanity check jump functions.
	(inline_read_section, inline_write_summary): Sanity check
	predicate length.

From-SVN: r172914
2011-04-24 10:43:00 +00:00
Gerald Pfeifer
739986ef4a * README: Refer to our generic bug reporting page.
From-SVN: r172913
2011-04-24 10:04:26 +00:00
Paolo Carlini
5307cbaa75 re PR other/48748 (Undocumented type traits used in libstdc++-4.6)
2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR other/48748
	* doc/extend.texi (Type Traits): Document __is_standard_layout,
	__is_literal_type, and __is_trivial; update throughout about
	possibly cv-qualified void types.

From-SVN: r172911
2011-04-24 09:42:16 +00:00
Gerald Pfeifer
bebd5f993c sourcebuild.texi (Ada Tests): Adjust reference to ACATS testsuite and make it version agnostic.
* doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
	testsuite and make it version agnostic.

From-SVN: r172910
2011-04-24 09:34:22 +00:00
GCC Administrator
2cf63542d1 Daily bump.
From-SVN: r172909
2011-04-24 00:18:45 +00:00
Jakub Jelinek
6cfae07011 re PR preprocessor/48740 (Raw C++0x strings and trigraphs mix badly)
PR preprocessor/48740
	* lex.c (lex_raw_string): When raw string ends with
	??) followed by raw prefix and ", ensure it is preprocessed
	with ??) rather than ??].

	* c-c++-common/raw-string-11.c: New test.

From-SVN: r172903
2011-04-24 01:32:09 +02:00
Gerald Pfeifer
8d6a2f6968 gnat_ugn.texi (Complexity Metrics Control): Update link to the Watson/McCabe paper.
* gnat_ugn.texi (Complexity Metrics Control): Update link to
	the Watson/McCabe paper.

From-SVN: r172902
2011-04-23 19:55:32 +00:00
John David Anglin
d2b897f4b5 pr48616.c (dg-options): Add -fno-common to options on hppa*-*-hpux*.
* gcc.dg/pr48616.c (dg-options): Add -fno-common to options on
	hppa*-*-hpux*.

From-SVN: r172899
2011-04-23 17:44:24 +00:00
Jan Hubicka
7ee28a7471 * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
From-SVN: r172898
2011-04-23 11:37:26 +00:00
Tobias Burnus
c49eaa233a re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * module.c (mio_array_spec): Set as->cotype on reading.
        * resolve.c (resolve_allocate_expr): Fix allocating coarray
        components.

2011-04-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_19.f90: New.

From-SVN: r172897
2011-04-23 12:26:38 +02:00
Jakub Jelinek
16997bc011 re PR c/48685 (ICE in gimplify_expr, at gimplify.c:7034)
PR c/48685
	* fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
	to VOID_TYPE even around MODIFY_EXPR.

	* gcc.dg/pr48685.c: New test.

From-SVN: r172895
2011-04-23 12:18:03 +02:00
Uros Bizjak
ff9419990b Revert:
2011-04-22  Uros Bizjak  <ubizjak@gmail.com>

	PR target/48723
	* config/i386/i386.c (ix86_expand_prologue): Update m->fs.sp_offset
	after the call to ix86_adjust_stack_and_probe.

From-SVN: r172894
2011-04-23 09:43:50 +02:00
Jim Meyering
770937fd6c * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
From-SVN: r172892
2011-04-23 06:48:29 +00:00
Mike Stump
906876b012 Remove Dale Johannesen as darwin maintainer, invalid address.
From-SVN: r172891
2011-04-23 00:41:32 +00:00
Mike Stump
1a84c18319 * gensupport.c (read_md_rtx): Fix typo in comment.
From-SVN: r172890
2011-04-23 00:33:15 +00:00
GCC Administrator
cf693f4304 Daily bump.
From-SVN: r172889
2011-04-23 00:18:45 +00:00
Mike Stump
f94d4ab1f6 cris.opt (moverride-best-lib-options): Fix typo in comment.
* config/cris/cris.opt (moverride-best-lib-options): Fix typo in
	comment.

From-SVN: r172884
2011-04-23 00:16:55 +00:00
Ian Lance Taylor
549dd8fe83 re PR go/48553 (fmt FAILs on 32-bit Solaris 2 with stack overflow)
PR go/48553
libgo: Bring over patch to lower recursion depth in fmt.

From-SVN: r172883
2011-04-23 00:09:23 +00:00
Ian Lance Taylor
8c0d18659b Define go_unreachable to replace gcc_unreachable.
From Evan Shaw.

From-SVN: r172882
2011-04-23 00:04:44 +00:00
Jan Hubicka
632b4f8e8b gengtype.c (open_base_files): Add ipa-inline.h include.
* gengtype.c (open_base_files): Add ipa-inline.h include.
	* ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to ipa-prop.c
	update all uses.
	* ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
	* ipa-inline-transform.c (inline_call): Use inline_merge_summary to merge
	summary of inlined function into former caller.
	* ipa-inline.c (max_benefit): Remove.
	(edge_badness): Compensate for removal of benefits.
	(update_caller_keys): Use reset_node_growth_cache/reset_edge_growth_cache.
	(update_callee_keys): Likewise.
	(update_all_callee_keys): Likewise.
	(inline_small_functions): Do not collect max_benefit; do not
	reset stimated_growth; call free_growth_caches and initialize_growth_caches.
	* ipa-inline.h (struct condition, type clause_t, struct predicate, struct
	size_time_entry): New structures.
	(INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
	(inline_summary): Remove size_inlining_benefit, time_inlining_benefit and
	estimated_growth.
	(edge_growth_cache_entry): New structure.
	(node_growth_cache, edge_growth_cache): New global vars.
	(estimate_growth): Turn into inline.
	(inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
	initialize_growth_caches, free_growth_caches): Declare.
	(estimate_edge_growth): Rewrite.
	(estimate_edge_time): Implement as inline cache lookup.
	(reset_node_growth_cache, reset_edge_growth_cache): New inline functions.
	(MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
	(NUM_CONDITIONS): New constant.
	(predicate_conditions): New enum.
	(IS_NOT_CONSTANT): New constant.
	(edge_removal_hook_holder): New var.
	(node_growth_cache, edge_growth_cache): New global vars.
	(true_predicate, single_cond_predicate, false_predicate, not_inlined_predicate,
	add_condition, add_clause, and_predicates, or_predicates, predicates_equal_p,
	evaulate_predicate, dump_condition, dump_clause, dump_predicate, account_size_time,
	evaulate_conditions_for_edge): New functions.
	(inline_summary_alloc): Move to heap.
	(inline_node_removal_hook): Clear condition and entry vectors.
	(inline_edge_removal_hook): New function.
	(initialize_growth_caches, free_growth_caches): New function.
	(dump_inline_summary): Update.
	(edge_execution_predicate): New function.
	(will_be_nonconstant_predicate): New function.
	(estimate_function_body_sizes): Compute BB and constantness predicates.
	(compute_inline_parameters): Do not clear estimated_growth.
	(estimate_edge_size_and_time): New function.
	(estimate_calls_size_and_time): New function.
	(estimate_callee_size_and_time): New function.
	(remap_predicate): New function.
	(inline_merge_summary): New function.
	(do_estimate_edge_time): New function based on...
	(estimate_edge_time): ... this one.
	(do_estimate_edge_growth): New function.
	(do_estimate_growth): New function based on....
	(estimate_growth): ... this one.
	(inline_analyze_function): Analyze after deciding on jump functions.
	(inline_read_section): New function.
	(inline_read_summary): Use it.
	(inline_write_summary): Write all the new data.
	* ipa-prop.c (ipa_get_param_decl_index): Export.
	(ipa_lattice_from_jfunc): Move here from ipa-cp.c
	* ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc): Declare.
	(ipa_get_lattice): Move hre from ipa-cp.c
	* Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
	* params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
	* cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
	cgraph_edge_inlinable_p): Remove.
	* cgraphunit.c: Include ipainline.h
	(cgraph_process_new_functions): Update call of compute_inline_parameters.

	* gcc.dg/tree-ssa/pr38699.c: Fix testcase.

From-SVN: r172873
2011-04-22 20:04:42 +00:00
François Dumont
0cfbd28838 libstdc++.exp (check_v3_target_time): Discard unused compilation result thanks to /dev/null.
2011-04-22  François Dumont  <francois.cppdevs@free.fr>

        * testsuite/lib/libstdc++.exp (check_v3_target_time): Discard
        unused compilation result thanks to /dev/null.
        * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode
        check_v3_target_profile_mode check_v3_target_normal_mode
        check_v3_target_cstdint check_v3_target_cmath
        check_v3_target_atomic_builtins check_v3_target_gthreads
        check_v3_target_nanosleep check_v3_target_sched_yield
        check_v3_target_string_conversions check_v3_target_swprintf
        check_v3_target_binary_io): Use simple preprocessing rather than
        compilation. Discard unused preprocessing result thanks to /dev/null.

From-SVN: r172872
2011-04-22 19:34:38 +00:00
Richard Guenther
1df5b0db1c tree.c (build_int_cst): Properly create canonicalized integer constants.
2011-04-22  Richard Guenther  <rguenther@suse.de>

	* tree.c (build_int_cst): Properly create canonicalized integer
	constants.
	(build_int_cst_type): Remove scary comments.

From-SVN: r172871
2011-04-22 19:29:54 +00:00
Xinliang David Li
ae01169c69 Proper handling of -Werror=coverage-mismatch
From-SVN: r172870
2011-04-22 19:11:49 +00:00
Jakub Jelinek
93dfac24ad re PR tree-optimization/48717 (integer wrong code bug)
PR tree-optimization/48717
	* tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
	~A + A optimizations use build_int_cst_type instead of build_int_cst.

	* gcc.c-torture/execute/pr48717.c: New test.

From-SVN: r172868
2011-04-22 20:52:48 +02:00
Uros Bizjak
1d284ec5c8 re PR target/48723 (ICE on function returning structure with -fstack-check on corei7-avx)
PR target/48723
	* config/i386/i386.c (ix86_expand_prologue): Update m->fs.sp_offset
	after the call to ix86_adjust_stack_and_probe.

testsuite/ChangeLog:

	PR target/48723
	* gcc.target/i386/pr48723.c: New test.

From-SVN: r172866
2011-04-22 20:40:23 +02:00
Ian Lance Taylor
aa5b0a0df3 libgo: Support multilib testing.
From Rainer Orth.

From-SVN: r172865
2011-04-22 18:38:24 +00:00
Ian Lance Taylor
90eadacd1e re PR go/48503 (http/cgi FAILs if libgcc_s.so.1 isn't in default ld.so.1 search path)
PR go/48503
libgo: Bring over http/cgi environment inheritance patches.

From-SVN: r172864
2011-04-22 18:23:47 +00:00
Eric Botcazou
eb601ae15a decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE onto the new type.
* gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
	onto the new type.

From-SVN: r172863
2011-04-22 17:41:28 +00:00
Eric Botcazou
7d7fcb08c3 gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG parameter.
* gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
	parameter.
	* gcc-interface/utils.c (create_subprog_decl): Likewise.  Set
	DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
	ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
	<all>: Do not set flags on the reused DECL node coming from an alias.
	Set DECL_IGNORED_P on the DECL node built for subprograms if they
	don't need debug info here...
	* gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
	(gigi): Adjust calls to create_subprog_decl.
	(build_raise_check): Likewise.
	(establish_gnat_vms_condition_handler): Likewise.
	(Compilation_Unit_to_gnu): Likewise.
	(gnat_to_gnu): Likewise.

From-SVN: r172862
2011-04-22 17:35:08 +00:00
Joseph Myers
1b5f506948 bfin-protos.h (Mmode): Don't define.
* config/bfin/bfin-protos.h (Mmode): Don't define.  Expand
	definition where used.

From-SVN: r172861
2011-04-22 17:47:38 +01:00
Jakub Jelinek
144f4153e8 re PR c/48716 (gcc OpenMP static variable declared in scope inside construct is predetermined shared)
PR c/48716
	* gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
	TREE_STATIC variables declared inside of some OpenMP construct.

	* gcc.dg/gomp/pr48716.c: New test.
	* g++.dg/gomp/pr48716.C: New test.

From-SVN: r172859
2011-04-22 16:10:45 +02:00
Martin Jambor
f9fd305bd4 re PR middle-end/48585 (483.xalancbmk in SPEC CPU 2006 failed to build)
2011-04-22  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/48585
	* tree-inline.c (copy_bb): Create new edges only for analyzed
	nodes.

From-SVN: r172858
2011-04-22 14:52:30 +02:00