* lib/gcc-dg.exp (gcc_force_conventional_output): New global
variable, default empty, -ffat-lto-objects for effective_target_lto.
(gcc-dg-test-1): Add options from dg-final methods.
* lib/scanasm.exp (scan-assembler_required_options)
(scan-assembler-not_required_options): New procs.
From-SVN: r180972
/cp
2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48420
* call.c (conversion_null_warnings): For 'false' to NULL pointer,
just check that TREE_TYPE (expr) is a BOOLEAN_TYPE.
/testsuite
2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48420
* g++.dg/warn/Wconversion-null-3.C: New.
From-SVN: r180963
2011-11-04 Thomas Doerfler <thomas.doerfler@embedded-brains.de>
PR target/50980
* config/arm/rtems-elf.h, config/arm/t-rtems: Add optional
support for VFP floating point model.
From-SVN: r180959
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi (Performance Considerations) <Vectorization
of loops>: New sub-section. <Other Optimization Switches>:
Minor tweak.
From-SVN: r180956
2011-11-04 Robert Dewar <dewar@adacore.com>
* sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
Avoid junk semicolon after argument of machine code Asm operand.
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
CodePeer mode or if restriction No_Exception_Handlers is present.
* exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
nodes in CodePeer mode or if restriction No_Exception_Handlers
is present.
2011-11-04 Robert Dewar <dewar@adacore.com>
* s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Specification): The
specification is legal if it is a function that returns an
abstract type, if it comes from an attribute renaming of a stream
attribute of an abstract type.
2011-11-04 Gary Dismukes <dismukes@adacore.com>
* exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
components, check whether recursively check whether the prefix
denotes an unaligned object.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Debug): The argument of
the pragma is legal if it is an expanded name that denotes a
procedure that be can called without parameters.
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi (Performance Considerations) <Vectorization
of loops>: New sub-section. <Other Optimization Switches>:
Minor tweak.
From-SVN: r180955
2011-11-04 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor reformatting.
2011-11-04 Matthew Heaney <heaney@adacore.com>
* a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
when Target and Source denote same non-empty object
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_attr.adb: Minor reformatting.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Assign_Record): Do not generate a
discriminant assignment within an initialization proc if the
record is an unchecked union, as it can only come from the
initialization of an unchecked union component.
2011-11-04 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor reformatting.
2011-11-04 Robert Dewar <dewar@adacore.com>
* par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
warning message.
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor code reorganization (remove junk obsolete
var Save_Space).
From-SVN: r180954
2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_alfa.adb: Add local constant
Disable_Processing_Of_Renamings;
(Expand_Alfa_N_Object_Renaming_Declaration): Disable
the name evaluation of object renamings for now.
(Expand_Potential_Renaming): Do not perform the substitution
for now.
* exp_util.adb (Remove_Side_Effects): Remove processing for
functions with side effects in Alfa mode.
From-SVN: r180953
2011-11-04 Gary Dismukes <dismukes@adacore.com>
* bindgen.adb (Gen_Elab_Calls): In the case
of the AAMP target, set elaboration entities to 1 rather than
incrementing.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Install_Limited_With_Unit): To establish the
proper entities on the ancestors of a child unit that appear
in a limited_with clause, follow the unit links because the
units are not analyzed and scope information is incomplete.
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch4.adb (Expand_N_Selected_Component): Refine code
setting the Atomic_Sync_Required flag to detect one more case.
* exp_util.adb (Activate_Atomic_Synchronization): Refine code
setting the Atomic_Sync_Required flag to exclude more cases,
depending on the parent of the node to be examined.
2011-11-04 Bob Duff <duff@adacore.com>
* g-excact.adb: Minor: use named notation.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb: Improve error messages for illegal iterators.
From-SVN: r180952
2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
Sem_Util.
(Expand_Alfa): Alphabetize cases on first choice. Add
processing for object renaming declarations, identifiers and
expanded names.
(Expand_Alfa_N_In): Remove useless return.
(Expand_Alfa_N_Object_Renaming_Declaration): New routine.
(Expand_Potential_Renaming): New routine.
* exp_ch8.adb (Evaluate_Name): Moved to the top level.
(Expand_N_Object_Declaration): Alphabetize local variables. Move
Evaluate_Name out to the top level.
* exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
* exp_util.adb (Remove_Side_Effects): Add processing for
functions with side effects in Alfa mode.
2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
* gnat_rm.texi: Add entries for
restrictions No_Relative_Delay, No_Requeue_Statements and
No_Stream_Optimizations.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb: Set type of entity in prefixed call, for
completeness in a generic context.
From-SVN: r180951
2011-11-04 Yannick Moy <moy@adacore.com>
* sem_prag.adb: Minor refactoring (renaming of a parameter).
2011-11-04 Robert Dewar <dewar@adacore.com>
* atree.ads: Minor reformatting.
2011-11-04 Robert Dewar <dewar@adacore.com>
* checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
and -gnatd.e here
* exp_ch2.adb (Expand_Entity_Reference): Use
Activate_Atomic_Synchronization
* exp_ch4.adb (Expand_N_Explicit_Dereference): Use
Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
Activate_Atomic_Synchronization (Expand_N_Selected_Component):
Use Activate_Atomic_Synchronization
* exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
procedure.
* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
N_Selected_Component node
From-SVN: r180950
2011-11-04 Yannick Moy <moy@adacore.com>
* atree.adb, atree.ads (Set_Original_Node): New set procedure.
* sem_ch13.adb (Analyze_Aspect_Specifications/Pre_Post_Aspects):
In ASIS mode, no splitting of aspects between conjuncts.
(Analyze_Aspect_Specifications/Aspect_Test_Case): Make pragma
expressions refer to the original aspect expressions through
the Original_Node link. This is used in semantic analysis for
ASIS mode, so that the original expression also gets analyzed.
* sem_prag.adb (Preanalyze_TC_Args,
Check_Precondition_Postcondition,
Analyze_Pragma/Pragma_Test_Case): In ASIS mode, for a pragma
generated from a source aspect, also analyze the original aspect
expression.
(Check_Expr_Is_Static_Expression): New procedure
similar to existing procedure Check_Arg_Is_Static_Expression,
except called on expression inside pragma.
2011-11-04 Tristan Gingold <gingold@adacore.com>
* prj-env.adb, prj-env.ads (Find_Name_In_Path): New function, from
Find_Project.Try_Path_Name.
(Find_Project): Use Find_Name_In_Path to implement Try_Path_Name.
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
* s-atocou.ads (Atomic_Counter): Remove redundant pragma Volatile.
2011-11-04 Pascal Obry <obry@adacore.com>
* projects.texi: Add short description for qualifiers aggregate
and aggregate library.
2011-11-04 Matthew Heaney <heaney@adacore.com>
* Makefile.rtl, impunit.adb: Added a-cogeso.ad[sb]
* a-cgaaso.adb: Replaced implementation with instantiation
of Generic_Sort.
* a-cogeso.ad[sb] This is the new Ada 2012 unit
Ada.Containers.Generic_Sort
From-SVN: r180948
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_ch2.adb (Expand_Entity_Reference): Do not set
Atomic_Sync_Required for the case of a prefix of an attribute.
* exp_ch4.adb (Expand_N_Explicit_Dereference): May require
atomic synchronization
(Expand_N_Indexed_Component): Ditto.
(Expand_B_Selected_Component): Ditto.
* sem_prag.adb (Process_Suppress_Unsuppress):
Disable/Enable_Atomic_Synchronization can now occur for array
types with pragma Atomic_Components.
* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
N_Explicit_Dereference nodes and on N_Indexed_Component nodes.
2011-11-04 Gary Dismukes <dismukes@adacore.com>
* gnat_ugn.texi: Editorial corrections for gnattest section.
From-SVN: r180943
2011-11-04 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Minor reformatting.
* gnat_rm.texi: Update documentation for pragma Warnings (Off,
"***") usage.
* exp_ch2.adb (Expand_Entity_Reference): Only set
Atomic_Sync_Required on entities that are variables. Doesn't
make any sense on anything else.
From-SVN: r180939
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_ch2.adb (Expand_Entity_Reference): Extend handling of
atomic sync to type case.
* sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
apply to types.
From-SVN: r180938
* config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): New
function.
* config/i386/i386-protos.h (ix86_expand_vector_convert_uns_vsivsf):
New prototype.
* config/i386/sse.md (floatuns<sseintvecmodelower><mode>2): Use it.
For floatunsv8siv8sf2 require TARGET_AVX2.
* gcc.dg/torture/vec-cvt-1.c: Enable commented out inttoflttestui
test.
From-SVN: r180934
* config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add
XORP argument. Subtract 0x1p31 instead of 0x1p32. Use normal
signalling comparison instead of non-signalling. Store into
*XORP pseudo holding 0x80000000 integers if 0x1p31 has been
subtracted and 0 otherwise.
* config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si):
Adjust prototype.
* config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Enable
already for TARGET_SSE2. Xor in vector initialized by
ix86_expand_adjust_ufix_to_sfix_si at the end.
(vec_pack_ufix_trunc_<mode>): Likewise.
* gcc.dg/torture/vec-cvt-1.c: Enable flttointtestui test.
From-SVN: r180933
* tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle
not just FLOAT_EXPR and FIX_TRUNC_EXPR, but also CONVERT_EXPR_CODE_P,
WIDEN_MULT_EXPR and WIDEN_LSHIFT_EXPR to handle what
vectorizable_type_demotion and vectorizable_type_promotion did.
Additionally handle FLOAT_EXPR and FIX_TRUNC_EXPR where the integer
is {,un}signed {char,short}.
(vect_create_vectorized_demotion_stmts): Fix comment typo. For
recursive calls unconditionally use VEC_PACK_TRUNC_EXPR.
Push vec_dest back to the vec_dsts vector at the end.
(vect_create_vectorized_promotion_stmts): Don't recurse, do just
one step. Removed multi_step_cvt, vec_dsts, slp_node and
prev_stmt_info arguments, add vec_dest argument. Push always
into vec_tmp, not just when multi_step_cvt != 0, replace *vec_oprdn0
with vec_tmp at the end after freeing old *vec_oprnd0 vector.
(vectorizable_type_demotion, vectorizable_type_promotion): Removed.
(vect_analyze_stmt): Don't call vectorizable_type_demotion and
vectorizable_type_promotion. Call vectorizable_conversion even
for SLP bb vectorization.
(vect_transform_stmt): Call vectorizable_conversion instead of
vectorizable_type_demotion and vectorizable_type_promotion.
(supportable_widening_operation): Clear *multi_step_cvt first,
simplify c1/c2 computation, free *interm_types vector on failure.
(supportable_narrowing_operation): Clear *multi_step_cvt first,
free *interm_types vector on failure, handle multi-step
FIX_TRUNC_EXPR.
* gcc.dg/torture/vec-cvt-1.c: New test.
From-SVN: r180932
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
that the type of the parameters isn't dummy in type_annotate_only mode.
From-SVN: r180931
2011-11-04 Matthew Heaney <heaney@adacore.com>
* a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
added to package.
2011-11-04 Robert Dewar <dewar@adacore.com>
* sem_ch12.adb: Minor reformatting
2011-11-04 Gary Dismukes <dismukes@adacore.com>
* bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
initialize elaboration entities to zero when specs are processed.
From-SVN: r180930
PR fortran/43829
* trans-array.c (gfc_conv_expr_descriptor): Accept the inline intrinsic
case in the assertion.
* trans-intrinsic (enter_nested_loop): New function.
(gfc_conv_intrinsic_arith): Support non-scalar cases.
(nest_loop_dimension, walk_inline_intrinsic_arith): New functions.
(walk_inline_intrinsic_function): Handle sum and product.
(gfc_inline_intrinsic_function_p): Ditto.
* trans.h (gfc_get_loopinfo): New macro.
From-SVN: r180920