platform/upstream/gcc.git
14 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Jun 2010 10:09:30 +0000 (12:09 +0200)]
[multiple changes]

2010-06-14  Robert Dewar  <dewar@adacore.com>

* opt.ads, sem.adb, sem_elab.adb: Minor reformatting

2010-06-14  Robert Dewar  <dewar@adacore.com>

* exp_aggr.adb (Has_Address_Clause): Moved to Exp_Util, and there it
is renamed as Has_Following_Address_Clause.
* exp_ch3.adb (Needs_Simple_Initialization): Add Consider_IS argument
to allow the caller to avoid Initialize_Scalars having an effect.
(Expand_N_Object_Declaration): Do not do Initialize_Scalars stuff for
scalars with an address clause specified.
* exp_ch3.ads (Needs_Simple_Initialization): Add Consider_IS argument
to allow the caller to avoid Initialize_Scalars having an effect.
* exp_util.adb (Has_Following_Address_Clause): Moved here from Exp_Aggr
(where it was called Has_Address_Clause).
* exp_util.ads (Has_Following_Address_Clause): Moved here from Exp_Aggr
(where it was called Has_Address_Clause).
* freeze.adb (Warn_Overlay): Suppress message about overlaying causing
problems for Initialize_Scalars (since we no longer initialize objects
with an address clause.

2010-06-14  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb (Expand_Pragma_Check): Set Loc of generated code from
condition.

2010-06-14  Gary Dismukes  <dismukes@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Debug_Info_Needed
on the entity of an implicitly generated postcondition procedure.

2010-06-14  Thomas Quinot  <quinot@adacore.com>

* sem_ch7.adb (Preserve_Full_Attributes): Propagate
Discriminant_Constraint elist from full view to private view.

From-SVN: r160720

14 years agoMinor reformatting.
Arnaud Charlet [Mon, 14 Jun 2010 09:37:52 +0000 (11:37 +0200)]
Minor reformatting.

From-SVN: r160719

14 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Jun 2010 09:34:49 +0000 (11:34 +0200)]
[multiple changes]

2010-06-14  Robert Dewar  <dewar@adacore.com>

* sem_res.adb: Minor reformatting

2010-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem.adb: New version of unit traversal.

* sem_elab.adb (Check_Internal_Call): Do not place a call appearing
within a generic unit in the table of delayed calls.

From-SVN: r160718

14 years agoFix typo.
Arnaud Charlet [Mon, 14 Jun 2010 09:28:36 +0000 (11:28 +0200)]
Fix typo.

From-SVN: r160717

14 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Jun 2010 09:26:32 +0000 (11:26 +0200)]
[multiple changes]

2010-06-14  Robert Dewar  <dewar@adacore.com>

* gnatcmd.adb, sem_util.adb, exp_ch3.adb: Minor reformatting

2010-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Save_References): If an identifier has been rewritten
during analysis as an explicit dereference, keep the reference implicit
in the generic, but preserve the entity if global. This prevents
malformed generic trees in the presence of some nested generics.

2010-06-14  Sergey Rybin  <rybin@adacore.com>

* gnat_ugn.texi: For the GNAT driver, clarify the effect of calling the
tool with '-files=' option. Also fix some small errors (wrong brackets)

From-SVN: r160716

14 years agognatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all the ALI files...
Vincent Celier [Mon, 14 Jun 2010 09:22:35 +0000 (09:22 +0000)]
gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all the ALI files on the...

2010-06-14  Vincent Celier  <celier@adacore.com>

* gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all
the ALI files on the command line.

* ali.adb (Scan_ALI): Set component Directly_Scanned of the unit(s) to
the same value as the parameter of the same name.
* ali.ads (Scan_ALI): New Boolean parameter Directly_Scanned, defaulted
to False.
* bindgen.adb (Gen_Versions_Ada): Never emit version symbols for
Stand-Alone Library interfaces. When binding Stand-Alone Libraries,
emit version symbols only for the units of the library.
(Gen_Versions_C): Ditto.

From-SVN: r160715

14 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Jun 2010 09:17:14 +0000 (11:17 +0200)]
[multiple changes]

2010-06-14  Gary Dismukes  <dismukes@adacore.com>

* sem_ch4.adb: Fix typo.

2010-06-14  Vasiliy Fofanov  <fofanov@adacore.com>

* s-oscons-tmplt.c (IOV_MAX): redefine on Tru64 and VMS since the
vector IO doesn't work at default value properly.

2010-06-14  Doug Rupp  <rupp@adacore.com>

* s-stoele.adb: Remove unnecessary qualification of To_Address for VMS.

2010-06-14  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb (Check_Files): Do not invoke the tool with all the
sources of the project if a switch -files= is used.

2010-06-14  Thomas Quinot  <quinot@adacore.com>

* exp_attr.adb: Minor reformatting

From-SVN: r160714

14 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Jun 2010 09:08:47 +0000 (11:08 +0200)]
[multiple changes]

2010-06-14  Gary Dismukes  <dismukes@adacore.com>

* gnat_ugn.texi: Minor typo fixes and wording changes

2010-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_One_Call): If the call has been rewritten from a
prefixed form, do not re-analyze first actual, which may need an
implicit dereference.
* sem_ch6.adb (Analyze_Procedure_Call): If the call is given in
prefixed notation, the analysis will rewrite the node, and possible
errors appear in the rewritten name of the node.
* sem_res.adb: If a call is ambiguous because its first parameter is
an overloaded call, report list of candidates, to clarify ambiguity of
enclosing call.

2010-06-14  Doug Rupp  <rupp@adacore.com>

* s-auxdec-vms-alpha.adb: New package body implementing legacy
VAX instructions with Asm insertions.
* s-auxdec-vms_64.ads: Inline VAX queue functions
* s-stoele.adb: Resolve some ambiguities in To_Addresss with s-suxdec
that show up only on VMS.
* gcc-interface/Makefile.in: Provide translation for
s-auxdec-vms-alpha.adb.

From-SVN: r160713

14 years agoinitialize.c (VxWorks section): Update comments.
Olivier Hainque [Mon, 14 Jun 2010 08:31:33 +0000 (08:31 +0000)]
initialize.c (VxWorks section): Update comments.

2010-06-14  Olivier Hainque  <hainque@adacore.com>

* initialize.c (VxWorks section): Update comments.

From-SVN: r160712

14 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Jun 2010 08:27:05 +0000 (10:27 +0200)]
[multiple changes]

2010-06-14  Robert Dewar  <dewar@adacore.com>

* a-convec.adb, sem_prag.adb, checks.adb: Minor reformatting

2010-06-14  Eric Botcazou  <ebotcazou@adacore.com>

* init.c: Code clean up.

2010-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Do
not insert address clause in table for later validation if type of
entity is generic, to prevent possible spurious errors.

* sem_ch8.adb: Code clean up.

2010-06-14  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi: Expanded @ovar macro inline to solve problem with
texi2pdf and texi2html.
Document how to change scheduling properties on HP-UX.

2010-06-14  Thomas Quinot  <quinot@adacore.com>

* g-socket.ads: Remove misleading comments.

From-SVN: r160711

14 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Jun 2010 08:20:41 +0000 (10:20 +0200)]
[multiple changes]

2010-06-14  Jerome Lambourg  <lambourg@adacore.com>

* sem_prag.adb (Check_Duplicated_Export_Name): Remove check for
CLI_Target as this prevents proper detection of exported names
duplicates when the exported language is different to CIL.
(Process_Interface_Name): Add check for CIL convention exports,
replacing the old one from Check_Duplicated_Export_Name.

2010-06-14  Matthew Heaney  <heaney@adacore.com>

* a-coinve.adb, a-convec.adb (operator "&"): Check both that new length
and new last satisfy constraints.
(Delete_Last): prevent overflow for subtraction of index values
(To_Vector): prevent overflow for addition of index values

From-SVN: r160710

14 years agosem_ch4.adb (Complete_Object_Operation): After analyzing the rewritten call...
Ed Schonberg [Mon, 14 Jun 2010 08:14:10 +0000 (08:14 +0000)]
sem_ch4.adb (Complete_Object_Operation): After analyzing the rewritten call...

2010-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Complete_Object_Operation): After analyzing the
rewritten call, preserve the resulting type to prevent spurious errors,
when the call is implicitly dereferenced in the context of an in-out
actual.

* checks.adb (Apply_Discriminant_Check): If the target of the
assignment is a renaming of a heap object, create constrained type for
it to apply check.

From-SVN: r160709

14 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Jun 2010 08:06:34 +0000 (10:06 +0200)]
[multiple changes]

2010-06-14  Pascal Obry  <obry@adacore.com>

* prj-proc.adb: Fix copy of object directory for extending projects.

2010-06-14  Jose Ruiz  <ruiz@adacore.com>

* init.c (__gnat_alternate_stack): Define this space for PowerPC linux
(__gnat_install_handler, PowerPC linux): Activate the alternative
signal stack.

