OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years ago2011-11-04 Robert Dewar <dewar@adacore.com>
charlet [Fri, 4 Nov 2011 14:09:05 +0000 (14:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180955 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Robert Dewar <dewar@adacore.com>
charlet [Fri, 4 Nov 2011 14:00:29 +0000 (14:00 +0000)]
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).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180954 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 4 Nov 2011 13:57:31 +0000 (13:57 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180953 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Gary Dismukes <dismukes@adacore.com>
charlet [Fri, 4 Nov 2011 13:55:34 +0000 (13:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180952 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 4 Nov 2011 13:52:11 +0000 (13:52 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180951 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Yannick Moy <moy@adacore.com>
charlet [Fri, 4 Nov 2011 13:48:52 +0000 (13:48 +0000)]
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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180950 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Robert Dewar <dewar@adacore.com>
charlet [Fri, 4 Nov 2011 13:46:55 +0000 (13:46 +0000)]
2011-11-04  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb, atree.ads, prj-env.adb, prj-env.ads: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180949 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Yannick Moy <moy@adacore.com>
charlet [Fri, 4 Nov 2011 13:45:01 +0000 (13:45 +0000)]
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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180948 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Tristan Gingold <gingold@adacore.com>
gingold [Fri, 4 Nov 2011 13:39:21 +0000 (13:39 +0000)]
2011-11-04  Tristan Gingold  <gingold@adacore.com>

* config/alpha/vms.h (ASM_OUTPUT_DEF): Do not switch section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180947 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Joel Sherrill <joel.sherrill@oarcorp.com>
joel [Fri, 4 Nov 2011 12:57:40 +0000 (12:57 +0000)]
2011-11-04  Joel Sherrill  <joel.sherrill@oarcorp.com>

PR target/50989
* config.host (sparc-*-rtems*): Add sparc/t-softmul.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180946 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago Unrevert:
irar [Fri, 4 Nov 2011 12:55:06 +0000 (12:55 +0000)]
    Unrevert:
        2011-10-24  Ira Rosen  <ira.rosen@linaro.org>

        PR tree-optimization/50730
        * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic
        block analysis if encountered unsupported data-ref.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180945 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/48370
jason [Fri, 4 Nov 2011 12:54:08 +0000 (12:54 +0000)]
PR c++/48370
* call.c (extend_ref_init_temps, extend_ref_init_temps_1): New.
(set_up_extended_ref_temp): Use it.  Change cleanup parm to VEC.
(initialize_reference): Just call convert_like.
* decl.c (grok_reference_init): Just call initialize_reference.
(build_init_list_var_init): Remove.
(check_initializer): Change cleanup parm to VEC.  Handle references
like other types.  Call perform_implicit_conversion instead
of build_init_list_var_init.  Don't use build_aggr_init for
aggregate initialization of arrays.
(cp_finish_decl): Change cleanup to VEC.
* typeck2.c (store_init_value): Call extend_ref_init_temps.
Use build_vec_init for non-constant arrays.
* init.c (expand_aggr_init_1): Adjust.
(build_vec_init): Avoid re-converting an initializer
that's already digested.
* mangle.c (mangle_ref_init_variable): Add a discriminator.
* cp-tree.h: Adjust.
* typeck.c (convert_for_initialization): Adjust.
* decl2.c (maybe_emit_vtables): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180944 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Robert Dewar <dewar@adacore.com>
charlet [Fri, 4 Nov 2011 12:04:55 +0000 (12:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180943 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRestore c6x-elf bootstrap
ro [Fri, 4 Nov 2011 11:55:52 +0000 (11:55 +0000)]
Restore c6x-elf bootstrap

* config/c6x/t-elf (LIB2ADDEH): Set.
* config/c6x/t-c6x-elf: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180942 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoUse sol2-c[1n].S on more targets
ro [Fri, 4 Nov 2011 11:54:17 +0000 (11:54 +0000)]
Use sol2-c[1n].S on more targets

* config/i386/sol2-ci.S: Rename to ...
* config/i386/crti.S: ... this.
* config/i386/sol2-cn.S: Rename to ...
* config/i386/crtn.S: ... this.
* config/sparc/sol2-ci.S: Rename to ...
* config/sparc/crti.S: ... this.
* config/sparc/sol2-cn.S: Rename to ...
* config/sparc/crtn.S: ... this.
* config/t-sol2 (CUSTOM_CRTIN): Remove.
(crti.o, crtn.o): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180941 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Tom de Vries <tom@codesourcery.com>
vries [Fri, 4 Nov 2011 11:44:50 +0000 (11:44 +0000)]
2011-11-04  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* gcc.dg/pr50763-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180940 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Robert Dewar <dewar@adacore.com>
charlet [Fri, 4 Nov 2011 11:00:33 +0000 (11:00 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180939 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Robert Dewar <dewar@adacore.com>
charlet [Fri, 4 Nov 2011 10:58:44 +0000 (10:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180938 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Tom de Vries <tom@codesourcery.com>
vries [Fri, 4 Nov 2011 10:56:39 +0000 (10:56 +0000)]
2011-11-04  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* g++.dg/pr50763-4.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180936 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Robert Dewar <dewar@adacore.com>
charlet [Fri, 4 Nov 2011 10:55:41 +0000 (10:55 +0000)]
2011-11-04  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
for call vs assign.
* gcc-interface/Make-lang.in: Update dependencies.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Detect more cases of Long_Float inconsistencies at
compile time.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

* Makefile.rtl, impunit.adb: Added a-sfecin.ads,
* a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
* a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
a-sulcin.ad[sb]: New files.

2011-11-04  Geert Bosch  <bosch@adacore.com>

* i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
* gcc-interface/Makefile.in: Remove libgnala and related objects.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180935 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): New
jakub [Fri, 4 Nov 2011 10:39:25 +0000 (10:39 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180934 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add
jakub [Fri, 4 Nov 2011 10:37:04 +0000 (10:37 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180933 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle
jakub [Fri, 4 Nov 2011 10:35:44 +0000 (10:35 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180932 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
ebotcazou [Fri, 4 Nov 2011 10:27:02 +0000 (10:27 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180931 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Matthew Heaney <heaney@adacore.com>
charlet [Fri, 4 Nov 2011 09:58:07 +0000 (09:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180930 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Tristan Gingold <gingold@adacore.com>
gingold [Fri, 4 Nov 2011 09:25:41 +0000 (09:25 +0000)]
2011-11-04  Tristan Gingold  <gingold@adacore.com>

* config/ia64/fde-vms.c: Do not include md-unwind-support.h

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180929 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-04 Tristan Gingold <gingold@adacore.com>
gingold [Fri, 4 Nov 2011 09:11:27 +0000 (09:11 +0000)]
2011-11-04  Tristan Gingold  <gingold@adacore.com>

* config/alpha/alpha.c (alpha_write_linkage): Remove fundecl
argument.  Conditionally generate crash debug info.  Adjust
for alpha_funcs_tree removal.
(machine_function): Add links field.
(alpha_start_function): Conditionally generate crash debug info.
(alpha_end_function): Adjust call to alpha_write_linkage.
(alpha_funcs): Remove.
(links_kind): Remove.
(alpha_links): Remove num, target and lkind field.  Add func field.
(alpha_links_tree): Remove.
(alpha_funcs_tree): Remove.
(alpha_need_linkage): Remove.
(alpha_use_linkage): Change prototype.  Adjust.
(alpha_write_one_linkage): Use ASM_OUTPUT_INTERNAL_LABEL.
Use SYMBOL_REF_EXTERNAL_P and SYMBOL_REF_LOCAL_P macro.
* config/alpha/alpha-protos.h (alpha_use_linkage): Update.
(alpha_need_linkage): Remove.
* config/alpha/alpha.md: Update calls to alpha_use_linkage.
Adjust calls to alpha_need_linkage.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180928 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR fortran/43829
mikael [Fri, 4 Nov 2011 00:45:48 +0000 (00:45 +0000)]
PR fortran/43829
* gfortran.dg/function_optimize_7.f90: Disable sum inlining.
* gfortran.dg/inline_sum_1.f90: New.
* gfortran.dg/inline_sum_2.f90: New.
* gfortran.dg/inline_sum_bounds_check_1.f90: New.
* gfortran.dg/inline_sum_bounds_check_2.f90: New.
* gfortran.dg/inline_product_1.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180922 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/sh/t-sh: Use $(gcc_compile) instead of $(compile).
kkojima [Fri, 4 Nov 2011 00:41:58 +0000 (00:41 +0000)]
* config/sh/t-sh: Use $(gcc_compile) instead of $(compile).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180921 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR fortran/43829
mikael [Fri, 4 Nov 2011 00:31:19 +0000 (00:31 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180920 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parent
mikael [Fri, 4 Nov 2011 00:23:14 +0000 (00:23 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parent
expression variable.  Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180919 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current loop
mikael [Fri, 4 Nov 2011 00:21:14 +0000 (00:21 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current loop
pointer.  Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180918 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
mikael [Fri, 4 Nov 2011 00:19:11 +0000 (00:19 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
cleanup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180917 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 4 Nov 2011 00:18:17 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180916 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.
mikael [Fri, 4 Nov 2011 00:17:07 +0000 (00:17 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180913 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * frontend-passes.c (cfe_register_funcs): Return early in the case
mikael [Fri, 4 Nov 2011 00:14:58 +0000 (00:14 +0000)]
* frontend-passes.c (cfe_register_funcs): Return early in the case
of an inline intrinsic function.
(optimize_binop_array_assignment): Skip optimization in the case of
an inline intrinsic function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180911 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * array.c (match_subscript): Skip whitespaces before setting locus.
mikael [Fri, 4 Nov 2011 00:12:54 +0000 (00:12 +0000)]
* array.c (match_subscript): Skip whitespaces before setting locus.
* matchexp.c (match_level_1): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180910 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's
mikael [Fri, 4 Nov 2011 00:11:39 +0000 (00:11 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's
temporary rank to the loop rank. Mark ss chains for multiple loop
if necessary.  Use gfc_trans_scalarized_loop_boundary to end one loop
and start another.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180909 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's
mikael [Fri, 4 Nov 2011 00:09:27 +0000 (00:09 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's
temporary rank to the loop rank. Mark ss chains for multiple loop
if necessary.  Use gfc_trans_scalarized_loop_boundary to end one loop
and start another.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180908 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate
mikael [Fri, 4 Nov 2011 00:05:51 +0000 (00:05 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate
offset twice in generated code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180907 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-expr.c (gfc_conv_procedure_call): Handle temporaries for
mikael [Fri, 4 Nov 2011 00:04:27 +0000 (00:04 +0000)]
* trans-expr.c (gfc_conv_procedure_call): Handle temporaries for
arguments to elemental calls.
* trans-stmt.c (replace_ss): New function.
(gfc_conv_elemental_dependencies): Remove temporary loop handling.
Create a new ss for the temporary and replace the original one with it.
Remove fake array references. Recalculate all offsets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180906 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.h (gfc_free_ss, gfc_set_delta): New prototypes.
mikael [Fri, 4 Nov 2011 00:00:23 +0000 (00:00 +0000)]
* trans-array.h (gfc_free_ss, gfc_set_delta): New prototypes.
* trans-array.c (gfc_free_ss): Remove forward declaration.
Make non-static.
(set_delta, gfc_set_delta): Remove forward declaration.
Make non-static and rename the former to the later. Update uses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180905 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (gfc_inline_intrinsic_function_p): Move prototype...
mikael [Thu, 3 Nov 2011 23:58:20 +0000 (23:58 +0000)]
* trans.h (gfc_inline_intrinsic_function_p): Move prototype...
* gfortran.h (gfc_inline_intrinsic_function_p): ... here.
* dependency.c (gfc_check_argument_var_dependency): Check dependencies
of inline intrinsics' arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180904 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): New pointers to outer
mikael [Thu, 3 Nov 2011 23:56:20 +0000 (23:56 +0000)]
* trans-array.c (gfc_trans_preloop_setup): New pointers to outer
dimension's ss and loop. Use them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180903 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (outermost_loop): New function.
mikael [Thu, 3 Nov 2011 23:53:42 +0000 (23:53 +0000)]
* trans-array.c (outermost_loop): New function.
(gfc_trans_array_constructor, gfc_set_vector_loop_bounds,
gfc_add_loop_ss_code): Put generated code out of the outermost loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180902 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (constant_array_constructor_loop_size):
mikael [Thu, 3 Nov 2011 23:51:04 +0000 (23:51 +0000)]
* trans-array.c (constant_array_constructor_loop_size):
Handle multiple loops.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180901 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (get_rank, get_loop_upper_bound_for_array):
mikael [Thu, 3 Nov 2011 23:48:29 +0000 (23:48 +0000)]
* trans-array.c (get_rank, get_loop_upper_bound_for_array):
New functions.
(gfc_trans_array_constructor): Handle multiple loops.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180900 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_loopinfo): New field parent.
mikael [Thu, 3 Nov 2011 23:45:19 +0000 (23:45 +0000)]
* trans.h (struct gfc_loopinfo): New field parent.
* trans-array.c (gfc_cleanup_loop): Free nested loops.
(gfc_add_ss_to_loop): Set nested_loop's parent loop.
(gfc_trans_array_constructor): Update assertion.
(gfc_conv_loop_setup): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180899 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss.
mikael [Thu, 3 Nov 2011 23:41:28 +0000 (23:41 +0000)]
* trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss.
Call recursively gfc_add_loop_ss_code for all the nested loops.
(gfc_conv_ss_startstride): Only get the descriptor for the outermost
ss. Call recursively gfc_conv_ss_startstride for all the nested loops.
(set_loop_bounds): Call recursively for all the nested loops.
(set_delta): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180898 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_loopinfo): New fields nested and next.
mikael [Thu, 3 Nov 2011 23:39:11 +0000 (23:39 +0000)]
* trans.h (struct gfc_loopinfo): New fields nested and next.
* trans-array.c (gfc_add_ss_to_loop): Update list of nested list if
ss has non-null nested_ss field.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180897 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_create_temp_array): Loop over the parents.
mikael [Thu, 3 Nov 2011 23:37:24 +0000 (23:37 +0000)]
* trans-array.c (gfc_trans_create_temp_array): Loop over the parents.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180895 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (get_array_ref_dim, get_scalarizer_dim_for_array_dim):
mikael [Thu, 3 Nov 2011 23:34:53 +0000 (23:34 +0000)]
* trans-array.c (get_array_ref_dim, get_scalarizer_dim_for_array_dim):
Rename the former to the latter and loop over the parents.
(innermost_ss): New function.
(get_array_ref_dim_for_loop_dim): New function.
(gfc_trans_create_temp_array): Use get_scalarizer_dim_for_array_dim.
(set_loop_bounds): Use get_array_dim_for_loop_dim).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180894 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss): New field nested_ss.
mikael [Thu, 3 Nov 2011 23:31:32 +0000 (23:31 +0000)]
* trans.h (struct gfc_ss): New field nested_ss.
* trans-expr.c (gfc_advance_se_ss_chain): Update assertion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180893 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (set_vector_loop_bounds): Loop over the parents.
mikael [Thu, 3 Nov 2011 23:28:25 +0000 (23:28 +0000)]
* trans-array.c (set_vector_loop_bounds): Loop over the parents.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180892 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_array_constructor): Loop over the parents.
mikael [Thu, 3 Nov 2011 23:25:34 +0000 (23:25 +0000)]
* trans-array.c (gfc_trans_array_constructor): Loop over the parents.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180891 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over the
mikael [Thu, 3 Nov 2011 23:22:13 +0000 (23:22 +0000)]
* trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over the
parents.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180890 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss): New field parent.
mikael [Thu, 3 Nov 2011 23:17:08 +0000 (23:17 +0000)]
* trans.h (struct gfc_ss): New field parent.
* trans-array.c (gfc_trans_scalarizing_loops): Skip clearing if a
parent exists.
* trans-expr.c (gfc_advance_se_ss_chain): Move to parent ss at the
end of the chain.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180889 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.h (gfc_trans_create_temp_array): Remove loop argument.
mikael [Thu, 3 Nov 2011 23:06:22 +0000 (23:06 +0000)]
* trans-array.h (gfc_trans_create_temp_array): Remove loop argument.
* trans-array.c (gfc_trans_create_temp_array): Ditto.  Get loop from ss.
Update reference to loop.  Remove loop argument.
(gfc_trans_array_constructor, gfc_conv_loop_setup): Update calls to
gfc_trans_create_temp_array.
* trans-expr.c (gfc_conv_procedure_call): Ditto.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
Set loop before calling gfc_trans_create_temp_array.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180888 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_create_temp_array): New variable total_dim.
mikael [Thu, 3 Nov 2011 23:02:03 +0000 (23:02 +0000)]
* trans-array.c (gfc_trans_create_temp_array): New variable total_dim.
Set total_dim to loop's rank. Replace usages of loop's rank.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180887 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_array_constructor, trans_array_constructor):
mikael [Thu, 3 Nov 2011 22:59:29 +0000 (22:59 +0000)]
* trans-array.c (gfc_trans_array_constructor, trans_array_constructor):
Rename the former to the later.  Get loop from ss.
Remove loop argument.
(gfc_add_loop_ss_code): Update call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180886 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss.
mikael [Thu, 3 Nov 2011 22:56:12 +0000 (22:56 +0000)]
* trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss.
Remove loop argument.
(gfc_add_loop_ss_code): Update call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180885 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss): New field loop.
mikael [Thu, 3 Nov 2011 22:54:37 +0000 (22:54 +0000)]
* trans.h (struct gfc_ss): New field loop.
* trans-array.c (set_ss_loop): New function.
(gfc_add_ss_to_loop): Call set_ss_loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180884 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss_info): New field refcount.
mikael [Thu, 3 Nov 2011 22:50:06 +0000 (22:50 +0000)]
* trans.h (struct gfc_ss_info): New field refcount.
* trans-array.c (free_ss_info): Decrement refcount. Return early if
still non-zero.
(gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss): Increment
refcount.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180883 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_create_temp_array): Move invariant condition
mikael [Thu, 3 Nov 2011 22:45:41 +0000 (22:45 +0000)]
* trans-array.c (gfc_trans_create_temp_array): Move invariant condition
out of the containing loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180882 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array):
mikael [Thu, 3 Nov 2011 22:42:58 +0000 (22:42 +0000)]
* trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array):
Move specloop arrays clearing from the former to the latter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180881 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (set_loop_bounds): Separate the beginning of
mikael [Thu, 3 Nov 2011 22:40:55 +0000 (22:40 +0000)]
* trans-array.c (set_loop_bounds): Separate the beginning of
gfc_conv_loop_setup into a function of its own.
(set_delta): Separate the end of gfc_conv_loop_setup into a function
of its own.
(gfc_conv_loop_setup): Call set_loop_bounds and set delta.
(set_loop_bounds, set_delta, gfc_conv_loop_setup): Make loopspec a
pointer to the specloop field from the loop struct.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180880 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 3 Nov 2011 22:36:11 +0000 (22:36 +0000)]
2011-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50933
        * interface.c (gfc_compare_derived_types): Fix check for
        * BIND(C).

2011-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50933
        * gfortran.dg/bind_c_dts_5.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180879 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 3 Nov 2011 22:32:37 +0000 (22:32 +0000)]
2011-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50960
        * trans-decl.c (gfc_finish_var_decl): Mark PARAMETER as
        * TREE_READONLY.

2011-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50960
        * gfortran.dg/module_parameter_array_refs_2.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180878 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
mikael [Thu, 3 Nov 2011 22:29:25 +0000 (22:29 +0000)]
* trans.h (struct gfc_ss, struct gfc_ss_info): Move field
gfc_ss::where into gfc_ss_info.
* trans-array.c (gfc_add_loop_ss_code):
Update reference chains.
* trans-stmt.c (gfc_trans_where_assign, gfc_trans_where_3): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180877 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
mikael [Thu, 3 Nov 2011 22:24:37 +0000 (22:24 +0000)]
* trans.h (struct gfc_ss, struct gfc_ss_info): Move field
gfc_ss::useflags into gfc_ss_info.
* trans-array.c (gfc_mark_ss_chain_used, gfc_trans_preloop_setup,
gfc_trans_scalarizing_loops, gfc_trans_scalarized_boundary):
Update reference chains.
* trans-expr.c (gfc_conv_procedure_call): Ditto.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180875 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 3 Nov 2011 22:23:35 +0000 (22:23 +0000)]
2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>

* doc/doxygen/doxygroups.cc: Add markup for namespace tr2.
* include/tr2/bool_set: Adjust doxygen markup.
* include/tr2/dynamic_bitset: Same.
* include/tr2/type_traits: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180874 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
mikael [Thu, 3 Nov 2011 22:21:36 +0000 (22:21 +0000)]
* trans.h (struct gfc_ss, struct gfc_ss_info): Move field
gfc_ss::data::info into gfc_ss_info::data and remove empty union
gfc_ss::data.
* trans-array.c (gfc_free_ss, gfc_trans_create_temp_array,
gfc_trans_constant_array_constructor, gfc_trans_array_constructor,
gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,
gfc_conv_ss_descriptor, gfc_trans_array_bound_check,
gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
add_array_offset, gfc_trans_preloop_setup,
gfc_trans_scalarized_boundary, gfc_conv_section_startstride,
gfc_conv_ss_startstride, gfc_could_be_alias,
gfc_conv_loop_setup, gfc_conv_expr_descriptor,
gfc_alloc_allocatable_for_assignment, gfc_walk_array_ref):
Update reference chains and factor them where possible.
* trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,
gfc_conv_procedure_call, gfc_trans_subarray_assign): Updata reference
chains.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
* trans-io.c (transfer_array_component): Ditto.
* trans-stmt.c (gfc_conv_elemental_dependencies,
gfc_trans_pointer_assign_need_temp): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180873 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
mikael [Thu, 3 Nov 2011 22:16:29 +0000 (22:16 +0000)]
* trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
gfc_ss::data::temp into gfc_ss_info::data.
* trans-array.c (gfc_get_temp_ss, gfc_conv_loop_setup): Update reference
chains.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180872 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
mikael [Thu, 3 Nov 2011 22:10:25 +0000 (22:10 +0000)]
* trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
gfc_ss::data::scalar into newly created union gfc_ss_info::data,
and rename subfield expr to value.
* trans-array.c (gfc_add_loop_ss_code, gfc_conv_array_index_offset,
gfc_conv_expr_descriptor): Update reference chains.
* trans-const.c (gfc_conv_constant): Ditto.
* trans-expr.c (gfc_conv_expr): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180870 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
mikael [Thu, 3 Nov 2011 22:04:50 +0000 (22:04 +0000)]
* trans.h (struct gfc_ss, struct gfc_ss_info): Move field
string_length from the former struct to the latter.
* trans-array.c
(gfc_get_temp_ss, gfc_trans_array_constructor, gfc_add_loop_ss_code,
gfc_conv_ss_descriptor, gfc_conv_scalarized_array_ref,
gfc_conv_resolve_dependencies, gfc_conv_loop_setup,
gfc_conv_expr_descriptor): Update references to string_length and
factor common reference chains where possible.
* trans-const.c (gfc_conv_constant): Ditto.
* trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,
gfc_conv_expr): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180869 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move field expr from
mikael [Thu, 3 Nov 2011 22:01:46 +0000 (22:01 +0000)]
* trans.h (struct gfc_ss, struct gfc_ss_info): Move field expr from
the former struct to the latter.
* trans-array.c
(gfc_get_array_ss, gfc_get_scalar_ss,
gfc_trans_constant_array_constructor, gfc_trans_array_constructor,
gfc_add_loop_ss_code, gfc_conv_ss_descriptor,
gfc_trans_array_bound_check, gfc_conv_array_index_offset,
gfc_conv_scalarized_array_ref, gfc_conv_ss_startstride,
gfc_could_be_alias, gfc_conv_resolve_dependencies,
gfc_conv_loop_setup, gfc_conv_expr_descriptor,
gfc_alloc_allocatable_for_assignment): Update references to expr and
factor common reference chains where possible.
* trans-const.c (gfc_conv_constant): Ditto.
* trans-expr.c (gfc_conv_variable, gfc_conv_procedure_call,
gfc_conv_array_constructor_expr, gfc_conv_expr,
gfc_conv_expr_reference): Ditto.
* trans-intrinsic.c (trans_this_image, gfc_conv_intrinsic_bound,
gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_funcall,
gfc_add_intrinsic_ss_code): Ditto.
* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180868 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss_info): New struct.
mikael [Thu, 3 Nov 2011 21:55:48 +0000 (21:55 +0000)]
* trans.h (struct gfc_ss_info): New struct.
(gfc_get_ss_info): New macro.
(struct gfc_ss): Move type field to struct gfc_ss_info.
Add an info field of type gfc_ss_info.
* trans-array.c (free_ss_info): New function.
(gfc_free_ss): Call free_ss_info.
(gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss):
Allocate gfc_ss_info field.
(gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss,
gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,
gfc_conv_array_index_offset, gfc_trans_preloop_setup,
gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
gfc_conv_ss_startstride, gfc_conv_resolve_dependencies,
gfc_conv_loop_setup, transposed_dims, gfc_conv_expr_descriptor,
gfc_walk_elemental_function_args): Update references to type.
* trans-const.c (gfc_conv_constant): Factor common reference chains
and update reference to type.
* trans-expr.c (gfc_conv_procedure_call, gfc_trans_assignment_1):
Update reference to type.
(gfc_conv_array_constructor_expr, gfc_conv_expr,
gfc_conv_expr_reference): Ditto. Factor common reference chains.
* trans-intrinsic.c (walk_inline_intrinsic_transpose): Update references
to type
* trans-stmt.c (gfc_trans_where_assign): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180867 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_array_info): Move shape field
mikael [Thu, 3 Nov 2011 21:47:49 +0000 (21:47 +0000)]
* trans.h (struct gfc_ss, struct gfc_array_info): Move shape field
from the former struct to the latter.
* trans-array.c (gfc_conv_ss_startstride, gfc_conv_loop_setup):
Update field references.
* trans-expr.c (gfc_trans_subarray_assign): Update field references
and factor common reference chains.
* trans-io.c (transfer_array_component): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180866 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_array_info): Move dim and dimen fields...
mikael [Thu, 3 Nov 2011 21:44:56 +0000 (21:44 +0000)]
* trans.h (struct gfc_array_info): Move dim and dimen fields...
(struct gfc_ss): ... here.  Remove gfc_ss::data::temp::dimen field.
* trans-array.c (gfc_conv_loop_setup): Remove temp_ss dim array
initialization.
(gfc_get_temp_ss): Initialize dim and dimen.
(gfc_free_ss, gfc_get_array_ss, gfc_get_temp_ss,
gfc_set_loop_bounds_from_array_spec, get_array_ref_dim,
gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
gfc_set_vector_loop_bounds, gfc_conv_scalarized_array_ref,
gfc_trans_preloop_setup, gfc_conv_ss_startstride,
gfc_conv_resolve_dependencies, gfc_conv_loop_setup, transposed_dims,
gfc_conv_expr_descriptor, gfc_alloc_allocatable_for_assignment,
gfc_walk_array_ref): Update field references.
* trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):
Ditto.
* trans-intrinsic.c (walk_inline_intrinsic_transpose): Ditto.
* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180865 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss_info, struct gfc_array_info):
mikael [Thu, 3 Nov 2011 21:39:11 +0000 (21:39 +0000)]
* trans.h (struct gfc_ss_info, struct gfc_array_info):
Rename the former to the latter.
* trans-array.c (gfc_get_array_ss, gfc_trans_allocate_array_storage,
get_array_ref_dim, gfc_trans_create_temp_array,
gfc_trans_constant_array_constructor, gfc_set_vector_loop_bounds,
gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
add_array_offset, gfc_trans_preloop_setup, gfc_conv_section_startstride,
gfc_conv_ss_startstride, gfc_conv_loop_setup, transposed_dims,
gfc_conv_expr_descriptor): Update all uses.
* trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):
Ditto.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer,
walk_inline_intrinsic_transpose): Ditto.
* trans-stmt.c (gfc_conv_elemental_dependencies,
gfc_trans_pointer_assign_need_temp): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180864 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (dim_ok, transposed_dims): Rename the former to the
mikael [Thu, 3 Nov 2011 21:35:35 +0000 (21:35 +0000)]
* trans-array.c (dim_ok, transposed_dims): Rename the former to the
latter.  Change argument type.  Invert return value.
(gfc_conv_expr_descriptor): Update calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180862 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (get_array_ref_dim): Change argument type and name.
mikael [Thu, 3 Nov 2011 21:33:28 +0000 (21:33 +0000)]
* trans-array.c (get_array_ref_dim): Change argument type and name.
Obtain previous argument from the new argument in the body.
(gfc_trans_create_temp_arry, gfc_conv_loop_setup): Update calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180861 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_set_vector_loop_bounds, set_vector_loop_bounds):
mikael [Thu, 3 Nov 2011 21:31:12 +0000 (21:31 +0000)]
* trans-array.c (gfc_set_vector_loop_bounds, set_vector_loop_bounds):
Rename the former to the latter.  Change type and name of argument.
Get previous argument from the new one.
(gfc_add_loop_ss_code): Update call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180860 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.h (gfc_trans_create_temp_array): Replace info argument
mikael [Thu, 3 Nov 2011 21:28:26 +0000 (21:28 +0000)]
* trans-array.h (gfc_trans_create_temp_array): Replace info argument
with ss argument.
* trans-array.c (gfc_trans_create_temp_array): Ditto. Get info from ss.
(gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
gfc_trans_create_temp_array.
* trans-expr.c (gfc_conv_procedure_call): Ditto.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180859 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_array_bound_check): Use ss argument
mikael [Thu, 3 Nov 2011 21:24:24 +0000 (21:24 +0000)]
* trans-array.c (gfc_trans_array_bound_check): Use ss argument
to get name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180858 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_array_bound_check,
mikael [Thu, 3 Nov 2011 21:21:30 +0000 (21:21 +0000)]
* trans-array.c (gfc_trans_array_bound_check,
trans_array_bound_check): Rename the former to the latter.
Replace descriptor argument with ss argument.  Get descriptor from ss.
(gfc_conv_array_index_offset, conv_array_index_offset): Rename the
former to the latter.  Update call to trans_array_bound_check.
Replace info argument with ss argument.  Get info from ss.
(gfc_conv_scalarized_array_ref): Update call to conv_array_index_offset.
(add_array_offset): Ditto

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180857 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_constant_array_constructor,
mikael [Thu, 3 Nov 2011 21:19:27 +0000 (21:19 +0000)]
* trans-array.c (gfc_trans_constant_array_constructor,
trans_constant_array_constructor): Rename the former to the latter.
Don't set the rank of the temporary for the loop.  Remove then unused
loop argument.
(gfc_trans_array_constructor): Update call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180856 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_scalarizing_loops): Stop loop before end
mikael [Thu, 3 Nov 2011 21:16:54 +0000 (21:16 +0000)]
* trans-array.c (gfc_trans_scalarizing_loops): Stop loop before end
marker, not after it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180855 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config.host (crisv32-*-none, cris-*-none): Remove.
hp [Thu, 3 Nov 2011 21:16:07 +0000 (21:16 +0000)]
* config.host (crisv32-*-none, cris-*-none): Remove.
(crisv32-*-elf): Append to tmake_file, don't just set it.
(cris-*-elf): Add missing t-fdpbit to tmake_file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180854 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.
mikael [Thu, 3 Nov 2011 21:14:19 +0000 (21:14 +0000)]
* trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180853 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_conv_ss_startstride): Access array bounds along
mikael [Thu, 3 Nov 2011 21:12:33 +0000 (21:12 +0000)]
* trans-array.c (gfc_conv_ss_startstride): Access array bounds along
array dimensions instead of loop dimensions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180852 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Assertify one condition.
mikael [Thu, 3 Nov 2011 21:09:58 +0000 (21:09 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Assertify one condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180851 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_walk_array_ref): Skip coarray dimensions.
mikael [Thu, 3 Nov 2011 21:08:25 +0000 (21:08 +0000)]
* trans-array.c (gfc_walk_array_ref): Skip coarray dimensions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180850 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (get_array_ref_dim): Remove redundant condition.
mikael [Thu, 3 Nov 2011 21:03:56 +0000 (21:03 +0000)]
* trans-array.c (get_array_ref_dim): Remove redundant condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180849 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Move common code...
mikael [Thu, 3 Nov 2011 21:00:41 +0000 (21:00 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Move common code...
(add_array_offset): ...into that new function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180848 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead
mikael [Thu, 3 Nov 2011 20:56:19 +0000 (20:56 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead
of array's dimention. Check that it is indeed the same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180847 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.
mikael [Thu, 3 Nov 2011 20:52:14 +0000 (20:52 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.
Special case outermost loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180846 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * sched-vis.c (print_value): Handle STRICT_LOW_PART.
uros [Thu, 3 Nov 2011 20:49:36 +0000 (20:49 +0000)]
* sched-vis.c (print_value): Handle STRICT_LOW_PART.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180845 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Factor loop index
mikael [Thu, 3 Nov 2011 20:49:14 +0000 (20:49 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Factor loop index
initialization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180844 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Move code earlier.
mikael [Thu, 3 Nov 2011 20:46:00 +0000 (20:46 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Move code earlier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180843 138bc75d-0d04-0410-961f-82ee72b054a4