- 12 Dec, 2011 32 commits
-
-
PR c++/51496 * parser.c (cp_parser_omp_for_loop): When determining whether to use cp_parser_omp_for_incr or cp_parser_expression and when calling cp_parser_omp_for_incr, use real_decl instead of decl. From-SVN: r182257
Jakub Jelinek committed -
From-SVN: r182256
Ian Lance Taylor committed -
PR tree-optimization/50569 * tree-sra.c (build_ref_for_model): Replicate a chain of COMPONENT_REFs in the expression of MODEL instead of just the last one. From-SVN: r182252
Eric Botcazou committed -
* cgraphunit.c (init_lowered_empty_function): Fix flags for new edges. From-SVN: r182251
Dmitry Vyukov committed -
2011-12-12 Paolo Carlini <paolo.carlini@oracle.com> Revert: 2011-12-12 Kai Tietz <ktietz@redhat.com> PR libstdc++/51135 * libsupc++/cxxabi.h (__cxa_dtor_type): New type. (__cxa_throw): Use it for destructor-argument. * libsupc++/eh_throw.cc (__cxa_throw): Likewise. * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member exceptionDestructor to __cxa_dtor_type. * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR): Define. (__cxa_dtor_type): Declare target secific type variant. * config/os/mingw32/os_defines.h: Likewise. From-SVN: r182250
Paolo Carlini committed -
* Revert the last commit. From-SVN: r182249
Paolo Carlini committed -
PR testsuite/51511 * gcc.dg/pr45819.c: Add -w to dg-options. From-SVN: r182247
Jakub Jelinek committed -
re PR middle-end/51510 (gcc for arm-linux-gnueabi ICEs on gcc.c-torture/execute/20050713-1.c due to PR50074+PR51323 fix) PR middle-end/51510 * calls.c (internal_arg_pointer_based_exp_scan): Don't use VEC_safe_grow_cleared if idx is smaller than VEC_length. From-SVN: r182246
Jakub Jelinek committed -
gcc/ PR middle-end/50873 * optabs.c (maybe_legitimize_operand_same_code): Use copy_to_mode_reg instead of force_reg. Do nothing if the address is already a non-virtual pseudo register. From-SVN: r182244
Richard Sandiford committed -
2011-12-12 Robert Dewar <dewar@adacore.com> * s-taprop-mingw.adb: Minor reformatting. 2011-12-12 Nicolas Roche <roche@adacore.com> * gcc-interface/Make-lang.in: Update dependencies. Add gnattools4 target when building tools in canadian mode 2011-12-12 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_VM_TSD): Complete previous patch. 2011-12-12 Bob Duff <duff@adacore.com> * s-tpobop.adb: Use named notation. * g-bytswa.ads, s-taprop.ads: Minor comment fix. 2011-12-12 Arnaud Charlet <charlet@adacore.com> * make.adb: Minor comment update. From-SVN: r182242
Arnaud Charlet committed -
2011-12-12 Robert Dewar <dewar@adacore.com> * freeze.adb, s-taprop-mingw.adb, exp_disp.adb, sem_ch13.adb: Minor reformatting. From-SVN: r182241
Robert Dewar committed -
2011-12-12 Robert Dewar <dewar@adacore.com> * sem_ch6.adb, gnatls.adb: Minor reformatting. 2011-12-12 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): If a type declared in a generic context has predicates, generate a freeze node for it. * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): If expression has not been analyzed yet, entity has not been frozen, so analyze it now. 2011-12-12 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_VM_TSD): Generate code to store the value 'alignment in the TSD. 2011-12-12 Bob Duff <duff@adacore.com> * s-taprop-mingw.adb (Yield): Do not delay 1 millisecond in Annex D mode. From-SVN: r182240
Arnaud Charlet committed -
exp_ch4.adb (Expand_N_Allocator): Update the master of an anonymous access-to-controlled type to utilize the... 2011-12-12 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_N_Allocator): Update the master of an anonymous access-to-controlled type to utilize the heterogeneous master associated with the current unit. From-SVN: r182239
Hristian Kirtchev committed -
PR libstdc++/51135 * libsupc++/cxxabi.h (__cxxabi_dtor_type): New type. (__cxa_throw): Use it for destructor-argument. * libsupc++/eh_throw.cc (__cxa_throw): Likewise. * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member exceptionDestructor to __cxxabi_dtor_type. * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR): Define. (__cxa_dtor_type): Declare target secific type variant. * config/os/mingw32/os_defines.h: Likewise. From-SVN: r182238
Kai Tietz committed -
* libsupc++/cxxabi.h (__cxxabi_dtor_type): New type. (__cxa_throw): Use it for destructor-argument. * libsupc++/eh_throw.cc (__cxa_throw): Likewise. * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member exceptionDestructor to __cxxabi_dtor_type. * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR): Define. (__cxa_dtor_type): Declare target secific type variant. * config/os/mingw32/os_defines.h: Likewise. From-SVN: r182237
Kai Tietz committed -
2011-12-12 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Expression_Function): If the function is not a completion, pre-analyze the expression now to prevent spurious visibility on later entities. The body is inserted at the end of the current declaration list or package to prevent early freezing, but the visibility is established at the point of definition. 2011-12-12 Bob Duff <duff@adacore.com> * sem.adb, sem.ads: Add debugging routines. 2011-12-12 Tristan Gingold <gingold@adacore.com> * gnatls.adb: (gnatls): Also add the objects dir in search list. From-SVN: r182235
Arnaud Charlet committed -
gcc/cp/ * semantics.c (finish_transaction_stmt, build_transaction_expr): Accept new noexcept parameter and handle it. * cp-tree.h (finish_transaction_stmt, build_transaction_expr): Adapt declarations. * parser.c (cp_parser_exception_specification_opt): Extract noexcept-specification parsing to ... (cp_parser_noexcept_specification_opt): ...here. Allow for parsing non-constexpr noexcept arguments. (cp_parser_transaction, cp_parser_transaction_expression): Parse and handle noexcept-specifications. (cp_parser_function_transaction): Adapt to finish_transaction_stmt change. * pt.c (tsubst_expr): Adapt to new noexcept parameters when building transactions. gcc/testsuite/ * g++.dg/tm/noexcept-1.C: New test. * g++.dg/tm/noexcept-2.C: New test. * g++.dg/tm/noexcept-3.C: New test. * g++.dg/tm/noexcept-4.C: New test. * g++.dg/tm/noexcept-5.C: New test. From-SVN: r182234
Torvald Riegel committed -
gcc/cp/ * cp-tree.def (MUST_NOT_THROW_EXPR): Add condition parameter. * cp-tree.h (MUST_NOT_THROW_COND): New. (build_must_not_throw_expr): Declare. * dump.c (cp_dump_tree): Dump MUST_NOT_THROW_EXPR condition. * except.c (build_must_not_throw_expr): New. (initialize_handler_parm): Use it. (begin_eh_spec_block, wrap_cleanups_r): Adapt to condition. * pt.c (tsubst_expr): Handle MUST_NOT_THROW_EXPR. From-SVN: r182233
Torvald Riegel committed -
gcc/ * gimplify.c (voidify_wrapper_expr): Add default handling for outermost wrapper. From-SVN: r182232
Torvald Riegel committed -
gcc/ * tree-ssa-tail-merge.c (gimple_equal_p): Don't treat transaction commits as equal. gcc/testsuite/ * c-c++-common/tm/20111206.c: New test. From-SVN: r182231
Torvald Riegel committed -
2011-12-12 Robert Dewar <dewar@adacore.com> * exp_atag.adb, exp_atag.ads, exp_util.adb, exp_attr.adb, sem_ch13.adb: Minor reformatting. 2011-12-12 Gary Dismukes <dismukes@adacore.com> * sem_ch7.adb (Uninstall_Declarations): Don't apply check for incomplete types used as a result type for an access-to-function type when compiling for Ada 2012 or later. * sem_ch6.adb (Analyze_Subprogram_Declaration): Specialize error message for interface subprograms that are not declared abstract nor null (functions can't be declared as null). Also, remove "(Ada 2005)" from message. From-SVN: r182230
Arnaud Charlet committed -
2011-12-12 Robert Dewar <dewar@adacore.com> * sem_prag.adb (GNAT_Pragma): Check comes from source. 2011-12-12 Robert Dewar <dewar@adacore.com> * gnatls.adb: Minor reformatting. 2011-12-12 Javier Miranda <miranda@adacore.com> * a-tags.ads (Alignment): New TSD field. (Max_Predef_Prims): Value lowered to 15 (or 9 in case of configurable runtime) Update documentation of predefined primitives since Alignment has been removed. * exp_disp.ads Update documentation of slots of dispatching primitives. * exp_disp.adb (Default_Prim_Op_Position): Update slot values since alignment is no longer a predefined primitive. (Is_Predefined_Dispatch_Operation): Remove _alignment. (Is_Predefined_Internal_Operation): Remove _alignment. (Make_DT): Update static test on the value stored in a-tags.ads for Max_Predef_Prims; store the value of 'alignment in the TSD. * exp_atag.ads, exp_atag.adb (Build_Get_Alignment): New subprogram that retrieves the alignment from the TSD * exp_util.adb (Build_Allocated_Deallocate_Proc): For deallocation of class-wide types obtain the value of alignment from the TSD. * exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment applied to a class-wide type invoke Build_Get_Alignment to generate code which retrieves the value of the alignment from the TSD. * rtsfind.ads (RE_Alignment): New Ada.Tags entity * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For tagged types if the value of the alignment is bigger than the Maximum alignment then set the value of the alignment to the Maximum alignment and report a warning. * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate spec of _alignment. (Predefined_Primitive_Bodies): Do not generate body of _alignment. From-SVN: r182229
Arnaud Charlet committed -
2011-12-12 Gary Dismukes <dismukes@adacore.com> * freeze.adb (Freeze_Expression): Allow freezing of static scalar subtypes that are prefixes of an attribute, even if not yet marked static. Such attributes will get marked as static later in Eval_Attribute (as called from Resolve_Attribute). * sem_attr.adb (Eval_Attribute): Remove wrong code that does an early return for attribute prefixes that are unfrozen source-level types. This code was incorrectly bypassing folding of unfrozen static subtype attributes in default expressions (the executable example in the now-deleted comment was in fact illegal). 2011-12-12 Robert Dewar <dewar@adacore.com> * a-coinve.adb, sem_res.adb, prj-nmsc.adb, a-cobove.adb, a-convec.adb, gnatls.adb, sem_ch13.adb, prj-env.adb, prj-env.ads: Minor reformatting. 2011-12-12 Tristan Gingold <gingold@adacore.com> * gsocket.h: Adjust previous patch. From-SVN: r182228
Arnaud Charlet committed -
2011-12-12 Thomas Quinot <quinot@adacore.com> * exp_disp.adb: Minor reformatting. 2011-12-12 Tristan Gingold <gingold@adacore.com> * gnatls.adb (Search_RTS): New procedure. (Scan_Ls_Arg): Move code that search the RTS. (Gnatls): search the RTS later. * prj-env.ads, prj-env.adb (Get_Runtime_Path): New function. 2011-12-12 Ed Falis <falis@adacore.com> * sysdep.c: Fix treatment of VxWorks task options so that run-times built with __SPE__ get option VX_SPE_TASK while others get VX_FP_TASK. 2011-12-12 Bob Duff <duff@adacore.com> * sem_type.adb, sem_type.ads, sem_ch4.adb, treepr.adb, treepr.ads: Minor cleanup and fiddling with debug printouts. 2011-12-12 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Get_Directories): For a non extending project, always get a declared object and/or exec directory if it already exists, even when there are no sources, but do not create them. 2011-12-12 Bob Duff <duff@adacore.com> * sem_res.adb (Resolve): Deal with the case where an abstract operator is called with operands of type universal_integer. 2011-12-12 Thomas Quinot <quinot@adacore.com> * par_sco.adb: Minor fix to dominance marker referencing WHILE decision. From-SVN: r182227
Arnaud Charlet committed -
2011-12-12 Tristan Gingold <gingold@adacore.com> * mlib-tgt-specific-xi.adb: (Get_Target_Prefix): Simplify code. 2011-12-12 Thomas Quinot <quinot@adacore.com> * par_sco.adb: Adjust dominant marker for branches of CASE statements. 2011-12-12 Thomas Quinot <quinot@adacore.com> * gsocket.h, s-oscons-tmplt.c: Ensure we do not include any system header file prior to redefining FD_SETSIZE. 2011-12-12 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): In a generic context the aspect expressions may not have been preanalyzed if there was no previous freeze point, so the expressions must be preanalyzed now, and there is no conformance to check for visibility changes. 2011-12-12 Matthew Heaney <heaney@adacore.com> * a-convec.adb, a-coinve.adb, a-cobove.adb (Iterator): Use subtype Index_Type'Base for Index component (Finalize): Remove unnecessary access check (First, Last): Cursor return value depends on iterator index value (Iterate): Use start position as iterator index value (Next, Previous): Forward to corresponding cursor-based operation. * a-cborma.adb (Iterate): Properly initialize iterator object (with 0 as node index). From-SVN: r182226
Arnaud Charlet committed -
re PR libgcj/50053 (jc1 doesn't emit static initializer or initializer code for super class without -findirect-dispatch.) PR libgcj/50053 * java/lang/natClass.cc (java::lang::Class::newInstance): Special case member-call for 32-bit IA native Window target. From-SVN: r182225
Kai Tietz committed -
2011-12-12 Robert Dewar <dewar@adacore.com> * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting. 2011-12-12 Steve Baird <baird@adacore.com> * sem_ch3.adb (Check_Completion): Improve a comment. 2011-12-12 Tristan Gingold <gingold@adacore.com> * cstand.adb: Minor comment fix. From-SVN: r182224
Arnaud Charlet committed -
2011-12-12 Richard Guenther <rguenther@suse.de> PR lto/51262 * tree.c (cp_free_lang_data): No longer clear anonymous names. * g++.dg/opt/pr51262.C: New testcase. From-SVN: r182221
Richard Guenther committed -
gcc: * config/darwin-sections.def (zobj_const_data_section): Fix over- length section name. From-SVN: r182220
Iain Sandoe committed -
From-SVN: r182219
Revital Eres committed -
* config/rs6000/rs6000.c (rs6000_expand_interleave): Use BYTES_BIG_ENDIAN, not TARGET_BIG_ENDIAN. From-SVN: r182218
Richard Henderson committed -
From-SVN: r182217
GCC Administrator committed
-
- 11 Dec, 2011 8 commits
-
-
PR tree-optimization/51485 * tree-vect-data-refs.c (vect_analyze_data_refs): Give up on DRs in call stmts. * g++.dg/vect/pr51485.cc: New test. From-SVN: r182212
Jakub Jelinek committed -
2011-12-11 Tobias Burnus <burnus@net-b.de> PR fortran/50923 * trans-decl.c (generate_local_decl): Set TREE_NO_WARNING only if the front end has printed a warning. (gfc_generate_function_code): Fix unset-result warning. 2011-12-11 Tobias Burnus <burnus@net-b.de> PR fortran/50923 * gfortran.dg/warn_function_without_result_2.f90: New. From-SVN: r182211
Tobias Burnus committed -
2011-12-11 Paul Thomas <pault@gcc.gnu.org> Tobias Burnus <burnus@gcc.gnu.org> PR fortran/41539 PR fortran/43214 PR fortran/43969 PR fortran/44568 PR fortran/46356 PR fortran/46990 PR fortran/49074 * interface.c(symbol_rank): Return the rank of the _data component of class objects. (compare_parameter): Also compare the derived type of the class _data component for type mismatch. Similarly, return 1 if the formal and _data ranks match. (compare_actual_formal): Do not compare storage sizes for class expressions. It is an error if an actual class array, passed to a formal class array is not full. * trans-expr.c (gfc_class_data_get, gfc_class_vptr_get, gfc_vtable_field_get, gfc_vtable_hash_get, gfc_vtable_size_get, gfc_vtable_extends_get, gfc_vtable_def_init_get, gfc_vtable_copy_get): New functions for class API. (gfc_conv_derived_to_class): For an array reference in an elemental procedure call retain the ss to provide the scalarized array reference. Moved in file. (gfc_conv_class_to_class): New function. (gfc_conv_subref_array_arg): Use the type of the class _data component as a basetype. (gfc_conv_procedure_call): Ensure that class array expressions have both the _data reference and an array reference. Use gfc_conv_class_to_class to handle class arrays for elemental functions in scalarized loops, class array elements and full class arrays. Use a call to gfc_conv_subref_array_arg in order that the copy-in/copy-out for passing class arrays to derived type arrays occurs correctly. (gfc_conv_expr): If it is missing, add the _data component between a class object or component and an array reference. (gfc_trans_class_array_init_assign): New function. (gfc_trans_class_init_assign): Call it for array expressions. * trans-array.c (gfc_add_loop_ss_code): Do not use a temp for class scalars since their size will depend on the dynamic type. (build_class_array_ref): New function. (gfc_conv_scalarized_array_ref): Call build_class_array_ref. (gfc_array_init_size): Add extra argument, expr3, that represents the SOURCE argument. If present,use this for the element size. (gfc_array_allocate): Also add argument expr3 and use it when calling gfc_array_init_size. (structure_alloc_comps): Enable class arrays. * class.c (gfc_add_component_ref): Carry over the derived type of the _data component. (gfc_add_class_array_ref): New function. (class_array_ref_detected): New static function. (gfc_is_class_array_ref): New function that calls previous. (gfc_is_class_scalar_expr): New function. (gfc_build_class_symbol): Throw not implemented error for assumed size class arrays. Remove error that prevents CLASS arrays. (gfc_build_class_symbol): Prevent pointer/allocatable conflict. Also unset codimension. (gfc_find_derived_vtab): Make 'copy' elemental and set the intent of the arguments accordingly.: * trans-array.h : Update prototype for gfc_array_allocate. * array.c (gfc_array_dimen_size): Return failure if class expr. (gfc_array_size): Likewise. * gfortran.h : New prototypes for gfc_add_class_array_ref, gfc_is_class_array_ref and gfc_is_class_scalar_expr. * trans-stmt.c (trans_associate_var): Exclude class targets from test. Move the allocation of the _vptr to an earlier time for class objects. (trans_associate_var): Assign the descriptor directly for class arrays. (gfc_trans_allocate): Add expr3 to gfc_array_allocate arguments. Convert array element references into sections. Do not invoke gfc_conv_procedure_call, use gfc_trans_call instead. * expr.c (gfc_get_corank): Fix for BT_CLASS. (gfc_is_simply_contiguous): Exclude class from test. * trans.c (gfc_build_array_ref): Include class array refs. * trans.h : Include prototypes for class API functions that are new in trans-expr. Define GFC_DECL_CLASS(node). * resolve.c (check_typebound_baseobject ): Remove error for non-scalar base object. (resolve_allocate_expr): Ensure that class _data component is present. If array, call gfc_expr_to_intialize. (resolve_select): Remove scalar error for SELECT statement as a temporary measure. (resolve_assoc_var): Update 'target' (aka 'selector') as needed. Ensure that the target expression has the right rank. (resolve_select_type): Ensure that target expressions have a valid locus. (resolve_allocate_expr, resolve_fl_derived0): Fix for BT_CLASS. * trans-decl.c (gfc_get_symbol_decl): Set GFC_DECL_CLASS, where appropriate. (gfc_trans_deferred_vars): Get class arrays right. * match.c(select_type_set_tmp): Add array spec to temporary. (gfc_match_select_type): Allow class arrays. * check.c (array_check): Ensure that class arrays have refs. (dim_corank_check, dim_rank_check): Retrun success if class. * primary.c (gfc_match_varspec): Fix for class arrays and co-arrays. Make sure that class _data is present. (gfc_match_rvalue): Handle class arrays. *trans-intrinsic.c (gfc_conv_intrinsic_size): Add class array reference. (gfc_conv_allocated): Add _data component to class expressions. (gfc_add_intrinsic_ss_code): ditto. * simplify.c (simplify_cobound): Fix for BT_CLASS. (simplify_bound): Return NULL for class arrays. (simplify_cobound): Obtain correct array_spec. Use cotype as appropriate. Use arrayspec for bounds. 2011-12-11 Paul Thomas <pault@gcc.gnu.org> Tobias Burnus <burnus@gcc.gnu.org> PR fortran/41539 PR fortran/43214 PR fortran/43969 PR fortran/44568 PR fortran/46356 PR fortran/46990 PR fortran/49074 * gfortran.dg/class_array_1.f03: New. * gfortran.dg/class_array_2.f03: New. * gfortran.dg/class_array_3.f03: New. * gfortran.dg/class_array_4.f03: New. * gfortran.dg/class_array_5.f03: New. * gfortran.dg/class_array_6.f03: New. * gfortran.dg/class_array_7.f03: New. * gfortran.dg/class_array_8.f03: New. * gfortran.dg/coarray_poly_1.f90: New. * gfortran.dg/coarray_poly_2.f90: New. * gfortran.dg/coarray/poly_run_1.f90: New. * gfortran.dg/coarray/poly_run_2.f90: New. * gfortran.dg/class_to_type_1.f03: New. * gfortran.dg/type_to_class_1.f03: New. * gfortran.dg/typebound_assignment_3.f03: Remove the error. * gfortran.dg/auto_dealloc_2.f90: Occurences of __builtin_free now 2. * gfortran.dg/class_19.f03: Occurences of __builtin_free now 8. Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org> From-SVN: r182210
Paul Thomas committed -
2011-12-11 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/50690 * frontend-passes.c (in_omp_workshare): New variable. (cfe_expr_0): Don't eliminiate common function if it would put the variable immediately into a WORKSHARE construct. (optimize_namespace): Set in_omp_workshare. (gfc_code_walker): Keep track of OMP PARALLEL and OMP WORKSHARE constructs. 2011-12-11 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/50690 * gfortran.dg/gomp/workshare2.f90: New test. * gfortran.dg/gomp/workshare3.f90: New test. From-SVN: r182208
Thomas Koenig committed -
* doc/xml/manual/abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y, remove excessive duplication of version information. * doc/html/*: Regenerate. From-SVN: r182206
Jonathan Wakely committed -
* trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge. From-SVN: r182205
Patrick Marlier committed -
From-SVN: r182204
Eric Botcazou committed -
utils2.c (gnat_build_constructor): Test the TREE_STATIC flag of elements to compute that of the constructor. * gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC flag of elements to compute that of the constructor. From-SVN: r182203
Eric Botcazou committed
-