From-SVN: r160708

14 years agos390.md (*mov<mode>_64 DD_DF, mov<mode>): Properly adjust z10prop set_attr.
Jakub Jelinek [Mon, 14 Jun 2010 07:25:44 +0000 (09:25 +0200)]
s390.md (*mov<mode>_64 DD_DF, mov<mode>): Properly adjust z10prop set_attr.

* config/s390/s390.md (*mov<mode>_64 DD_DF, mov<mode>): Properly
adjust z10prop set_attr.

From-SVN: r160707

14 years agoFix long lines
Eric Botcazou [Mon, 14 Jun 2010 05:43:56 +0000 (05:43 +0000)]
Fix long lines

From-SVN: r160699

14 years agoDaily bump.
GCC Administrator [Mon, 14 Jun 2010 00:16:56 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r160694

14 years agolibiberty.texi: Remove reference to GCC 3 and 2001 (thrice).
Gerald Pfeifer [Sun, 13 Jun 2010 23:14:45 +0000 (23:14 +0000)]
libiberty.texi: Remove reference to GCC 3 and 2001 (thrice).

* libiberty.texi: Remove reference to GCC 3 and 2001 (thrice).
Update copyright years.
Move to GFDL 1.3.

From-SVN: r160690

14 years agoAdd "c-family/" to c-common.h, c-pretty-print.h and c-pragma.h.
H.J. Lu [Sun, 13 Jun 2010 19:55:43 +0000 (19:55 +0000)]
Add "c-family/" to c-common.h, c-pretty-print.h and c-pragma.h.

2010-06-13  H.J. Lu  <hongjiu.lu@intel.com>

* g++.dg/plugin/header_plugin.c: Add "c-family/" to c-common.h
and c-pretty-print.h.

* g++.dg/plugin/pragma_plugin.c: Add "c-family/" to c-pragma.h.

From-SVN: r160687

14 years agore PR fortran/31588 (gfortran should be able to output Makefile dependencies with...
Daniel Franke [Sun, 13 Jun 2010 16:05:01 +0000 (12:05 -0400)]
re PR fortran/31588 (gfortran should be able to output Makefile dependencies with -M* options)

2010-06-13  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/31588
PR fortran/43954
* gfortranspec.c (lang_specific_driver): Removed deprecation
warning for -M.
* lang.opt: Add options -M, -MM, -MD, -MMD, -MF, -MG, -MP, -MT, -MQ.
* lang-specs.h (CPP_FORWARD_OPTIONS): Add -M* options.
* cpp.h (gfc_cpp_makedep): New.
(gfc_cpp_add_dep): New.
(gfc_cpp_add_target): New.
* cpp.c (gfc_cpp_option): Add deps* members.
(gfc_cpp_makedep): New.
(gfc_cpp_add_dep): New.
(gfc_cpp_add_target): New.
(gfc_cpp_init_options): Initialize new options.
(gfc_cpp_handle_option): Handle new options.
(gfc_cpp_post_options): Map new options to libcpp-options.
(gfc_cpp_init): Handle deferred -MQ and -MT options.
(gfc_cpp_done): If requested, write dependencies to file.
* module.c (gfc_dump_module): Add a module filename as target.
* scanner.c (open_included_file): New parameter system; add the
included file as dependency.
(gfc_open_included_file): Add the included file as dependency.
(gfc_open_intrinsic_module): Likewise.
* invoke.texi: Removed deprecation warning for -M.
* gfortran.texi: Removed Makefile-dependencies project.

From-SVN: r160684

14 years agobase.h (min, max): Mark inline.
Paolo Carlini [Sun, 13 Jun 2010 15:44:51 +0000 (15:44 +0000)]
base.h (min, max): Mark inline.

2010-06-13  Paolo Carlini <paolo.carlini@oracle.com>

* include/parallel/base.h (min, max): Mark inline.
* include/parallel/set_operations.h (__parallel_set_operation):
Uglify the Operation template parameter.

From-SVN: r160683

14 years agobitmap.c (bitmap_and, [...]): Turn internal datastructure checks into checking asserts.
Jan Hubicka [Sun, 13 Jun 2010 14:50:26 +0000 (16:50 +0200)]
bitmap.c (bitmap_and, [...]): Turn internal datastructure checks into checking asserts.

* bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
bitmap_and_compl_into, bitmap_compl_and_into, bitmap_ior,
bitmap_ior_into, bitmap_xor, bitmap_xor_into,
bitmap_ior_and_compl, bitmap_ior_and_compl): Turn internal datastructure
checks into checking asserts.
* rtlanal.c (find_reg_note): Use gcc_checking_assert.
* tree-ssa-sccvn.c (VN_INFO): Likewise.
* df-scan.c (df_reorganize_refs_by_reg_by_reg, df_install_ref,
df_ref_create_structure): Likewise.
* alloc-pool.c (create_alloc_pool, empty_alloc_pool, pool_alloc,
pool_free): Use gcc_checking_assert.
* alias.c (get_alias_set): Likewise.
* var-tracking.c (variable_htab_free, shared_hash_copy,
canonicalize_values_mark, variable_merge_over_cur): Likewise.
* lto-streamer.c (bp_unpack_value): Likewise.

From-SVN: r160681

14 years agognat_rm.texi: Move to GFDL version 1.3.
Gerald Pfeifer [Sun, 13 Jun 2010 14:36:24 +0000 (14:36 +0000)]
gnat_rm.texi: Move to GFDL version 1.3.

* gnat_rm.texi: Move to GFDL version 1.3.
* gnat-style.texi: Ditto.
* gnat_ugn.texi: Ditto.

From-SVN: r160680

14 years agolto-streamer-in.c (lto_input_ts_type_tree_pointers): Do not stream but initialize...
Richard Guenther [Sun, 13 Jun 2010 14:14:17 +0000 (14:14 +0000)]
lto-streamer-in.c (lto_input_ts_type_tree_pointers): Do not stream but initialize TYPE_CANONICAL to NULL.

2010-06-13  Richard Guenther  <rguenther@suse.de>

* lto-streamer-in.c (lto_input_ts_type_tree_pointers):
Do not stream but initialize TYPE_CANONICAL to NULL.
(lto_output_ts_type_tree_pointers): Do not stream TYPE_CANONICAL.
* gimple.c (gimple_types_compatible_p): Disregard
TYPE_STRUCTURAL_EQUALITY_P.
(gimple_register_type): Use TYPE_CANONICAL as cache.
* lto-streamer.c (lto_record_common_node): Zero TYPE_CANONICAL
before registering common types.
* config/i386/i386.c (ix86_function_arg_boundary): Do not
use TYPE_CANONICAL, instead use TYPE_MAIN_VARIANT.
* tree.h (TYPE_CANONICAL): Clarify documentation.

lto/
* lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.

From-SVN: r160679

14 years agoia64.h (FUNCTION_VALUE_REGNO_P, [...]): Remove macros.
Anatoly Sokolov [Sun, 13 Jun 2010 11:04:19 +0000 (15:04 +0400)]
ia64.h (FUNCTION_VALUE_REGNO_P, [...]): Remove macros.

* config/ia64/ia64.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
LIBCALL_VALUE): Remove macros.
* config/ia64/ia64-protos.h (ia64_function_value): Remove.
* config/ia64/ia64.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
TARGET_FUNCTION_VALUE_REGNO_P): Define.
(ia64_libcall_value, ia64_function_value_regno_p): New functions.
(ia64_function_value): Make static. Handle receiving the function
type in 'fn_decl_or_type' argunent. Add 'outgoing' argument.

From-SVN: r160678

14 years agowhole_file_18.f90: Updated error message.
Daniel Franke [Sun, 13 Jun 2010 10:04:27 +0000 (06:04 -0400)]
whole_file_18.f90: Updated error message.

2010-06-13  Daniel Franke  <franke.daniel@gmail.com>

        * gfortran.dg/whole_file_18.f90: Updated error message.

From-SVN: r160676

14 years agotypeck.c (convert_for_assignment): Fix comment.
Shujing Zhao [Sun, 13 Jun 2010 03:06:39 +0000 (03:06 +0000)]
typeck.c (convert_for_assignment): Fix comment.

2010-06-13  Shujing Zhao  <pearly.zhao@oracle.com>

        * typeck.c (convert_for_assignment): Fix comment. Change message
        format from %d to %qP.
        (convert_for_initialization): Fix comment.

From-SVN: r160671

14 years agocse.c (cse_extended_basic_block): Move optimize_bb_for_speed_p at correct place.
Jan Hubicka [Sun, 13 Jun 2010 01:08:01 +0000 (03:08 +0200)]
cse.c (cse_extended_basic_block): Move optimize_bb_for_speed_p at correct place.

* cse.c (cse_extended_basic_block): Move optimize_bb_for_speed_p
at correct place.

From-SVN: r160669

