aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2006-06-29re PR c++/26905 (default-visibility class symbol improperly resolved as ↵Jason Merrill41-207/+887
hidden-visibility) PR c++/26905 PR c++/26612 PR c++/27000 PR c++/26984 PR c++/19134 * tree.c (build_decl_stat): Don't hande #pragma visibility here. * c-common.c (c_determine_visibility): Handle it here. * c-decl.c (finish_decl): Call c_determine_visibility for functions, too. * flags.h (enum symbol_visibility): Sort from most to least visibility. * tree.h: Likewise. * varasm.c (default_assemble_visibility): Likewise. * c-common.c (handle_visibility_attribute): Complain about trying to give visibility to an already defined class, or trying to change declared visibility. Always attach the attribute. * cp/decl2.c (determine_visibility): Overhaul. (determine_visibility_from_class): Likewise. (min_vis_r, type_visibility, constrain_visibility): New fns. (constrain_visibility_for_template): Likewise. (constrain_class_visibility): Likewise. * cp/decl.c (cp_finish_decl): Call determine_visibility for function decls, too. * cp/name-lookup.c (pushtag): Call determine_visibility. * cp/decl.c (duplicate_decls): Don't copy visibility from template to specialization. * cp/pt.c (check_explicit_specialization): Likewise. (lookup_template_class, tsubst_decl): Call determine_visibility. * cp/class.c (finish_struct_1): Call constrain_class_visibility. PR c++/26905 PR c++/21675 PR c++/17470 * cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes to grokdeclarator. (cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'. (cp_parser_enum_specifier): Likewise. (cp_parser_elaborated_type_specifier): Apply attributes if this declares only the class. (cp_parser_class_specifier): Apply leading attributes immediately. * cp/semantics.c (begin_class_definition): Add attributes parameter, apply them to the type. * attribs.c (decl_attributes): Ignore type-in-place attributes once the type has been defined. PR c++/21581 PR c++/25915 * cp/tree.c (decl_anon_ns_mem_p): New function. * cp/cp-tree.h: Declare it. * cp/decl2.c (determine_visibility): Make anonymous namespace members static. (min_vis_r, constrain_visibility): Likewise. * cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on pseudo-types. * cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on global_namespace. * cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC on anonymous namespaces. From-SVN: r115086
2006-06-30Daily bump.GCC Administrator1-1/+1
From-SVN: r115084
2006-06-29re PR middle-end/27428 (ICE with goto in erroneous code)Roger Sayle4-0/+21
PR middle-end/27428 * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount to indicate the cpplib has issued an error message for us. * gcc.dg/pr27428-1.c: New test case. From-SVN: r115080
2006-06-29i386.c (ix86_output_function_epilogue): Don't insert a label at the end of ↵Asher Langton2-0/+23
an function under Mach-O. * config/i386/i386.c (ix86_output_function_epilogue): Don't insert a label at the end of an function under Mach-O. From-SVN: r115079
2006-06-29predicates.md (vector_all_ones_operand): New.Eric Christopher5-68/+166
2006-06-29 Eric Christopher <echristo@apple.com> Evan Cheng <evan.cheng@apple.com> * predicates.md (vector_all_ones_operand): New. (nonimmediate_or_sse_const_operand): Ditto. * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare. * config/i386/i386.c (standard_sse_constant_opcode): Define. (standard_sse_mode_p): Ditto. (standard_sse_constant_p): Add case for -1 vector. (ix86_expand_vector_move): Try to use. * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand. Call standard_sse_constant_opcode. (*movv4sf_internal): Ditto. (*movv2df_internal): Ditto. From-SVN: r115077
2006-06-29genpreds.c (write_match_code_switch): Correctly use XSTR instead of XEXP to ↵Roger Sayle2-2/+7
extract the operands of a MATCH_CODE rtx. * genpreds.c (write_match_code_switch): Correctly use XSTR instead of XEXP to extract the operands of a MATCH_CODE rtx. From-SVN: r115076
2006-06-29struct-layout-1_generate.c: Don't use common on darwin as we can't align ↵Mike Stump2-3/+6
commons large enough yet. * gcc.dg/compat/struct-layout-1_generate.c: Don't use common on darwin as we can't align commons large enough yet. From-SVN: r115075
2006-06-29* gcc.dg/vla-8.c: Add additional testcases.Mike Stump2-0/+28
From-SVN: r115074
2006-06-29tree.c (tree_size): Do not waste tail padding in struct tree_string and make ↵Andrew Pinski2-1/+7
the size be the same... 2006-06-28 Andrew Pinski <pinskia@gmail.com> * tree.c (tree_size): Do not waste tail padding in struct tree_string and make the size be the same as build_string will generate. From-SVN: r115072
2006-06-28re PR c++/27424 (Valid template-template-parameter rejected)Jason Merrill3-4/+18
PR c++/27424 * pt.c (convert_template_argument): Pass all template arguments on to coerce_template_template_parms. From-SVN: r115063
2006-06-28re PR c++/27768 (wrong-code with vectors)Jason Merrill3-1/+68
PR c++/27768 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add may_aliases already in the tag's annotations to the bitmap. From-SVN: r115062
2006-06-29genpreds.c (write_predicate_stmts): Add missing break.Roger Sayle2-0/+5
* genpreds.c (write_predicate_stmts) <IOR>: Add missing break. From-SVN: r115061
2006-06-29Daily bump.GCC Administrator1-1/+1
From-SVN: r115059
2006-06-28genpreds.c (generate_switch_p): New function.Roger Sayle2-8/+128
* genpreds.c (generate_switch_p): New function. (add_mode_tests): Push the new mode test down inside an AND expr if this allows the switch-suitable MATCH_CODE to be near the root. (write_match_code_switch): New function to write a MATCH_CODE as a switch statement. (write_predicate_stmts): New function to write a predicate RTX expression as a sequence of statements. (write_one_predicate_function): Use write_predicate_stmts. (write_tm_constrs_h): Likewise. From-SVN: r115055
2006-06-28Daily bump.GCC Administrator1-1/+1
From-SVN: r115044
2006-06-27Daily bump.GCC Administrator1-1/+1
From-SVN: r115030
2006-06-26Fix typos in --param option docs.Jim Wilson1-3/+3
* doc/invoke/texi (max-cselib-memory-locations): Add missing s at end. (max-flow-memory-locations): Likewise. From-SVN: r115026
2006-06-26re PR c++/28114 (ICE with struct definition in argument of template function)Steve Ellcey2-0/+14
PR c++/28114 * g++.dg/other/pr28114.C: New. From-SVN: r115025
2006-06-26Add SB-1 specific multilib support. Patch by Fred Fish.Fred Fish3-1/+51
* config/mips/t-sb1: New file. * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to tmake_file list. From-SVN: r115024
2006-06-26[multiple changes]DJ Delorie6-6/+312
2006-06-26 DJ Delorie <dj@redhat.com> * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic. 2006-06-26 Naveen H.S <naveenh@kpitcummins.com> Jayant Sonar <jayants@kpitcummins.com> Jaydeep Vipradas <jaydeepv@kpitcummins.com> * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New. (subsi3, subsi3_1, subsi3_2): New. * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New. * config/m32c/mov.md (SI mov peephole): New. * config/m32c/m32.c (m32c_immd_dbl_mov): New. * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New. From-SVN: r115023
2006-06-26function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on a CALL_EXPR ↵Olivier Hainque2-3/+26
target function declaration. * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on a CALL_EXPR target function declaration. From-SVN: r115022
2006-06-26tree.c (build_string): Do not waste tail padding in struct tree_string.Richard Guenther2-2/+8
2006-06-26 Richard Guenther <rguenther@suse.de> * tree.c (build_string): Do not waste tail padding in struct tree_string. From-SVN: r115021
2006-06-26ggc-page.c (init_ggc): Add missing element to size_lookup table.Richard Guenther2-49/+26
2006-06-26 Richard Guenther <rguenther@suse.de> * ggc-page.c (init_ggc): Add missing element to size_lookup table. Revert 2006-06-23 Richard Guenther <rguenther@suse.de> * ggc-page.c (init_ggc): Do not round up the extra_order_size_table sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour alignment requests instead. Add verification code. Add struct tree_function_decl and struct tree_binfo size to extra_order_size_table. Add missing element to size_lookup table. From-SVN: r115007
2006-06-26Daily bump.GCC Administrator1-1/+1
From-SVN: r115001
2006-06-26* de.po: Update.Joseph Myers2-38/+38
From-SVN: r114996
2006-06-25re PR middle-end/28151 (ICE with complex math)Eric Botcazou4-48/+54
PR middle-end/28151 * fold-const.c (const_binop): Be prepared for self returning zero. Simplify code handling complex values. From-SVN: r114992
2006-06-25* zh_CN.po: Update.Joseph Myers2-20/+23
From-SVN: r114990
2006-06-25re PR fortran/25056 (non-PURE function should not be a valid argument)Paul Thomas12-9/+361
2006-06-25 Paul Thomas <pault@gcc.gnu.org> PR fortran/25056 * interface.c (compare_actual_formal): Signal an error if the formal argument is a pure procedure and the actual is not pure. PR fortran/27554 * resolve.c (resolve_actual_arglist): If the type of procedure passed as an actual argument is not already declared, see if it is an intrinsic. PR fortran/25073 * resolve.c (resolve_select): Use bits 1 and 2 of a new int to keep track of the appearance of constant logical case expressions. Signal an error is either value appears more than once. PR fortran/20874 * resolve.c (resolve_fl_procedure): Signal an error if an elemental function is not scalar valued. PR fortran/20867 * match.c (recursive_stmt_fcn): Perform implicit typing of variables. PR fortran/22038 * match.c (match_forall_iterator): Mark new variables as FL_UNKNOWN if the match fails. PR fortran/28119 * match.c (gfc_match_forall): Remove extraneous call to gfc_match_eos. PR fortran/25072 * resolve.c (resolve_code, resolve_function): Rework forall_flag scheme so that it is set and has a value of 2, when the code->expr (ie. the forall mask) is resolved. This is used to change "block" to "mask" in the non-PURE error message. 2006-06-25 Paul Thomas <pault@gcc.gnu.org> PR fortran/20867 * gfortran.dg/stfunc_3.f90: New test. PR fortran/25056 * gfortran.dg/impure_actual_1.f90: New test. PR fortran/20874 * gfortran.dg/elemental_result_1.f90: New test. PR fortran/25073 * gfortran.dg/select_7.f90: New test. PR fortran/27554 * intrinsic_actual_1.f: New test. PR fortran/22038 PR fortran/28119 * gfortran.dg/forall_4.f90: New test. PR fortran/25072 * gfortran.dg/forall_5.f90: New test. From-SVN: r114987
2006-06-25re PR c++/28054 (ICE with friend declaration of invalid bitfield)Lee Millward5-2/+28
PR c++/28054 * decl2.c (grokbitfield): Remove check for grokdeclarator returning NULL_TREE, instead check for error_mark_node to indicate failure. * decl.c (grokdeclarator): Adjust block comment. * g++.dg/other/incomplete3.C: New test. Co-Authored-By: Mark Mitchell <mark@codesourcery.com> From-SVN: r114986
2006-06-25re PR c++/28051 (ICE on invalid conversion operator)Lee Millward5-0/+33
PR c++/28051 * mangle.c (mangle_conv_op_name_for_type): Check for invalid types. *name-lookup.c (push_class_level_binding): Robustify. (do_class_using_decl): Return early if name is error_mark_node. From-SVN: r114985
2006-06-25Move entry to proper file.Eric Botcazou2-3/+5
From-SVN: r114984
2006-06-25Daily bump.GCC Administrator1-1/+1
From-SVN: r114980
2006-06-24re PR fortran/28081 (Undue compile-time error for zero-sized substring)Francois-Xavier Coudert5-4/+32
PR fortran/28081 * resolve.c (resolve_substring): Don't issue out-of-bounds error messages when the range has zero size. * gfortran.dg/substr_3.f: New test. * gfortran.dg/equiv_2.f90: Update expected error message. From-SVN: r114972
2006-06-24re PR fortran/23862 (Select Fortran source form appropriately for "-pipe")Francois-Xavier Coudert2-1/+7
PR fortran/23862 * lang-specs.h (f95-cpp-input): Pass -ffree-form to f951 unless -ffixed-form is explicitly specified. From-SVN: r114970
2006-06-24be.po, [...]: Update.Joseph Myers15-23647/+24123
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po, rw.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update. From-SVN: r114966
2006-06-24re PR fortran/28118 (ICE calling subroutine defined via explicit interface)Paul Thomas4-3/+65
2006-06-24 Paul Thomas <pault@gcc.gnu.org> PR fortran/28118 * trans-array.c (gfc_conv_expr_descriptor): When building temp, use the substring reference to calculate the length if the expression does not have a charlen. 2006-06-24 Paul Thomas <pault@gcc.gnu.org> PR fortran/28118 * gfortran.dg/actual_array_substr_1.f90: New test. From-SVN: r114964
2006-06-24gimplify.c (gimplify_scalar_mode_aggregate_compare): New function.Olivier Hainque6-11/+103
* gimplify.c (gimplify_scalar_mode_aggregate_compare): New function. (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode aggregate types. * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as ARRAY_REF, so have the callback called for the low bound expression. * gnat.dg/scalar_mode_agg_compare_loop.adb: New test. * gnat.dg/scalar_mode_agg_compare.adb: New test. From-SVN: r114963
2006-06-24re PR fortran/28094 (Modulo of real(kind=10) variables doesn't work)Francois-Xavier Coudert3-4/+18
PR fortran/28094 * trans-intrinsic.c (gfc_conv_intrinsic_mod): Support cases where there is no integer kind equal to the resulting real kind. * intrinsic.c (add_functions): MODULO is not allowed as an actual argument. * Makefile.am: Add _mod_r10.F90 and _mod_r16.F90. * Makefile.in: Regenerate. * generated/_mod_r10.F90: New file. * generated/_mod_r16.F90: New file. From-SVN: r114961
2006-06-24Daily bump.GCC Administrator1-1/+1
From-SVN: r114959
2006-06-23re PR c++/28114 (ICE with struct definition in argument of template function)Steve Ellcey2-1/+10
PR c++/28114 * name-lookup.c (pushtag): Return if we have error_mark_node. From-SVN: r114953
2006-06-23re PR c++/27019 (ICE with designated initializers)Steve Ellcey2-2/+13
PR c++/27019 * typeck2.c (process_init_constructor_array): Set ce->value on errors. From-SVN: r114952
2006-06-23tree.h (DECIMAL_FLOAT_TYPE_P): New.Janis Johnson6-2/+96
* tree.h (DECIMAL_FLOAT_TYPE_P): New. * c-typeck.c (c_common_type): Disallow operations on decimal float types and other float types. * convert.c (convert_to_real): Don't ignore conversions involving decimal float types. testsuite: * gcc.dg/dfp/usual-arith-conv-bad.c: New test. From-SVN: r114951
2006-06-23re PR fortran/27981 (Strange error message for illegal integer constant)Steven G. Kargl4-0/+23
2006-06-23 Steven G. Kargl <kargls@comcast.net> PR fortran/27981 * match.c (gfc_match_if): Handle errors in assignment in simple if. 2006-06-23 Steven G. Kargl <kargls@comcast.net> PR fortran/27981 * gfortran.dg/simpleif_2.f90: New test. From-SVN: r114950
2006-06-23error22.C: Fix typo.Lee Millward2-1/+5
* g++.dg/template/error22.C: Fix typo. From-SVN: r114949
2006-06-23re PR c++/28112 (ICE with invalid argument in attribute)Volker Reichelt4-9/+32
PR c++/28112 * parser.c (cp_parser_attribute_list): Skip attributes with invalid arguments. Fix comment. * g++.dg/ext/attrib23.C: New test. From-SVN: r114941
2006-06-23tree.c (max_int_size_in_bytes): New function, inspired from code in ↵Olivier Hainque8-23/+153
function.c:assign_temp. * tree.c (max_int_size_in_bytes): New function, inspired from code in function.c:assign_temp. * tree.h (max_int_size_in_bytes): Declare. * function.c (assign_temp): Use it. * gimplify.c (create_tmp_var): Relax the assertions on the type properties, not mandating constant size any more. (force_constant_size): New static function. (gimple_add_tmp_var): Use it, forcing variable size to a constant upper bound if it is not constant on entry. * ada/misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have not been able to get a constant upper bound from TYPE_SIZE_UNIT. * gnat.dg/varsize_temp.adb: New test. From-SVN: r114938
2006-06-23re PR c++/11468 (Deriving from CNI class java::lang::Object causing an ICE)Volker Reichelt4-4/+36
PR c++/11468 * init.c (build_new_1): Handle error_mark_nodes returned by build_java_class_ref. (build_java_class_ref): Do not abort compilation, but return error_mark_node. Improve error message. Fix indentation. * g++.dg/other/java2.C: New test. From-SVN: r114937
2006-06-23java-tree.h (update_aliases): RemoveAndrew Haley4-91/+17
2006-06-21 Andrew Haley <aph@redhat.com> * java-tree.h (update_aliases): Remove * expr.c (expand_iinc): Remove call to update_aliases(). (STORE_INTERNAL): Likewise. * decl.c (update_aliases, initialize_local_variable) (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls. From-SVN: r114931
2006-06-23Remove conflict marker.Andreas Schwab1-1/+0
From-SVN: r114928
2006-06-23re PR target/27789 (attribute handling fallout from DECL_INITIAL changes)Danny Smith6-20/+102
PR target/27789 * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check for initialization and setting of one_only flag to ... (i386_pe_encode_section_info): ...here. (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also. Recheck that the symbol has not been defined. cp * decl.c (start_decl): Check that dllimports are not initialized. testsuite * g++.dg/ext/dllimport4.C. Add more tests for invalid initialization. From-SVN: r114927