aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-05-27re PR c++/47721 ([C++0x] Updated friendship rules?)Jason Merrill7-9/+90
PR c++/47721 * parser.c (cp_parser_member_declaration): Allow friend T. * friend.c (make_friend_class): Ignore non-classes. * pt.c (instantiate_class_template_1): Handle TEMPLATE_TYPE_PARM. From-SVN: r174319
2011-05-27DR 1004Jason Merrill2-1/+7
DR 1004 * pt.c (convert_template_argument): Don't complain about using injected-class-name as template template argument. From-SVN: r174318
2011-05-27re PR c++/47956 ([C++0x] gcc accepts static data member declaration with ↵Jason Merrill9-23/+30
initializer for non-const literal type if type-specifier is auto) PR c++/47956 * decl.c (check_static_variable_definition): Now static. (cp_finish_decl): Call it here. (grokdeclarator): Not here. * pt.c (instantiate_class_template_1): Or here. * cp-tree.h: Don't declare it. From-SVN: r174317
2011-05-27Daily bump.GCC Administrator1-1/+1
From-SVN: r174315
2011-05-26* gcc.dg/march.c: Ignore a note for some targets.Janis Johnson2-0/+5
From-SVN: r174310
2011-05-26re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in ↵Vladimir Makarov2-1/+12
setup_pressure_classes, at ira.c:902) 2011-05-26 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/49154 * ira.c (setup_pressure_classes): Process class without sublcasses as a candidate for pressure classes. From-SVN: r174309
2011-05-26detect C++ errors to fix 2288 and 18770Janis Johnson8-10/+231
detect C++ errors to fix 2288 and 18770 gcc/cp/ PR c++/2288 PR c++/18770 * name-lookup.h (enum scope_kind): Add sk_cond. * name-lookup.c (pushdecl_maybe_friend): Get scope of shadowed local. Detect and report error for redeclaration from for-init or if or switch condition. (begin_scope): Handle sk_cond. * semantics.c (begin_if_stmt): Use sk_cond. (begin switch_stmt): Ditto. gcc/testsuite/ PR c++/2288 PR c++/18770 * g++.old-deja/g++.jason/cond.C: Remove xfails. * g++.dg/parse/pr18770.C: New test. * g++.dg/cpp0x/range-for5.C: Add dg-error marker. Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com> From-SVN: r174307
2011-05-26re PR rtl-optimization/48575 (RTL vector patterns are limited to 26 elements)Richard Sandiford2-77/+204
gcc/ PR rtl-optimization/48575 * genrecog.c (position_type): New enum. (position): New structure. (decision): Use position structure instead of a string. (root_pos, peep2_insn_pos_list): New variables. (next_position, compare_positions): New functions. (new_decision): Use position structures instead of strings. (maybe_both_true): Likewise. (change_state): Likewise. (write_tree): Likewise. (make_insn_sequence): Likewise. From-SVN: r174305
2011-05-26re PR c++/48211 ([C++0x] Segment Fault When Compiling)Jason Merrill3-25/+11
PR c++/48211 * name-lookup.h (cp_class_binding): Make base a pointer. * name-lookup.c (new_class_binding): Adjust. (poplevel_class): Adjust. From-SVN: r174303
2011-05-26[multiple changes]Paul Thomas7-18/+76
2011-05-26 Paul Thomas <pault@gcc.gnu.org> Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/48955 * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET changed to GFC_ENABLE_REVERSE. * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed to GFC_INHIBIT_REVERSE. * gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE, GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE. * dependency.c (gfc_dep_resolver): Change names for elements of gfc_reverse as necessary. Change the logic so that forward dependences are remembered as well as backward ones. When both have appeared, force a temporary. 2011-05-26 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/48955 * gfortran.dg/dependency_40.f90 : New test. From-SVN: r174302
2011-05-26re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])Tobias Burnus7-13/+264
2011-05-26 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays. * trans-decl.c (has_coarray_vars, caf_init_block, gfor_fndecl_caf_register): New file-global variables. (gfc_finish_var_decl): Make sure that coarrays in main are static. (gfc_build_qualified_array): Generate coarray token variable. (gfc_get_symbol_decl): Don't use a static initializer for coarrays. (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register. (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for static coarrays. (generate_local_decl): Check for local coarrays. (create_main_function): SYNC ALL before calling MAIN. (generate_coarray_sym_init): Register static coarray. (generate_coarray_init): Generate CAF registering constructor function. (gfc_generate_function_code): Call it, if needed, do not create cgraph twice. (gfc_generate_module_vars, gfc_process_block_locals): Call generate_coarray_init. * trans-types.c (gfc_get_nodesc_array_type): Generate pointers * for -fcoarray=lib. * trans.h (gfor_fndecl_caf_register): New variable. (lang_type): New element caf_token. (GFC_TYPE_ARRAY_CAF_TOKEN): New macro. 2011-05-26 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray/registering_1.f90: New. From-SVN: r174301
2011-05-26make TS_BLOCK a substructure of TS_BASENathan Froyd8-12/+30
make TS_BLOCK a substructure of TS_BASE gcc/ * tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as TS_BASE instead of TS_COMMON. (find_decls_types_r): Check for TS_TYPED structure before looking at TREE_TYPE. * tree.h (struct tree_block): Inherit from tree_base, not tree_common. Add chain field. (BLOCK_CHAIN): Use new chain field. gcc/c-family/ * c-common.c (warning_candidate_p): Check for BLOCKs. gcc/java/ * decl.c (poplevel): Don't access TREE_TYPE of BLOCKs. * expr.c (build_jni_stub): Likewise. From-SVN: r174300
2011-05-26lto.c (uniquify_nodes): Fix bug in one of the previous changes.Richard Guenther2-26/+33
2011-05-26 Richard Guenther <rguenther@suse.de> lto/ * lto.c (uniquify_nodes): Fix bug in one of the previous changes. From-SVN: r174296
2011-05-26rs6000.c (rs6000_register_move_cost): Make LR/CTR moves expensive on Power7 ↵Pat Haugen2-3/+9
also. * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR moves expensive on Power7 also. From-SVN: r174292
2011-05-26fold-const.c (fold_unary_loc): Remove bogus code.Richard Guenther2-15/+4
2011-05-26 Richard Guenther <rguenther@suse.de> * fold-const.c (fold_unary_loc): Remove bogus code. From-SVN: r174290
2011-05-26fix pr markerJason Merrill1-1/+1
From-SVN: r174288
2011-05-26make TS_IDENTIFIER be a substructure of TS_TYPEDNathan Froyd6-5/+18
make TS_IDENTIFIER be a substructure of TS_TYPED gcc/ * tree.h (struct tree_identifier): Inherit from tree_typed, not tree_common. (HT_IDENT_TO_GCC_IDENT): Adjust for said change. * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as TS_BASE instead of TS_COMMON. * varasm.c (assemble_name): Remove assert. gcc/c-family/ * c-common.h (struct c_common_identifier): Inherit from tree_typed, not tree_common. From-SVN: r174286
2011-05-26re PR c++/48424 (C++0x parameter packs expansion problem)Jason Merrill6-10/+59
PR c++/48424 * decl.c (grokparms): Function parameter packs don't need to go at the end. * pt.c (type_unification_real): But they aren't deduced otherwise. From-SVN: r174285
2011-05-26Makefile.in (srcdirify): Change order so that libgcc_objdir is substituted ↵Bernd Schmidt3-1927/+14
first. * Makefile.in (srcdirify): Change order so that libgcc_objdir is substituted first. * libgcc-std.ver: Delete file. From-SVN: r174284
2011-05-26re PR tree-optimization/48702 (optimization regression with gcc-4.6 on ↵Richard Guenther5-6/+70
x86_64-unknown-linux-gnu) 2011-05-26 Richard Guenther <rguenther@suse.de> PR tree-optimization/48702 * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs only when we know the base address is within bounds. * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not assume the base address of TARGET_MEM_REFs is in bounds. * gcc.dg/torture/pr48702.c: New testcase. From-SVN: r174282
2011-05-26re PR target/49099 (sparc.c:‘sparc_solaris_elf_asm_named_section’ ↵Rainer Orth2-0/+8
declared ‘static’ but never defined) PR target/49099 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Wrap declaration in TARGET_SOLARIS. From-SVN: r174279
2011-05-26picochip.md (cbranchhi4): No :CC for match_operator.Hariharan Sandanagobalane2-10/+18
* config/picochip/picochip.md (cbranchhi4): No :CC for match_operator. The instruction is then expanded explicitly. (supported_compare): Callable instruction. (compare): Likewise. From-SVN: r174277
2011-05-26tree-prof.exp: Check for -fprofile-generate support.Rainer Orth8-16/+42
gcov-profile/48845 * g++.dg/tree-prof/tree-prof.exp: Check for -fprofile-generate support. * gcc.dg/matrix/matrix.exp: Likewise. * gcc.dg/tree-prof/tree-prof.exp: Likewise. * lib/target-supports-dg.exp (dg-require-profiling): Don't pass line number to check_profiling_available. * lib/target-supports.exp (check_profiling_available): Account for this. Require TLS runtime support with -fprofile-generate. * lib/profopt.exp (profopt-execute): Add TLS options for -fprofile-generate. * gcc.dg/pr47793.c: Add dg-require-profiling "-fprofile-generate". From-SVN: r174275
2011-05-26re PR c++/49165 (ICE on for-loop/throw combination)Jakub Jelinek4-2/+59
PR c++/49165 * gimplify.c (shortcut_cond_r): Don't special case COND_EXPRs if they have void type on one of their arms. * g++.dg/eh/cond5.C: New test. From-SVN: r174273
2011-05-26haifa-sched.c (schedule-block): Reorder the inner scheduling loop to reduce ↵Bernd Schmidt2-86/+68
duplication... * haifa-sched.c (schedule-block): Reorder the inner scheduling loop to reduce duplication, and to achieve a slightly more logical order of operations. From-SVN: r174271
2011-05-26re PR tree-optimization/49161 (Fix VRP on switch stmts)Jakub Jelinek4-24/+96
PR tree-optimization/49161 * tree-vrp.c (struct case_info): New type. (compare_case_labels): Sort case_info structs instead of trees, and not primarily by CASE_LABEL uids but by label_for_block indexes. (find_switch_asserts): Put case labels into struct case_info array instead of TREE_VEC, adjust sorting, compare label_for_block values instead of CASE_LABELs. * gcc.c-torture/execute/pr49161.c: New test. From-SVN: r174270
2011-05-26Remove conflict markerEric Botcazou1-2/+1
From-SVN: r174267
2011-05-26Fix generation of vorn and vbic for Neon.Ramana Radhakrishnan4-6/+37
From-SVN: r174266
2011-05-26re PR tree-optimization/49038 (-ftree-vectorise introduces reads past end of ↵Ira Rosen8-4/+232
array) PR tree-optimization/49038 * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader): Ensure at least one epilogue iteration if required by data accesses with gaps. * tree-vectorizer.h (struct _loop_vec_info): Add new field to mark loops that require peeling for gaps. * tree-vect-loop.c (new_loop_vec_info): Initialize new field. (vect_get_known_peeling_cost): Take peeling for gaps into account. (vect_transform_loop): Generate epilogue if required by data access with gaps. * tree-vect-data-refs.c (vect_analyze_group_access): Mark the loop as requiring an epilogue if there are gaps in the end of the strided group. From-SVN: r174265
2011-05-26Adjust gcc/testsuite/ChangeLogFabien Chêne1-1/+0
From-SVN: r174264
2011-05-26pr25811-2.C: New.Fabien Chêne3-0/+81
2011-05-26 Fabien Chene <fabien@gcc.gnu.org> * g++.dg/init/pr25811-2.C: New. * g++.dg/init/pr25811-3.C: New. * g++.dg/init/pr25811-4.C: New. From-SVN: r174263
2011-05-26godump.c (go_format_type): Output the first field with a usable Go type, if any.Ian Lance Taylor2-6/+46
* godump.c (go_format_type): Output the first field with a usable Go type, if any. From-SVN: r174262
2011-05-25fix pr markerJason Merrill1-1/+1
From-SVN: r174259
2011-05-25re PR c++/48536 ([C++0x] Automatic Enumerator Incrementation is not ↵Jason Merrill5-7/+61
compliant with Clause 7.2/5) PR c++/48536 * decl.c (build_enumerator): If incremented enumerator won't fit in previous integral type, find one it will fit in. From-SVN: r174258
2011-05-25re PR c++/48599 ([C++0x] no diagnostic for invalid use of auto with array ↵Jason Merrill4-0/+16
declarator) PR c++/48599 * decl.c (create_array_type_for_decl): Complain about array of auto. From-SVN: r174257
2011-05-25re PR c++/49156 ([C++0x] Error reporting routines re-entered)Jason Merrill4-0/+34
PR c++/49156 * error.c (dump_template_bindings): Set processing_template_decl for a partial instantiation. From-SVN: r174256
2011-05-25re PR c++/45401 ([C++0x] reference collapsing and reference qualifiers)Jason Merrill4-6/+23
PR c++/45401 * decl.c (grokdeclarator): Don't change type when adding rvalue ref to another reference type. From-SVN: r174255
2011-05-26godump.c (go_format_type): Check for invalid type names, pointer target ↵Ian Lance Taylor2-34/+50
types, and struct field types. * godump.c (go_format_type): Check for invalid type names, pointer target types, and struct field types. From-SVN: r174253
2011-05-26Daily bump.GCC Administrator1-1/+1
From-SVN: r174252
2011-05-25re PR c++/44311 ([C++0x] no error with switch over enum class and integer case)Jason Merrill5-6/+78
PR c++/44311 * decl.c (case_conversion): New. (finish_case_label): Use it. From-SVN: r174231
2011-05-25print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.Jason Merrill4-1/+13
* print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED. * cp/ptree.c (cxx_print_xnode): Handle ARGUMENT_PACK_SELECT. From-SVN: r174230
2011-05-25re PR c++/45698 (C++0x Variadic Templates: Infinite template recursion ↵Jason Merrill4-0/+23
rather than an error message) PR c++/45698 * pt.c (dependent_template_arg_p): See through ARGUMENT_PACK_SELECT. From-SVN: r174229
2011-05-25re PR c++/46005 ([C++0x] Don't allow "auto" as the simple-type-specifier of ↵Jason Merrill4-0/+14
a typedef) PR c++/46145 * decl.c (grokdeclarator): Complain about auto typedef. From-SVN: r174228
2011-05-25re PR c++/46245 ([C++0x] rejects function with late-specified return type as ↵Jason Merrill6-11/+28
a non-type template parameter) PR c++/46245 * decl.c (grokdeclarator): Complain later for auto parameter. * pt.c (splice_late_return_type): Handle use in a template type-parameter. From-SVN: r174227
2011-05-25re PR c++/46696 ([C++0x] Implicit copy constructor can't construct array of ↵Jason Merrill4-1/+26
subtype with user-defined copy constructor.) PR c++/46696 * typeck.c (cp_build_modify_expr): Check DECL_DEFAULTED_FN. From-SVN: r174226
2011-05-25re PR c++/47184 ([C++0x] initialization construct interpreted as function ↵Jason Merrill4-2/+29
declaration‏‏) PR c++/47184 * parser.c (cp_parser_parameter_declaration): Recognize list-initialization. (cp_parser_direct_declarator): Check for the closing paren before parsing definitely. From-SVN: r174225
2011-05-25sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.Uros Bizjak2-4/+23
* config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern. From-SVN: r174224
2011-05-25Put back "register_operand" check in 32bit QI ext patterns.H.J. Lu2-6/+14
2011-05-25 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.md (*movqi_extv_1)): Put back "register_operand" check in "type" calculation. (*movqi_extzv_2): Likewise. From-SVN: r174223
2011-05-25c-common.c (def_fn_type): Remove extra va_end.Jakub Jelinek4-2/+8
* c-common.c (def_fn_type): Remove extra va_end. * gcc-interface/utils.c (def_fn_type): Remove extra va_end. From-SVN: r174218
2011-05-25Update pause intrinsic.H.J. Lu2-1/+7
2011-05-25 H.J. Lu <hongjiu.lu@intel.com> * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic. From-SVN: r174217