* exp_ch11.adb:
(Expand_Exception_Handlers): Call Make_Exception_Handler instead of
Make_Implicit_Exception_Handler when rewriting an exception handler with
a choice parameter, and pass the handler's Sloc instead of that of the
handled sequence of statements. Make_Implicit_Exception_Handler sets the
Sloc to No_Location (unless debugging generated code), which we don't
want for the case of a user handler.
From-SVN: r139291
gcc/
2008-08-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/37169
* config/i386/i386.c (ix86_expand_vector_init_one_nonzero): In
V2DI mode, for SSE4.1, use movq instead of vector set if the
second element is zero and inter-unit moves are OK.
gcc/testsuite/
2008-08-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/37169
* i386/sse2-init-v2di-2.c: New.
From-SVN: r139289
2008-08-20 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
* sem_ch13.adb:
(Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
now labeled as info msgs, not warnings.
From-SVN: r139287
2008-08-20 Jose Ruiz <ruiz@adacore.com>
* errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
to get access to the per-task errno variable.
(__set_errno for MaRTE): Do not redefine this function here since it is
already defined in MaRTE.
From-SVN: r139284
* s-fileio.adb (Open) Use C helper function to determine whether a
given errno value corresponds to a "file not found" error.
* sysdep.c (__gnat_is_file_not_found_error): New C helper function.
From-SVN: r139283
2008-08-20 Robert Dewar <dewar@adacore.com>
* a-ztexio.adb: Minor code reorganization
Remove redundant test found working on another issue
From-SVN: r139282
2008-08-20 Robert Dewar <dewar@adacore.com>
* a-witeio.adb: Minor code reorganization
Remove redundant test found working on another issue
From-SVN: r139281
2008-08-20 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor reformatting
* g-comlin.adb: Minor reformatting
* g-socket.adb: Minor reformatting
* g-socthi-mingw.adb: Minor reformatting
* g-stheme.adb: Minor reformatting
From-SVN: r139277
2008-08-20 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
confusion between partial and full views of an ancestor of the context
type when the parent is a private extension declared in a parent unit,
and full views are available for the context type.
From-SVN: r139269
* configure.ac (HAVE_GAS_CFI_DIRECTIVE): Always test for assembler
support of this feature. Do not assume that a sufficiently new
assembler will support the feature regardless of the target type.
(HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
* configure: Regenerate.
From-SVN: r139266
2008-08-20 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (found_in_subgraph): Remove.
(live): New global static.
(live_on_edge): New function.
(blocks_visited): Remove.
(register_edge_assert_for_2): Use live_on_edge.
(find_conditional_asserts): Remove code dealing with
found_in_subgraph. Do not walk the CFG.
(find_switch_asserts): Likewise.
(find_assert_locations_1): Renamed from find_assert_locations.
Move finding assert locations for conditional and switch
statements first. Update live bitmap. Do not walk the CFG.
(find_assert_locations): New function.
(insert_range_assertions): Remove entry of CFG walk.
Adjust call to find_assert_locations.
* tree-ssa-pre.c (do_regular_insertion): Ignore critical edges
that only can appear because of fake exit edges but assert we
never try to insert on those.
(fini_pre): Do not remove fake exit edges here...
(execute_pre): ...but here, before committing edge inserts.
* gcc.dg/tree-ssa/pr20701.c: Scan vrp1 dump.
* gcc.dg/tree-ssa/ssa-dom-thread-1.c: Pass -fno-tree-vrp.
* gcc.dg/tree-ssa/ssa-pre-20.c: New testcase.
From-SVN: r139263
testsuite/ChangeLog:
* gcc.dg/torture/fp-int-convert-float.c: Reenable test on SPU.
* gcc.dg/torture/fp-int-convert-timode.c: Reenable "float" test on SPU.
From-SVN: r139239
2008-08-19 Rafael Espindola <espindola@google.com>
* varasm.c (weak_decls): Move earlier in the file.
(assemble_external): Add weak decls to the weak_decls list.
(declare_weak): Don't add decls to the weak_decls list.
From-SVN: r139233
* tree-vectorizer.c (supportable_widening_operation): Support
multi-step conversion, return the number of steps in such conversion
and the required intermediate types.
(supportable_narrowing_operation): Likewise.
* tree-vectorizer.h (vect_pow2): New function.
(supportable_widening_operation): Change argument types.
(supportable_narrowing_operation): Likewise.
(vectorizable_type_promotion): Add an argument.
(vectorizable_type_demotion): Likewise.
* tree-vect-analyze.c (vect_analyze_operations): Call
vectorizable_type_promotion and vectorizable_type_demotion with
additional argument.
(vect_get_and_check_slp_defs): Detect patterns.
(vect_build_slp_tree): Add an argument, don't fail in case of multiple
types.
(vect_analyze_slp_instance): Don't fail in case of multiple types. Call
vect_build_slp_tree with correct arguments. Calculate unrolling factor
according to the smallest type in the loop.
(vect_detect_hybrid_slp_stmts): Include statements from patterns.
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Call
supportable_widening_operation with correct arguments.
* tree-vect-transform.c (vect_get_slp_defs): Allocate output vector
operands lists according to the number of vector statements in left
or right node, if exists.
(vect_gen_widened_results_half): Remove unused argument.
(vectorizable_conversion): Call supportable_widening_operation,
supportable_narrowing_operation, and vect_gen_widened_results_half
with correct arguments.
(vectorizable_assignment): Change documentation, support multiple
types in SLP.
(vectorizable_operation): Likewise.
(vect_get_loop_based_defs): New function.
(vect_create_vectorized_demotion_stmts): Likewise.
(vectorizable_type_demotion): Support loop-aware SLP and general
multi-step conversion. Call vect_get_loop_based_defs and
vect_create_vectorized_demotion_stmts for transformation.
(vect_create_vectorized_promotion_stmts): New function.
(vectorizable_type_promotion): Support loop-aware SLP and general
multi-step conversion. Call vect_create_vectorized_promotion_stmts
for transformation.
(vectorizable_store): Change documentation, support multiple
types in SLP.
(vectorizable_load): Likewise.
(vect_transform_stmt): Pass SLP_NODE to
vectorizable_type_promotion and vectorizable_type_demotion.
(vect_schedule_slp_instance): Move here the calculation of number
of vectorized statements for each node from...
(vect_schedule_slp): ... here.
(vect_transform_loop): Call vect_schedule_slp without the last
argument.
From-SVN: r139225
2008-08-18 Daniel Franke <franke.daniel@gmail.com>
PR fortran/37032
* gfortran.texi: Document decision on include file handling in
preprocessed files.
From-SVN: r139215
2008-08-18 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/37153
* value-prof.c (check_counter): Dereference pointer to overall
count when printing it.
From-SVN: r139211
2008-08-18 Paolo Carlini <paolo.carlini@oracle.com>
* configure.ac: Do not hardcode HAVE_S_ISREG and HAVE_S_IFREG for
newlib.
* configure: Regenerate.
From-SVN: r139203