14 years agoDaily bump.
GCC Administrator [Sun, 13 Jun 2010 00:17:13 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r160668

14 years agoarm.c (thumb2_reorg): Fix errors in previous change.
Bernd Schmidt [Sat, 12 Jun 2010 23:25:37 +0000 (23:25 +0000)]
arm.c (thumb2_reorg): Fix errors in previous change.

* config/arm/arm.c (thumb2_reorg): Fix errors in previous change.

From-SVN: r160664

14 years agoresolve.c (resolve_global_procedure): Improved checking if an explicit interface...
Daniel Franke [Sat, 12 Jun 2010 13:43:48 +0000 (09:43 -0400)]
resolve.c (resolve_global_procedure): Improved checking if an explicit interface is required.

gcc/fortran/:
2010-06-12  Daniel Franke  <franke.daniel@gmail.com>

        * resolve.c (resolve_global_procedure): Improved checking if an
        explicit interface is required.

gcc/testsuite/:
2010-06-12  Daniel Franke  <franke.daniel@gmail.com>

        * gfortran.dg/whole_file_20.f03: New.

From-SVN: r160663

14 years ago2010-06-12 Kai Tietz
Kai Tietz [Sat, 12 Jun 2010 13:19:17 +0000 (15:19 +0200)]
2010-06-12  Kai Tietz

        PR ada/43731
        * gcc-interface/Makefile.in: Add rules for multilib x86/x64
        mingw targets.

From-SVN: r160662

14 years agoFix typo.
Jan Hubicka [Sat, 12 Jun 2010 12:46:46 +0000 (12:46 +0000)]
Fix typo.

From-SVN: r160661

14 years agodf-core.c (df_clear_bb_info): New function.
Jan Hubicka [Sat, 12 Jun 2010 12:45:26 +0000 (14:45 +0200)]
df-core.c (df_clear_bb_info): New function.

* df-core.c (df_clear_bb_info): New function.
(df_set_blocks): bb_info is always allocated.
(df_get_bb_info): Use block_info_elt_size.
(df_set_bb_info): Likewise.
(df_compact_blocks): Update for new block_info.
(grow_bb_info): New function.
* df-problems.c (df_grow_bb_info): Move to df-core.c
(df_rd_set_bb_info): Remove.
(df_rd_free_bb_info): Do not free block pool.
(df_rd_alloc): Do not create pool, use check for
obstack presence instead of NULL pointer for new blocks.
(df_rd_free): DO not free alloc pool; clear block_info.
(problem_RD): Add size of block info structure.
(df_lr_set_bb_info): Remove.
(df_lr_free_bb_info): Do not free block pool.
(df_lr_alloc): Do not create pool, use check for
obstack presence instead of NULL pointer for new blocks.
(df_lr_free): DO not free alloc pool; clear block_info.
(problem_LR): Add size of block info structure.
(df_live_set_bb_info): Remove.
(df_live_free_bb_info): Do not free block pool.
(df_live_alloc): Do not create pool, use check for
obstack presence instead of NULL pointer for new blocks.
(df_live_free): DO not free alloc pool; clear block_info.
(problem_LIVE): Add size of block info structure.
(problem_CHAIN): Add size of block info structure.
(df_byte_lr_set_bb_info): Remove.
(df_byte_lr_free_bb_info): Do not free block pool.
(df_byte_lr_alloc): Do not create pool, use check for
obstack presence instead of NULL pointer for new blocks.
(df_byte_lr_free): DO not free alloc pool; clear block_info.
(problem_BYTE_LR): Add size of block info structure.
(problem_NOTE): Add size of block info structure.
(df_byte_MD_set_bb_info): Remove.
(df_byte_MD_free_bb_info): Do not free block pool.
(df_byte_MD_alloc): Do not create pool, use check for
obstack presence instead of NULL pointer for new blocks.
(df_byte_MD_free): DO not free alloc pool; clear block_info.
(problem_BD): Add size of block info structure.
* df-scan.c (df_scan_free_internal): Free block pool.
(df_scan_set_bb_info): Remove.
(df_scan_free_bb_info): Check for artificial_defs instead
of bb_info being non-NULL.
(df_scan_alloc): DO not create df_scan_block pool.
(problem_SCAN): Set size of block info.
(df_bb_refs_record): Do not allocate bb_info.
* df.h (df_problem): Add block_info_elt_size.
(struct dataflow): Change block_info to void *.
(df_scan_get_bb_info, df_rd_get_bb_info, df_lr_get_bb_info,
df_md_get_bb_info, df_live_get_bb_info, df_byte_lr_get_bb_info): Return
in-line structures.

From-SVN: r160660

14 years agore PR tree-optimization/44485 (ICE in get_expr_operands, at tree-ssa-operands.c:1020)
Jan Hubicka [Sat, 12 Jun 2010 12:43:02 +0000 (14:43 +0200)]
re PR tree-optimization/44485 (ICE in get_expr_operands, at tree-ssa-operands.c:1020)

PR tree-optimize/44485
* tree-cfgcleanup.c (fixup_noreturn_call): Remove basic blocks containing
use of return value of noreturn function.
* gcc.c-torture/compile/pc44485.c: New testcase.

From-SVN: r160659

14 years agotarghooks.c (default_function_value): Don't use FUNCTION_OUTGOING_VALUE.
Anatoly Sokolov [Sat, 12 Jun 2010 08:17:18 +0000 (12:17 +0400)]
targhooks.c (default_function_value): Don't use FUNCTION_OUTGOING_VALUE.

* targhooks.c (default_function_value): Don't use
FUNCTION_OUTGOING_VALUE.
* system.h (FUNCTION_OUTGOING_VALUE): Poison.
* doc/tm.texi (FUNCTION_OUTGOING_VALUE): Removed.

From-SVN: r160656

14 years agoconfig.gcc (mips64*-*-linux*, [...]): Add crtfastmath.o to extra_parts.
Kazu Hirata [Sat, 12 Jun 2010 07:44:51 +0000 (07:44 +0000)]
config.gcc (mips64*-*-linux*, [...]): Add crtfastmath.o to extra_parts.

gcc/
* config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*,
mips*-*-linux*): Add crtfastmath.o to extra_parts.
* config/mips/crtfastmath.c: New.
* config/mips/linux.h (ENDFILE_SPEC): New.

libgcc/
* config.host (mips64*-*-linux*, mips*-*-linux*): Add mips/t-crtfm
to tmake_file.  Add crtfastmath.o to extra_parts.
* config/mips/t-crtfm: New.

From-SVN: r160655

14 years agoDon't call pbb_to_depth_to_oldiv from compute_type_for_level.
Sebastian Pop [Sat, 12 Jun 2010 07:39:25 +0000 (07:39 +0000)]
Don't call pbb_to_depth_to_oldiv from compute_type_for_level.

2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
old_type in parameter.
(gcc_type_for_value): Update call to gcc_type_for_interval.
(compute_type_for_level_1): Renamed compute_type_for_level.
Update call to gcc_type_for_interval.

From-SVN: r160649

14 years agotrans-decl.c (gfc_build_intrinsic_function_decls): Fix return type.
Francois-Xavier Coudert [Sat, 12 Jun 2010 06:57:22 +0000 (06:57 +0000)]
trans-decl.c (gfc_build_intrinsic_function_decls): Fix return type.

* trans-decl.c (gfc_build_intrinsic_function_decls): Fix
return type.
* trans-intrinsic.c (gfc_conv_intrinsic_fdate): Fix argument type.
(gfc_conv_intrinsic_ttynam): Likewise.
(gfc_conv_intrinsic_trim): Likewise.

From-SVN: r160648

14 years agore PR fortran/40117 ([OOP][F2008] Type-bound procedure: allow list after PROCEDURE)
Janus Weil [Sat, 12 Jun 2010 04:10:25 +0000 (06:10 +0200)]
re PR fortran/40117 ([OOP][F2008] Type-bound procedure: allow list after PROCEDURE)

2010-06-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40117
* decl.c (match_procedure_in_type): Allow procedure lists (F08).

2010-06-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40117
* gfortran.dg/typebound_proc_4.f03: Modified error message.
* gfortran.dg/typebound_proc_14.f03: New.
* gfortran.dg/typebound_proc_15.f03: New.

From-SVN: r160646

14 years agoDaily bump.
GCC Administrator [Sat, 12 Jun 2010 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r160644

14 years agocommon.opt (Wstrict-aliasing=, [...]): Add RejectNegative.
Joseph Myers [Sat, 12 Jun 2010 00:13:23 +0000 (01:13 +0100)]
common.opt (Wstrict-aliasing=, [...]): Add RejectNegative.

* common.opt (Wstrict-aliasing=, Wstrict-overflow=, fabi-version=,
flto-compression-level=, ftree-parallelize-loops=): Add
RejectNegative.

testsuite:
* gcc.dg/opts-1.c: New test.

From-SVN: r160640

14 years agoopts-common.c: Include options.h.
Joseph Myers [Sat, 12 Jun 2010 00:12:12 +0000 (01:12 +0100)]
opts-common.c: Include options.h.

* opts-common.c: Include options.h.
(integral_argument): Move from opts.c.
(decode_cmdline_option): New.  Based on read_cmdline_option.
* opts.c (integral_argument): Move to opts-common.c.
(read_cmdline_option): Move most contents to
decode_cmdline_option.  Use %qs in diagnostics.
* opts.h (CL_ERR_DISABLED, CL_ERR_MISSING_ARG, CL_ERR_WRONG_LANG,
CL_ERR_UINT_ARG, struct cl_decoded_option, integral_argument,
decode_cmdline_option): New.

testsuite:
* gcc.dg/funroll-loops-all.c: Update expected error.

From-SVN: r160639

14 years agore PR target/44481 (__builtin_parity() causes ICE in trunc_int_for_mode())
Uros Bizjak [Fri, 11 Jun 2010 21:58:31 +0000 (23:58 +0200)]
re PR target/44481 (__builtin_parity() causes ICE in trunc_int_for_mode())

PR target/44481
* config/i386/i386.md (UNSPEC_PARITY): New unspec.
(paritydi2_cmp): Use UNSPEC_PARITY unspec insted of parity RTX.
(partiysi2_cmp): Ditto.
(*partiyhi2_cmp): Ditto.
(*parityqi2_cmp): Remove.

testsuite/ChangeLog:

PR target/44481
* gcc.target/i386/pr44481.c: New test.

From-SVN: r160638

14 years agobitmap.h (+bmp_iter_next_bit): New.
Jan Hubicka [Fri, 11 Jun 2010 21:56:08 +0000 (23:56 +0200)]
bitmap.h (+bmp_iter_next_bit): New.

* bitmap.h (+bmp_iter_next_bit): New.
(bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
Use it.

From-SVN: r160637

14 years agotree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the computed cost.
Sandra Loosemore [Fri, 11 Jun 2010 21:53:59 +0000 (17:53 -0400)]
tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the computed cost.

* tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the
computed cost.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r160636

14 years agoFix date
Eric Botcazou [Fri, 11 Jun 2010 20:52:49 +0000 (20:52 +0000)]
Fix date

From-SVN: r160633

14 years agore PR rtl-optimization/42461 (missed optimization for pure functions)
Eric Botcazou [Fri, 11 Jun 2010 20:50:46 +0000 (20:50 +0000)]
re PR rtl-optimization/42461 (missed optimization for pure functions)

PR rtl-optimization/42461
* gcc.dg/pr42461.c: Compile at -O2 instead of -O.

From-SVN: r160632

14 years agoc-common.c (conversion_warning): Warn at expression location.
Manuel López-Ibáñez [Fri, 11 Jun 2010 19:56:18 +0000 (19:56 +0000)]
c-common.c (conversion_warning): Warn at expression location.

2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

c-family/
        * c-common.c (conversion_warning): Warn at expression
location.

From-SVN: r160631

14 years ago* gcc-interface/utils.c (update_pointer_to): Initialize last.
Alexandre Oliva [Fri, 11 Jun 2010 19:41:28 +0000 (19:41 +0000)]
* gcc-interface/utils.c (update_pointer_to): Initialize last.

From-SVN: r160630

14 years ago* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Fix comment.
Francois-Xavier Coudert [Fri, 11 Jun 2010 19:36:40 +0000 (19:36 +0000)]
* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Fix comment.

From-SVN: r160629

14 years agomathbuiltins.def: Add builtins that do not directly correspond to a Fortran intrinsic...
Francois-Xavier Coudert [Fri, 11 Jun 2010 19:35:19 +0000 (19:35 +0000)]
mathbuiltins.def: Add builtins that do not directly correspond to a Fortran intrinsic...

* mathbuiltins.def: Add builtins that do not directly correspond
to a Fortran intrinsic, with new macro OTHER_BUILTIN.
* f95-lang.c (gfc_init_builtin_functions): Define OTHER_BUILTIN.
* trans-intrinsic.c (gfc_intrinsic_map_t): Remove
code_{r,c}{4,8,10,16} fields. Add
{,complex}{float,double,long_double}_built_in fields.
(gfc_intrinsic_map): Adjust definitions of DEFINE_MATH_BUILTIN,
DEFINE_MATH_BUILTIN_C and LIB_FUNCTION accordingly. Add
definition of OTHER_BUILTIN.
(real_compnt_info): Remove unused struct.
(builtin_decl_for_precision, builtin_decl_for_float_kind): New
functions.
(build_round_expr): Call builtin_decl_for_precision instead of
series of if-else.
(gfc_conv_intrinsic_aint): Call builtin_decl_for_float_kind
instead of a switch.
(gfc_build_intrinsic_lib_fndecls): Match
{real,complex}{4,8,10,16}decl into the C-style built_in_decls.
(gfc_get_intrinsic_lib_fndecl): Do not hardcode floating-point
kinds.
(gfc_conv_intrinsic_lib_function): Go through all the extended
gfc_intrinsic_map.
(gfc_trans_same_strlen_check): Call builtin_decl_for_float_kind
instead of a switch.
(gfc_conv_intrinsic_abs): Likewise.
(gfc_conv_intrinsic_mod): Likewise.
(gfc_conv_intrinsic_sign): Likewise.
(gfc_conv_intrinsic_fraction): Likewise.
(gfc_conv_intrinsic_nearest): Likewise.
(gfc_conv_intrinsic_spacing): Likewise.
(gfc_conv_intrinsic_rrspacing): Likewise.
(gfc_conv_intrinsic_scale): Likewise.
(gfc_conv_intrinsic_set_exponent): Likewise.

From-SVN: r160628

14 years agoi386.md (unspec): New define_c_enum.
Uros Bizjak [Fri, 11 Jun 2010 19:01:47 +0000 (21:01 +0200)]
i386.md (unspec): New define_c_enum.

* config/i386/i386.md (unspec): New define_c_enum.
(unspecv): Ditto.

From-SVN: r160627

14 years agocpplib.h (struct cpp_callbacks): Add user_builtin_macro callback.
Jakub Jelinek [Fri, 11 Jun 2010 18:37:34 +0000 (20:37 +0200)]
cpplib.h (struct cpp_callbacks): Add user_builtin_macro callback.

* include/cpplib.h (struct cpp_callbacks): Add user_builtin_macro
callback.
(enum cpp_builtin_type): Add BT_FIRST_USER and BT_LAST_USER.
(cpp_macro_definition): Remove const qual from second argument.
* macro.c (enter_macro_context): Call user_builtin_macro callback for
NODE_BUILTIN !NODE_USED macros.
(warn_of_redefinition): Likewise.  Remove const qual from second
argument.
(cpp_macro_definition): Likewise.
* pch.c (write_macdef, save_macros): Call user_builtin_macro callback
for NODE_BUILTIN !NODE_USED macros.

* c-family/c-cppbuiltin.c: Include cpp-id-data.h.
(lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
(lazy_hex_fp_value): New function.
(builtin_define_with_hex_fp_value): Provide definitions lazily.
* Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).

From-SVN: r160626

14 years agoFix PR44483: incrementally gimplify BB predicates to avoid redundant computations.
Sebastian Pop [Fri, 11 Jun 2010 18:28:17 +0000 (18:28 +0000)]
Fix PR44483: incrementally gimplify BB predicates to avoid redundant computations.

2010-06-11  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/44483
* tree-if-conv.c (bb_predicate_s): New struct.
(bb_predicate_p): New.
(bb_has_predicate): New.
(bb_predicate): New.
(set_bb_predicate): New.
(bb_predicate_gimplified_stmts): New.
(set_bb_predicate_gimplified_stmts): New.
(add_bb_predicate_gimplified_stmts): New.
(init_bb_predicate): New.
(free_bb_predicate): New.
(is_predicated): Use bb_predicate.
(add_to_predicate_list): Use bb_predicate and set_bb_predicate.
(predicate_bbs): Same.  Gimplify the condition of the basic blocks
before processing their successors.
(clean_predicate_lists): Removed.
(find_phi_replacement_condition): Use bb_predicate.
(process_phi_nodes): Renamed ifconvert_phi_nodes.  Avoid useless
computations.
(insert_gimplified_predicates): New.
(combine_blocks): Call insert_gimplified_predicates.
(tree_if_conversion): Call free_bb_predicate instead of
clean_predicate_lists.

* gcc.dg/tree-ssa/pr44483.c: New.

From-SVN: r160625

14 years agoarm-neon-1.C: New test.
Paul Brook [Fri, 11 Jun 2010 16:55:42 +0000 (16:55 +0000)]
arm-neon-1.C: New test.

2010-06-11  Paul Brook  <paul@codesourcery.com>

gcc/testsuite/
* g++.dg/other/arm-neon-1.C: New test.

From-SVN: r160623

14 years agore PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)
Paul Thomas [Fri, 11 Jun 2010 16:45:48 +0000 (16:45 +0000)]
re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)

2010-06-11  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/42051
PR fortran/43896
* trans-expr.c (gfc_conv_derived_to_class): Handle array-valued
functions with CLASS formal arguments.

2010-06-11  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/42051
PR fortran/43896
* gfortran.dg/class_23.f03: New test.

From-SVN: r160622

14 years agoshared_ptr.h (hash<shared_ptr>): Add.
Paolo Carlini [Fri, 11 Jun 2010 16:20:24 +0000 (16:20 +0000)]
shared_ptr.h (hash<shared_ptr>): Add.

2010-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/shared_ptr.h (hash<shared_ptr>): Add.
* include/bits/shared_ptr_base.h (hash<__shared_ptr>): Likewise.
* include/bits/unique_ptr.h (hash<unique_ptr>): Likewise.
* testsuite/20_util/shared_ptr/hash/1.cc: New.
* testsuite/20_util/unique_ptr/hash/1.cc: Likewise.

From-SVN: r160621

14 years agoappendix_contributing.xml: Indent code examples to match original C++STYLE document.
Jonathan Wakely [Fri, 11 Jun 2010 16:04:52 +0000 (16:04 +0000)]
appendix_contributing.xml: Indent code examples to match original C++STYLE document.

2010-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/appendix_contributing.xml: Indent code examples
to match original C++STYLE document. Fix typos and syntax errors.
Add some basic docbook markup.
* doc/html/*: Regenerate.

From-SVN: r160620

14 years agoinvoke.texi: Document ARM -mcpu=cortex-m4.
Paul Brook [Fri, 11 Jun 2010 15:45:39 +0000 (15:45 +0000)]
invoke.texi: Document ARM -mcpu=cortex-m4.

2010-10-11  Paul Brook  <paul@codesourcery.com>

* doc/invoke.texi: Document ARM -mcpu=cortex-m4.
* config/arm/arm.c (all_architectures): Change v7e-m default to
cortexm4.
* config/arm/arm-cores.def: Add cortex-m4.
* config/arm/arm-tune.md: Regenerate.

From-SVN: r160618

14 years agore PR libstdc++/44268 (abi docs say that hppa-linux defaults to libgcc_s.so.2)
Jonathan Wakely [Fri, 11 Jun 2010 15:31:53 +0000 (15:31 +0000)]
re PR libstdc++/44268 (abi docs say that hppa-linux defaults to libgcc_s.so.2)

2010-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/44268
* doc/xml/manual/abi.xml: Fix libgcc version for hppa-linux.

From-SVN: r160617

14 years agoipa-pure-const.c (special_builtlin_state): New function.
Jan Hubicka [Fri, 11 Jun 2010 15:12:48 +0000 (17:12 +0200)]
ipa-pure-const.c (special_builtlin_state): New function.

* ipa-pure-const.c (special_builtlin_state): New function.
(check_call): Use it instead of special casign BUILT_IN_RETURN.
(propagate_pure_const): Use it.

* gcc.dg/ipa/pure-const-2.c: New testcase.

From-SVN: r160615

14 years agoRevert accidental commit.
Jan Hubicka [Fri, 11 Jun 2010 15:10:27 +0000 (15:10 +0000)]
Revert accidental commit.

From-SVN: r160614

14 years agotuple (_Swallow_assign::operator=): Add const.
Jonathan Wakely [Fri, 11 Jun 2010 15:02:33 +0000 (15:02 +0000)]
tuple (_Swallow_assign::operator=): Add const.

2010-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/std/tuple (_Swallow_assign::operator=): Add const.
(ignore): Replace anonymous namespace member with const instance.

From-SVN: r160613

14 years agodf-problems.c (df_live_scratch): Convert to bitmap_head.
Jan Hubicka [Fri, 11 Jun 2010 14:33:28 +0000 (16:33 +0200)]
df-problems.c (df_live_scratch): Convert to bitmap_head.

* df-problems.c (df_live_scratch): Convert to bitmap_head.
(df_live_alloc): Initialize df_live_scratch when initializing
problem_data.
(df_live_transfer_function): Update uses of df_live_scratch.
(df_live_free): Free problem_data; clear df_live_scratch before
releasing the obstack.
(df_md_free): Free problem data.

From-SVN: r160612

14 years agoinvoke.texi (Wsuggest-attribute): Document.
Jan Hubicka [Fri, 11 Jun 2010 12:29:53 +0000 (14:29 +0200)]
invoke.texi (Wsuggest-attribute): Document.

* doc/invoke.texi (Wsuggest-attribute): Document.
(Wmissing-noreturn): Remove.
* ipa-pure-const.c (warn_function_noreturn): New function.
* opts.c (decode_options): Set warn_suggest_attribute_noreturn on
warn_missing_noreturn.
* common.opt (Wsuggest-attribute=noreturn): New.
* tree-flow.h (warn_function_noreturn): Declare.
* tree-cfg.c (execute_warn_function_noreturn): Use
warn_function_noreturn.
(gate_warn_function_noreturn): New.
(pass_warn_function_noreturn): Update.

From-SVN: r160606

14 years agoc-typeck.c (handle_warn_cast_qual): Add loc parameter.
Manuel López-Ibáñez [Fri, 11 Jun 2010 09:43:53 +0000 (09:43 +0000)]
c-typeck.c (handle_warn_cast_qual): Add loc parameter.

2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-typeck.c (handle_warn_cast_qual): Add loc
parameter. Improve warning message.
(build_c_cast): Pass location to handle_warn_cast_qual.

From-SVN: r160601

14 years agoi386.md (pro_epilogue_adjust_stack_1): Assert that operand 0 == operand 1.
Uros Bizjak [Fri, 11 Jun 2010 09:38:59 +0000 (11:38 +0200)]
i386.md (pro_epilogue_adjust_stack_1): Assert that operand 0 == operand 1.

* config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
that operand 0 == operand 1.  Use x86_maybe_negate_const_int to output
insn mnemonic.
(pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.

From-SVN: r160600

14 years agoFix MIPS bootstrap
Dodji Seketeli [Fri, 11 Jun 2010 08:19:21 +0000 (08:19 +0000)]
Fix MIPS bootstrap

gcc/ChangeLog:
Fix bootstap on mips
* dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
be naming typedefs.

gcc/testsuite/ChangeLog:
Fix MIPS bootstrap
* g++.dg/other/typedef4.C: New test.

From-SVN: r160599

14 years agosystem.h (helper_const_non_const_cast): New inline for gcc version <= 4.0.
Kai Tietz [Fri, 11 Jun 2010 08:14:33 +0000 (08:14 +0000)]
system.h (helper_const_non_const_cast): New inline for gcc version <= 4.0.

2010-06-11  Kai Tietz  <kai.tietz@onevision.com>

        * system.h (helper_const_non_const_cast): New inline for
        gcc version <= 4.0.
        (CONST_CAST2): For gcc version <= 4.0 use
        new helper to do const/non-const casting.

From-SVN: r160598

14 years agoAdd PR reference to 2010-06-10 change to configure.ac.
Jan Beulich [Fri, 11 Jun 2010 07:02:39 +0000 (07:02 +0000)]
Add PR reference to 2010-06-10 change to configure.ac.

From-SVN: r160595

14 years agocp-tree.h (expr_list_kind): New type.
Shujing Zhao [Fri, 11 Jun 2010 03:54:28 +0000 (03:54 +0000)]
cp-tree.h (expr_list_kind): New type.

2010-06-11  Shujing Zhao  <pearly.zhao@oracle.com>

        * cp-tree.h (expr_list_kind): New type.
        (impl_conv_rhs): New type.
        (build_x_compound_expr_from_list, convert_for_initialization): Adjust
        prototype.
        (typeck.c (convert_arguments): Use impl_conv_rhs and emit the
        diagnostics for easy translation. Change caller.
        (convert_for_initialization): Use impl_conv_rhs and change caller.
        (build_x_compound_expr_from_list): Use expr_list_kind and emit the
        diagnostics for easy translation. Change caller.
        * decl.c (bad_spec_place): New enum.
        (bad_specifiers): Use it and emit the diagnostics for easy
        translation. Change caller.
        * pt.c (coerce_template_parms): Put the diagnostics in full sentence.

From-SVN: r160591

14 years agore PR fortran/44207 (ICE with ALLOCATABLE components and SOURCE)
Janus Weil [Fri, 11 Jun 2010 01:42:38 +0000 (03:42 +0200)]
re PR fortran/44207 (ICE with ALLOCATABLE components and SOURCE)

2010-06-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44207
* resolve.c (conformable_arrays): Handle allocatable components.

2010-06-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44207
* gfortran.dg/allocate_alloc_opt_7.f90: New test.

From-SVN: r160589

14 years agoDaily bump.
GCC Administrator [Fri, 11 Jun 2010 00:17:56 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r160588

14 years agoresolve.c (resolve_operator): Fix whitespace.
Steven G. Kargl [Fri, 11 Jun 2010 00:06:30 +0000 (00:06 +0000)]
resolve.c (resolve_operator): Fix whitespace.

2010-06-10  Steven G. Kargl  <kargl@gcc.gnu.org>

* resolve.c (resolve_operator): Fix whitespace.

From-SVN: r160584

14 years agoconfigure.ac: Set SYSTEMSPEC so that -allow_stack_execute is not passed to the linker...
Peter O'Gorman [Thu, 10 Jun 2010 23:35:31 +0000 (23:35 +0000)]
configure.ac: Set SYSTEMSPEC so that -allow_stack_execute is not passed to the linker for...

* configure.ac: Set SYSTEMSPEC so that -allow_stack_execute is not
passed to the linker for -dynamiclib or -bundle on darwin.
* configure: Regenerate.

From-SVN: r160583

14 years agomd.texi: Document the "unspec" and "unspecv" enum names.
Richard Sandiford [Thu, 10 Jun 2010 20:24:45 +0000 (20:24 +0000)]
md.texi: Document the "unspec" and "unspecv" enum names.

gcc/
* doc/md.texi: Document the "unspec" and "unspecv" enum names.
* Makefile.in (OBJS-common): Include insn-enums.o.
(insn-enums.o): New rule.
(simple_generated_c): Add insn-enums.c.
(build/genenums.o): New rule.
(genprogmd): Add "enums".
* genconstants.c (print_enum_type): Declare a C string array
for each enum.
* genenums.c: New file.
* print-rtl.c (print_rtx): If defined, use the "unspecv" enum
for UNSPEC_VOLATILE.  If defined, use the "unspec" enum for both
UNSPEC and (as a fallback) for UNSPEC_VOLATILE.

From-SVN: r160582

14 years agomd.texi (define_enum_attr): Document.
Richard Sandiford [Thu, 10 Jun 2010 20:24:17 +0000 (20:24 +0000)]
md.texi (define_enum_attr): Document.

gcc/
* doc/md.texi (define_enum_attr): Document.
* rtl.def (DEFINE_ENUM_ATTR): New rtx.
* read-md.h (lookup_enum_type): Declare.
* read-md.c (lookup_enum_type): New function.
* genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
* genattrtab.c (attr_desc): Add an enum_name field.
(evaluate_eq_attr): Take the associated attribute as argument.
Get the enum prefix from the enum_name field, if defined.
Use ACONCAT rather than a fixed-length buffer.  Update recursive calls.
(simplify_test_exp): Pass attr to evaluate_eq_attr.
(add_attr_value): New function, split out from...
(gen_attr): ...here.  Handle DEFINE_ENUM_ATTR.
(write_test_expr): Pass attr to evaluate_eq_attr.
(write_attr_get): Use the enum_name as the enum tag, if defined.
(write_attr_valueq): Use the enum_name as a prefix, if defined.
(find_attr): Initialize enum_name.
(main): Handle DEFINE_ENUM_ATTR.
* gensupport.c (process_rtx): Likewise.
* config/mips/mips.h (mips_tune_attr): Delete.
* config/mips/mips.md (cpu): Use define_attr_enum.

From-SVN: r160581

14 years agomd.texi (define_c_enum, [...]): Document.
Richard Sandiford [Thu, 10 Jun 2010 20:24:01 +0000 (20:24 +0000)]
md.texi (define_c_enum, [...]): Document.

gcc/
* doc/md.texi (define_c_enum, define_enum): Document.
* read-md.h (md_constant): Add a parent_enum field.
(enum_value, enum_type): New structures.
(upcase_string, traverse_enum_types): Declare.
* read-md.c (enum_types): New variable.
(upcase_string, add_constant): New functions.
(handle_constants): Don't create the hash table here.
Use add_constant.
(traverse_md_constants): Don't check for a null md_constants.
(decimal_string, handle_enum, traverse_enum_types): New functions.
(read_md_files): Initialize md_constants and md_enums.
* genconstants.c (print_md_constant): Ignore info argument.
Only print constants that belong to no enum.
(print_enum_type): New function.
(main): Don't pass stdout to print_md_constant.  Call print_enum_type
for each defined enum type.
* config/mips/mips.md (processor): New define_enum.
(unspec): New define_c_enum.
(UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12)
(UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12)
(UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12)
(UNSPEC_MEMORY_BARRIER): Moved to sync.md.
(UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
(UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
(UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
(UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
(UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
(UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
(UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
(UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
(UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
(UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
(UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
(UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
(UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
(UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
(UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
(UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
(UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
(UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
(UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
(UNSPEC_RDDSP): Move to mips-dsp.md.
(UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB)
(UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB)
(UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH)
(UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU)
(UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH)
(UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU)
(UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W)
(UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH)
(UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB)
(UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W)
(UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W)
(UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH)
(UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH):
Moved to mips-dspr2.md.
(UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS)
(UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS)
(UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1)
(UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Moved from mips-ps-3d.md.
(UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT)
(UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
(UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
(UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
(UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
(UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
(UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD, UNSPEC_LOONGSON_PSADBH)
(UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
(UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
(UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md.
(UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
(UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
(UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
(UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved to mips-loongson2ef.md.
(cpu): Update comment.
* config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP)
(UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP)
(UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE)
(UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md.
* config/mips/loongson.md (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ)
(UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
(UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
(UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
(UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
(UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
(UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD, UNSPEC_LOONGSON_PSADBH)
(UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
(UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
(UNSPEC_LOONGSON_PSUBD): Moved from mips.md
* config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
(UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
(UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
(UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md
* config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ)
(UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB)
(UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH)
(UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH)
(UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL)
(UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA)
(UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA)
(UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB)
(UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL)
(UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL)
(UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR)
(UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH)
(UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W)
(UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR)
(UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV)
(UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT)
(UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB)
(UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W)
(UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP)
(UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
(UNSPEC_RDDSP): Moved from mips.md.
* config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH)
(UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND)
(UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB)
(UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD)
(UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH)
(UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W)
(UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH)
(UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND)
(UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH)
(UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH)
(UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH)
(UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH)
(UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH)
(UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md.
* config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C)
(UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS)
(UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1)
(UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC)
(UNSPEC_SCC): Moved from mips.md.
* config/mips/mips.c (mips_arch, mips_tune): Change enum from
"processor_type" to "processor".
(mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES.
* config/mips/mips.h (processor_type): Delete.
(mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from
"processor_type" to "processor".

From-SVN: r160580

14 years agoconfigure.ac (tm_include_list): Add insn-constants.h.
Richard Sandiford [Thu, 10 Jun 2010 20:23:43 +0000 (20:23 +0000)]
configure.ac (tm_include_list): Add insn-constants.h.

gcc/
* configure.ac (tm_include_list): Add insn-constants.h.
* configure: Regenerate.
* Makefile.in (GTM_H): Move insn-constants.h here from...
(TM_H): ...here.
* mkconfig.sh: Remove special handling for insn-constants.h.

From-SVN: r160579

14 years agoMakefile.in (BUILD_RTL): Move build/read-md.o to...
Richard Sandiford [Thu, 10 Jun 2010 20:23:23 +0000 (20:23 +0000)]
Makefile.in (BUILD_RTL): Move build/read-md.o to...

gcc/
* Makefile.in (BUILD_RTL): Move build/read-md.o to...
(BUILD_MD): ...this new variable.
(simple_generated_rtl_h, simple_generated_rtl_c): New variables
that include the old contents of simple_generated_h and
simple_generated_c.
(simple_generated_h, simple_generated_c): Include them.  Add
insn-constants.h.
(s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS)
and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md.
Remove these dependencies from the main rule and include
insn-conditions.md in the command line only if it appears
in the dependency list.
(insn-constants.h, s-constants): Delete.
(build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H)
or gensupport.h.
(build/genmddeps.o): Likewise.
(genprogrtl): New variable that contains everything from genprogmd
except mddeps and constants.
(genprogmd): Redefine in terms of genprogrtl.  Make these programs
depend on $(BUILD_MD)
(genprog): New variable.  Make these programs depend on
$(BUILD_ERRORS).
* genmddeps.c: Don't include tm.h, rtl.h or gensupport.h.
(main): Use read_md_files instead of init_rtx_reader_args.
* genconstants.c: As for genmddeps.c.
* read-md.h (read_skip_construct): Declare.
* read-md.c (read_skip_construct): New function.
(handle_file): Allow a null handle_directive, skipping the
construct if so.
(parse_include): Update the comment accordingly.

From-SVN: r160578

14 years agoMakefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
Richard Sandiford [Thu, 10 Jun 2010 20:23:13 +0000 (20:23 +0000)]
Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).

gcc/
* Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
* genmddeps.c: Include read-md.h.
(main): Call init_rtx_reader_args instead of init_md_reader_args.
* genattr.c (main): Likewise.
* genattrtab.c (main): Likewise.
* genautomata.c (main): Likewise.
* gencodes.c (main): Likewise.
* genconditions.c (main): Likewise.
* genconfig.c (main): Likewise.
* genconstants.c (main): Likewise.
* genemit.c (main): Likewise.
* genextract.c (main): Likewise.
* genflags.c (main): Likewise.
* genopinit.c (main): Likewise.
* genoutput.c (main): Likewise.
* genpeep.c (main): Likewise.
* genrecog.c (main): Likewise.
* genpreds.c (main): Likewise.
* gensupport.h (in_fname): Move to read-md.h.
(init_md_reader_args_cb): Rename to...
(init_rtx_reader_args_cb): ...this and return a bool.
(init_md_reader_args): Rename to...
(init_rtx_reader_args): ...this and return a bool.
(include_callback): Move to read-md.h.
* gensupport.c (in_fname, include_callback, base_dir, max_include_len)
(file_name_list, first_dir_md_include): Move to read-md.c
(first_bracket_include): Delete unused variable.
(last_dir_md_include): Move to read-md.c.
(process_include): Delete, moving code to read-md.c:handle_include.
(process_rtx): Don't handle INCLUDE.
(save_string): Delete.
(rtx_handle_directive): New function.
(init_md_reader_args_cb): Rename to...
(init_rtx_reader_args_cb): ...this and return a boolean success value.
Use read_md_args.
(init_md_reader_args): Rename to...
(init_rtx_reader_args): ...this and return a boolean success value.
* rtl.def (INCLUDE): Delete.
* rtl.h (read_rtx): Remove "int *" argument.  Add "const char *"
argument.
* read-rtl.c (read_conditions): Don't gobble ')' here.
(read_mapping): Likewise.
(read_rtx): Remove LINENO argument.  Add RTX_NAME argument.
Handle top-level non-rtx constructs here rather than in read_rtx_1.
Store the whole queue in *X.  Remove call to init_md_reader.
(read_rtx_1): Rename to...
(read_rtx_code): ...this.  Call read_nested_rtx to read subrtxes.
Don't handle top-level non-rtx constructs here.  Don't handle (nil)
here.
(read_nested_rtx): New function.  Handle (nil) here rather than
in read_rtx_code.
(read_rtx_variadic): Call read_nested_rtx to read subrtxes.  Don't
gobble ')' here.
* read-md.h (directive_handler_t): New type.
(in_fname, include_callback): Moved from read-md.h.
(read_constants, init_md_reader): Delete.
(read_md_files): Declare.
* read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include)
(last_dir_md_include_ptr, include_callback, max_include_len): Moved
from gensupport.c.
(read_constants): Rename to...
(handle_constants): ...this.  Don't gobble ')' here.
(handle_include, handle_file, handle_toplevel_file)
(parse_include): New functions, mostly taken from gensupport.c.
(init_md_reader): Subsume into...
(read_md_files): ...this new function.

From-SVN: r160577

14 years agoread-md.h (read_char): Increment read_md_lineno after reading '\n'.
Richard Sandiford [Thu, 10 Jun 2010 20:23:00 +0000 (20:23 +0000)]
read-md.h (read_char): Increment read_md_lineno after reading '\n'.

gcc/
* read-md.h (read_char): Increment read_md_lineno after reading '\n'.
(unread_char): Decrement read_md_lineno after putting back '\n'.
* read-md.c (fatal_with_file_and_line): Push back any characters
that we decide not to add to the context.
(read_skip_spaces): Don't increment read_md_lineno here.  Avoid using
fatal_expected_char in cases where '/' ends a line (for example).
(read_name): Don't increment read_md_lineno here.
(read_escape): Likewise.
(read_quoted_string): Likewise.
(read_braced_string): Likewise.

From-SVN: r160576

14 years agoMakefile.in (READ_MD_H): Add $(HASHTAB_H).
Richard Sandiford [Thu, 10 Jun 2010 20:22:49 +0000 (20:22 +0000)]
Makefile.in (READ_MD_H): Add $(HASHTAB_H).

gcc/
* Makefile.in (READ_MD_H): Add $(HASHTAB_H).
(build/genconstants.o): Depend on $(READ_MD_H) gensupport.h.
* genconstants.c: Include read-md.h.
* read-rtl.c (md_constants): Move to read-md.c.
(md_name): Move to read-md.h.
(initialize_iterators): Use leading_string_hash instead of def_hash
and leading_string_eq_p instead of def_name_eq_p.
(read_name): Move to read-md.c.
(def_hash, def_name_eq_p): Delete.
(read_constants, traverse_md_constants): Move to read-md.c.
* rtl.h (md_constant, traverse_md_constants): Move to read-md.h.
* read-md.h: Include hashtab.h.
(md_name): Moved from read-rtl.c.
(md_constant): Moved from read-md.h.
(leading_string_hash, leading_string_eq_p, read_name)
(read_constants, traverse_md_constants): Declare.
* read-md.c (md_constants): Moved from read-rtl.c.
(leading_string_hash, leading_string_eq_p): New functions.
(read_name, read_constants, traverse_md_constants): Moved from
read-rtl.c.

From-SVN: r160575

14 years agoread-rtl.c (md_name): New structure.
Richard Sandiford [Thu, 10 Jun 2010 20:22:21 +0000 (20:22 +0000)]
read-rtl.c (md_name): New structure.

gcc/
* read-rtl.c (md_name): New structure.
(read_name): Take an md_name instead of a buffer pointer.
Use the "string" field instead of strcpy when expanding constants.
(read_constants): Remove the tmp_char argument.  Update the calls
to read_name, using two local name buffers instead of the tmp_char
argument.  Merge the constant-creation code.
(read_conditions): Remove the tmp_char argument.  Update the calls
to read_name, using a local name buffer instead of the tmp_char
argument.
(read_mapping): Replace tmp_char variable with a local name buffer.
Update the calls to read_name.
(read_rtx_1): Likewise.  Update the calls to read_constants and
read_conditions.

From-SVN: r160574

14 years agoMakefile.in (build/read-md.o): Depend on errors.h.
Richard Sandiford [Thu, 10 Jun 2010 20:21:59 +0000 (20:21 +0000)]
Makefile.in (build/read-md.o): Depend on errors.h.

gcc/
* Makefile.in (build/read-md.o): Depend on errors.h.
* read-md.h (error_with_line): Declare.
* read-md.c: Include errors.h.
(message_with_line_1): New function, extracted from...
(message_with_line): ...here.
(error_with_line): New function.
* genattrtab.c: If a call to message_with_line is followed by
"have_error = 1;", replace both statements with a call to
error_with_line.
* genoutput.c: Likewise.
* genpreds.c: Likewise.
* genrecog.c: If a call to message_with_line is followed by
"error_count++;", replace both statements with a call to
error_with_line.
(errorcount): Delete.
(main): Don't check it.
* gensupport.c: If a call to message_with_line is followed by
"errors = 1;", replace both statements with a call to error_with_line.
(errors): Delete.
(process_define_cond_exec): Check have_error instead of errors.
(init_md_reader_args_cb): Likewise.  Don't set errors.

From-SVN: r160573

14 years agoread-md.h (read_md_file): Declare.
Richard Sandiford [Thu, 10 Jun 2010 20:21:44 +0000 (20:21 +0000)]
read-md.h (read_md_file): Declare.

gcc/
* read-md.h (read_md_file): Declare.
(read_char, unread_char): New functions.
(fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
(read_quoted_string, read_string): Remove FILE * argument.
* read-md.c (read_md_file): New variable.
(read_md_filename, read_md_lineno): Update comments and remove
unnecessary initialization.
(fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
(read_escape, read_quoted_string, read_braced_string, read_string):
Remove FILE * argument.  Update calls accordingly, using read_char
and unread_char instead of getc and ungetc.
* rtl.h (read_rtx): Remove FILE * argument.
* read-rtl.c (iterator_group): Remove FILE * argument from
"find_builtin".
(iterator_traverse_data): Remove "infile" field.
(find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx)
(add_mapping, read_name, read_constants, read_conditions)
(validate_const_int, find_iterator, read_mapping, check_code_iterator)
(read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument.
Remove file arguments from all calls, using read_char and unread_char
instead of getc and ungetc.
* gensupport.c (process_include): Preserve read_md_file around
the include.  Set read_md_file to the handle of the included file.
Update call to read_rtx.
(init_md_reader_args_cb): Set read_md_file to the handle of the file
and remove local FILE *.  Update calls to read_rtx.

From-SVN: r160572

14 years agoread-md.h (read_rtx_lineno): Rename to...
Richard Sandiford [Thu, 10 Jun 2010 20:21:35 +0000 (20:21 +0000)]
read-md.h (read_rtx_lineno): Rename to...

gcc/
* read-md.h (read_rtx_lineno): Rename to...
(read_md_lineno): ...this.
(read_rtx_filename): Rename to...
(read_md_filename): ...this.
(copy_rtx_ptr_loc): Rename to...
(copy_md_ptr_loc): ...this.
(print_rtx_ptr_loc): Rename to...
(print_md_ptr_loc): ...this.
* read-md.c: Likewise.  Update references after renaming.
(string_obstack): Replace RTL with MD in comment.
(set_rtx_ptr_loc): Rename to...
(set_md_ptr_loc): ...this.
(get_rtx_ptr_loc): Rename to...
(get_md_ptr_loc): ...this.
* genconditions.c: Update references after renaming.
* genemit.c: Likewise.
* genoutput.c: Likewise.
* genpreds.c: Likewise.
* gensupport.c: Likewise.
* read-rtl.c: Likewise.

From-SVN: r160571

14 years agoMakefile.in (READ_MD_H): New variable.
Richard Sandiford [Thu, 10 Jun 2010 20:21:23 +0000 (20:21 +0000)]
Makefile.in (READ_MD_H): New variable.

gcc/
* Makefile.in (READ_MD_H): New variable.
(BUILD_RTL): Add build/read-md.o.
(lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
(build/gensupport.o, build/read-rtl.o, build/genattr.o)
(build/genattrtab.o, build/genconditions.o build/genemit.o)
(build/genextract.o, build/genflags.o, build/genoutput.o)
(build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
(build/read-md.o): New rule.
* defaults.h (obstack_chunk_alloc, obstack_chunk_free)
(OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
* coretypes.h: ...here.
* lto-wrapper.c: Include coretypes.h instead of defaults.h.
* pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
* genattr.c: Include read-md.h.
* genattrtab.c: Likewise.
* genconditions.c: Likewise.
* genemit.c: Likewise.
* genextract.c: Likewise.
* genflags.c: Likewise.
* genoutput.c: Likewise.
* genpreds.c: Likewise.
* genrecog.c: Likewise.
* rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
(join_c_conditions, print_c_condition, read_rtx_filename)
(read_rtx_lineno): Move to read-md.h.
* read-rtl.c: Include read-md.h.
(ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
(joined_conditions, joined_conditions_obstack, read_rtx_lineno)
(read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
(leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
(copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
(print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
(read_braced_string, read_string): Move to read-md.c.
(read_rtx): Move some initialization to init_md_reader and call
init_md_reader here.
* gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
Move to read-md.h.
* gensupport.c: Include read-md.h.
(message_with_line, n_comma_elts, scan_comma_elt): Move to
read-md.c.
* read-md.h, read-md.c: New files.

From-SVN: r160570

14 years agore PR fortran/38273 (Cray pointers: Document that pointers cannot be function return...
Francois-Xavier Coudert [Thu, 10 Jun 2010 20:02:39 +0000 (20:02 +0000)]
re PR fortran/38273 (Cray pointers: Document that pointers cannot be function return values)

PR fortran/38273
* gfortran.texi: Document that Cray pointers cannot be function
results.

PR fortran/36234
* gfortran.texi: Document lack of support for syntax
"complex FUNCTION name*16()", and existence of alternative
legacy syntax "complex*16 FUNCTION name()".

From-SVN: r160569

14 years agore PR fortran/43032 (FLUSH: Document that it does not call fsync() but fflush())
Francois-Xavier Coudert [Thu, 10 Jun 2010 19:14:12 +0000 (19:14 +0000)]
re PR fortran/43032 (FLUSH: Document that it does not call fsync() but fflush())

PR fortran/43032
* intrinsic.texi (FLUSH): Note the difference between FLUSH and
POSIX's fsync(), and how to call the latter from Fortran code.

From-SVN: r160568

14 years agore PR fortran/44457 (Missing ASYNCHRONOUS constraint check)
Daniel Franke [Thu, 10 Jun 2010 18:25:56 +0000 (14:25 -0400)]
re PR fortran/44457 (Missing ASYNCHRONOUS constraint check)

gcc/fortran/:
2010-06-10  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/44457
* interface.c (compare_actual_formal): Reject actual arguments with
array subscript passed to ASYNCHRONOUS dummys.

gcc/testsuite/:
2010-06-10  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/44457
* gfortran.dg/asynchronous_3.f03

From-SVN: r160567

14 years agoFix PR44185: prefetch test failures.
Changpeng Fang [Thu, 10 Jun 2010 17:54:39 +0000 (17:54 +0000)]
Fix PR44185: prefetch test failures.

2010-06-10  Changpeng Fang  <changpeng.fang@amd.com>

PR middle-end/44185
* gcc.dg/tree-ssa/prefetch-7.c: take the loops that will generate
non-temporal stores out of the tests to form new test cases.  As a
result, no non-temporal store should be generated in this case.

* gcc.dg/tree-ssa/prefetch-8.c: New.  Test from original
prefetch-7.c that generate one non-temporal store.

* gcc.dg/tree-ssa/prefetch-9.c: New.  Test from original
prefetch-7.c that generate one non-temporal store and one
one-temporal prefetch.

From-SVN: r160566

14 years agomoxie.h (FUNCTION_VALUE, [...]): Remove macros.
Anatoly Sokolov [Thu, 10 Jun 2010 17:30:32 +0000 (21:30 +0400)]
moxie.h (FUNCTION_VALUE, [...]): Remove macros.

* config/moxie/moxie.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
* config/moxie/moxie-protos.h (moxie_function_value): Remove.
* config/moxie/moxie.c (moxie_function_value): Make static.
(moxie_libcall_value, moxie_function_value_regno_p): New functions.
(TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.

From-SVN: r160565

14 years agoMakefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
Martin Jambor [Thu, 10 Jun 2010 16:51:20 +0000 (18:51 +0200)]
Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.

2010-06-10  Martin Jambor  <mjambor@suse.cz>

* Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
* dbgcnt.def (tree_sra): New counter.
* tree-sra.c: Include dbgcnt.h.
(gate_intra_sra): Check tree_sra debug counter.

From-SVN: r160562

14 years agore PR tree-optimization/44258 (possible SRA wrong-code generation.)
Martin Jambor [Thu, 10 Jun 2010 16:49:09 +0000 (18:49 +0200)]
re PR tree-optimization/44258 (possible SRA wrong-code generation.)

2010-06-10  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/44258
* tree-sra.c (build_access_subtree): Return false iff there is a
partial overlap.
(build_access_trees): Likewise.
(analyze_all_variable_accesses): Disqualify candidates if
build_access_trees returns true for them.

* testsuite/gcc.dg/tree-ssa/pr44258.c: New test.

From-SVN: r160561

14 years agoMakefile.def (configure-gcc): Depend on all-libelf.
Alexandre Oliva [Thu, 10 Jun 2010 16:44:04 +0000 (16:44 +0000)]
Makefile.def (configure-gcc): Depend on all-libelf.

* Makefile.def (configure-gcc): Depend on all-libelf.
* Makefile.in: Rebuild.

From-SVN: r160560

14 years agore PR debug/41371 (var-tracking is slow and memory hungry)
Alexandre Oliva [Thu, 10 Jun 2010 16:43:46 +0000 (16:43 +0000)]
re PR debug/41371 (var-tracking is slow and memory hungry)

PR debug/41371
* var-tracking.c (find_loc_in_1pdv): Remove recursion, only
tail-recurse into canonical node.  Fast-forward over
non-canonical VALUEs.

From-SVN: r160559

14 years agooverride.m4: Remove obsolete (<2.64) definitions.
Paolo Bonzini [Thu, 10 Jun 2010 16:09:23 +0000 (16:09 +0000)]
override.m4: Remove obsolete (<2.64) definitions.

2010-06-10  Paolo Bonzini  <bonzini@gnu.org>

* override.m4: Remove obsolete (<2.64) definitions.

From-SVN: r160558

14 years agoRevert the part of r160394 to fix bootstap with --with-arch=atom.
H.J. Lu [Thu, 10 Jun 2010 16:00:31 +0000 (16:00 +0000)]
Revert the part of r160394 to fix bootstap with --with-arch=atom.

2010-06-10  H.J. Lu  <hongjiu.lu@intel.com>

PR boostrap/44470
* config/i386/i386.md (*add<mode>_1): Revert revision 160394.
(*addsi_1_zext) <TYPE_LEA>: Likewise.
(add lea splitter): Likewise.
(add_zext lea splitter): Likewise.

From-SVN: r160557

14 years agore PR other/43838 (Incorrect output from abi::__cxa_demangle)
Jakub Jelinek [Thu, 10 Jun 2010 15:15:18 +0000 (17:15 +0200)]
re PR other/43838 (Incorrect output from abi::__cxa_demangle)

PR other/43838
* cp-demangle.c (struct d_print_info): Add flush_count field.
(d_print_init): Initialize it to 0.
(d_print_flush): Increment it.
(d_print_comp): If needed flush before appending ", ".  Only
decrement dpi->len if no flushes happened during the recursive
call.
* testsuite/demangle-expected: Add a test for this.

From-SVN: r160554