gcc.git
15 years ago* verify-impl.c (verify_instructions_0): Add cast to enum type.
Ian Lance Taylor [Mon, 20 Apr 2009 17:38:23 +0000 (17:38 +0000)]
* verify-impl.c (verify_instructions_0): Add cast to enum type.

From-SVN: r146446

15 years agomodule.c (import_iso_c_binding_module): Add casts to enum type.
Ian Lance Taylor [Mon, 20 Apr 2009 17:37:49 +0000 (17:37 +0000)]
module.c (import_iso_c_binding_module): Add casts to enum type.

* module.c (import_iso_c_binding_module): Add casts to enum type.
* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Change op to enum
tree_code.
(gfc_conv_intrinsic_anyall): Likewise.
(gfc_conv_intrinsic_arith): Likewise.
(gfc_conv_intrinsic_minmaxloc): Likewise.
(gfc_conv_intrinsic_minmaxval): Likewise.
(gfc_conv_intrinsic_bitop): Likewise.
(gfc_conv_intrinsic_singlebitop): Likewise.
(gfc_conv_intrinsic_strcmp): Likewise.

From-SVN: r146445

15 years agoatom.md: Add bypasses with ix86_dep_by_shift_count.
Joey Ye [Mon, 20 Apr 2009 17:09:25 +0000 (17:09 +0000)]
atom.md: Add bypasses with ix86_dep_by_shift_count.

2009-04-20  Joey Ye  <joey.ye@intel.com>
    Xuepeng Guo <xuepeng.guo@intel.com>
    H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/atom.md: Add bypasses with ix86_dep_by_shift_count.

* config/i386/i386.c (LEA_SEARCH_THRESHOLD): New macro.
(IX86_LEA_PRIORITY): Likewise.
(distance_non_agu_define): New function.
(distance_agu_use): Likewise.
(ix86_lea_for_add_ok): Likewise.
(ix86_dep_by_shift_count): Likewise.

* config/i386/i386.md: Call ix86_lea_for_add_ok to decide we
should split for LEA.

* config/i386/i386-protos.h (ix86_lea_for_add_ok): Declare new
function.
(ix86_dep_by_shift_count): Likewise.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
Co-Authored-By: Xuepeng Guo <xuepeng.guo@intel.com>
From-SVN: r146443

15 years agoexpr.c (handled_component_p): Move ...
Richard Guenther [Mon, 20 Apr 2009 14:11:34 +0000 (14:11 +0000)]
expr.c (handled_component_p): Move ...

2009-04-20  Richard Guenther  <rguenther@suse.de>

* expr.c (handled_component_p): Move ...
* tree.h (handled_component_p): ... here.
* tree.def: Re-order BIT_FIELD_REF, COMPONENT_REF,
ARRAY_REF, ARRAY_RANGE_REF, VIEW_CONVERT_EXPR, IMAGPART_EXPR
and REALPART_EXPR to be in one group.

From-SVN: r146427

15 years agobasic-block.h (get_all_dominated_blocks): Declare.
Richard Guenther [Mon, 20 Apr 2009 14:01:52 +0000 (14:01 +0000)]
basic-block.h (get_all_dominated_blocks): Declare.

2009-04-20  Richard Guenther  <rguenther@suse.de>

* basic-block.h (get_all_dominated_blocks): Declare.
* dominance.c (get_all_dominated_blocks): New function.
* tree-cfg.c (get_all_dominated_blocks): Remove.
(remove_edge_and_dominated_blocks): Adjust.
* tree-ssa-phiprop.c (tree_ssa_phiprop_1): Fold in ...
(tree_ssa_phiprop): ... here.  Use get_all_dominated_blocks
instead of recursing.

From-SVN: r146425

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 13:47:53 +0000 (15:47 +0200)]
[multiple changes]

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Use_One_Package): In an instance, if two
potentially_use_visible and non-overloadable homonyms are available
from  the actuals of distinct formal packages, retain the current one,
which was visible in the generic, to prevent spurious visibility
errors.
(End_Use_Package): Restore use_visibility when needed.

2009-04-20  Sergey Rybin  <rybin@adacore.com>

* gnat_ugn.texi, vms_data.ads: Update doc.

From-SVN: r146424

15 years agoMake-lang.in: Update dependencies
Arnaud Charlet [Mon, 20 Apr 2009 13:45:37 +0000 (13:45 +0000)]
Make-lang.in: Update dependencies

2009-04-20  Arnaud Charlet  <charlet@adacore.com>

* gcc-interface/Make-lang.in: Update dependencies

* gcc-interface/Makefile.in: Link run-time against winsock2 lib under
Windows.

From-SVN: r146423

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 13:32:11 +0000 (15:32 +0200)]
[multiple changes]

2009-04-20  Robert Dewar  <dewar@adacore.com>

* checks.ads: Fix documentation of range check handling

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
a redundant use_type clause.

From-SVN: r146422

15 years agosem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization, for better handling...
Arnaud Charlet [Mon, 20 Apr 2009 13:29:13 +0000 (15:29 +0200)]
sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization, for better handling of null procedures.

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
for better handling of null procedures.
(Check_Overriding_Indicator): Do not emit a warning on a missing
overriding indicator on an operator when the type of which the operator
is a primitive is private.

From-SVN: r146421

15 years agosem_attr.adb (Eval_Attribute, [...]): Catch more cases where this attribute can be...
Robert Dewar [Mon, 20 Apr 2009 13:28:50 +0000 (15:28 +0200)]
sem_attr.adb (Eval_Attribute, [...]): Catch more cases where this attribute can be evaluated at compile time.

2009-04-20  Robert Dewar  <dewar@adacore.com>

* sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
this attribute can be evaluated at compile time.
(Eval_Attribute, case Range_Length): Same improvement

* sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure

From-SVN: r146420

15 years agocgraph.h (cgraph_node_ptr): New type for vector functions.
Doug Kwan [Mon, 20 Apr 2009 13:27:15 +0000 (13:27 +0000)]
cgraph.h (cgraph_node_ptr): New type for vector functions.

* cgraph.h (cgraph_node_ptr): New type for vector functions.
(struct cgraph_node_set_def): New type.
(cgraph_node_set) New type. Also declare vector functions.
(struct cgraph_node_set_element_def): New type.
(cgraph_node_set_element): Ditto.
(cgraph_node_set_iterator): New iterator type.
(cgraph_node_set_new, cgraph_node_set_find, cgraph_node_set_add,
cgraph_node_set_remove, dump_cgraph_node_set,
debug_cgraph_node_set): New prototypes.
(csi_end_p, csi_next, csi_node, csi_start, cgraph_node_in_set_p,
cgraph_node_set_size): New inlines.
* tree-pass.h (struct cgraph_node_set_def): New decl to avoid
including cgraph.h.
(struct ipa_opt_pass): Add struct cgraph_node_set_def
argument to function 'write_summary'.
* ipa.c: Include ggc.h.
(hash_cgraph_node_set_element,
eq_cgraph_node_set_element, cgraph_node_set_new,
cgraph_node_set_add, cgraph_node_set_remove,
cgraph_node_set_find, dump_cgraph_node_set,
debug_cgraph_node_set): New functions.
* Makefile.in (ipa.o): Add dependency on GGC_H.

From-SVN: r146418

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 13:24:27 +0000 (15:24 +0200)]
[multiple changes]

2009-04-20  Bob Duff  <duff@adacore.com>

* sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
debugging output.

2009-04-20  Robert Dewar  <dewar@adacore.com>

* sem_attr.adb: Minor reformatting

* gnatcmd.adb: Minor reformatting

From-SVN: r146417

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 13:18:56 +0000 (15:18 +0200)]
[multiple changes]

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
overloaded and one interpretation matches the context, label the
operand with the type of first formal.

2009-04-20  Bob Duff  <duff@adacore.com>

* debug.ads: Minor comment fix.

* debug.adb: Minor comment fixes.

2009-04-20  Javier Miranda  <miranda@adacore.com>

* rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions

* exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.

* exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
is expanded into a call to Raise_Exception, avoid passing the
exception-name'identity in runtimes in which this argument
is not used.

From-SVN: r146416

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 13:14:40 +0000 (15:14 +0200)]
[multiple changes]

2009-04-20  Jerome Lambourg  <lambourg@adacore.com>

* impunit.adb: Add i-cil and i-cilobj packages, now needed by the
generated bindings for cil.

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
discriminants, collect components from the Underlying_Record_View,
which will be used in the expansion of the aggregate into assignments.

* sem_ch3.adb: Do not label derived type with unknown discriminants as
having a private declaration.

From-SVN: r146415

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 13:11:19 +0000 (15:11 +0200)]
[multiple changes]

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb (Expand_Subtype_From_Expr): use the
underlying_record_view when available, to create the proper constrained
subtype for an object of a derived type with unknown discriminants.

2009-04-20  Javier Miranda  <miranda@adacore.com>

* exp_ch6.ad (Expand_Inlined_Call): Avoid generation of temporaries for
formals that have pragma unreferenced.

From-SVN: r146414

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 13:05:53 +0000 (15:05 +0200)]
[multiple changes]

2009-04-20  Pascal Obry  <obry@adacore.com>

* a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
Remove all calls to To_Lower_If_Case_Insensitive to preserve
the pathname original casing.

2009-04-20  Robert Dewar  <dewar@adacore.com>

* g-trasym.adb: Minor reformatting

* s-os_lib.adb: Minor reformatting

* sem.adb: Minor reformatting
Minor code reorganization

* sem_ch3.adb: Minor reformatting

* sem_ch4.adb: Minor reformatting

* sem_ch8.adb: Minor reformatting

* sem_type.adb: Minor reformatting

From-SVN: r146412

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 12:59:51 +0000 (14:59 +0200)]
[multiple changes]

2009-04-20  Javier Miranda  <miranda@adacore.com>

* sem_disp.adb (Find_Dispatching_Type): For subprograms internally
generated by derivations of tagged types use the aliased subprogram a
reference to locate their controlling type.

2009-04-20  Tristan Gingold  <gingold@adacore.com>

* g-trasym.adb: Set size of result buffer before calling
convert_address.

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
to a function returning an array can be interpreted as a call with
defaulted parameters whose result is indexed, take into account the
types of all the indices of the array result type.

2009-04-20  Pascal Obry  <obry@adacore.com>

* a-direct.adb, s-os_lib.adb: Minor reformatting.

From-SVN: r146411

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 12:54:27 +0000 (14:54 +0200)]
[multiple changes]

2009-04-20  Nicolas Roche  <roche@adacore.com>

* sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
unsigned long long. So compare local_time and utc_time before computing
the difference.

2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
of the Underlying_Record_View before that of the derived type.

* exp_ch3.adb (Expand_Record_Extension): Do not special-case types
with unknown discriminants with regard to the parent subtype.

From-SVN: r146410

15 years agosem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect null exclusion...
Ed Schonberg [Mon, 20 Apr 2009 12:54:05 +0000 (14:54 +0200)]
sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect null exclusion qualifiers for object renaming...

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
null exclusion qualifiers for object renaming declarations.

From-SVN: r146409

15 years agosem.adb (Semantics, [...]): Include dependents of bodies that are not included.
Bob Duff [Mon, 20 Apr 2009 12:42:34 +0000 (12:42 +0000)]
sem.adb (Semantics, [...]): Include dependents of bodies that are not included.

2009-04-20  Bob Duff  <duff@adacore.com>

* sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
that are not included. This is necessary if the main unit is a generic
instantiation.

* gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
because it doesn't work if -gnatn is used.

From-SVN: r146408

15 years agoexp_ch3.adb (Make_Predefined_Primitive_Specs, [...]): Do not create the declarations...
Hristian Kirtchev [Mon, 20 Apr 2009 12:35:50 +0000 (14:35 +0200)]
exp_ch3.adb (Make_Predefined_Primitive_Specs, [...]): Do not create the declarations and bodies of the primitive subprograms...

        * exp_ch3.adb (Make_Predefined_Primitive_Specs,
        Predefined_Primitive_Bodies): Do not create the declarations and bodies
        of the primitive subprograms associated with dispatching select
        statements when the runtime is in configurable mode.

From-SVN: r146407

15 years agosem_ch3.adb, [...]: Minor reformatting
Arnaud Charlet [Mon, 20 Apr 2009 12:34:24 +0000 (14:34 +0200)]
sem_ch3.adb, [...]: Minor reformatting

        * sem_ch3.adb, sem_ch6.adb: Minor reformatting

        * adaint.c (__gnat_is_readable_file): Check for file existence
        when not using ACL (always the case on remote drives).

From-SVN: r146406

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 12:30:25 +0000 (14:30 +0200)]
[multiple changes]

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* rtsfind.adb (RTE, RTE_Record_Component): In
Configurable_Run_Time_Mode, do not enable front-end inlining.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* g-socthi-vms.adb: Remove now unnecessary WITH clause on
System.Address_To_Access_Conversions.

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem.adb: Guard against ill-formed subunits.

2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>

* a-calfor.adb (Image): Subtract 0.5 from the sub second component only
when it is positive.  This avoids a potential constraint error raised
by the conversion to Natural.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* einfo.ads: Minor comment rewording

* sem_aggr.adb: Minor comment rewording

* sem_ch3.adb, sem_ch6.adb: Minor reformatting

2009-04-20  Pascal Obry  <obry@adacore.com>

* adaint.c (__gnat_is_readable_file): Check for file existence
when not using ACL (always the case on remote drives).

From-SVN: r146405

15 years agosem_ch8,adb (Analyze_Object_Renaming): Reject ambiguous expressions in an object...
Ed Schonberg [Mon, 20 Apr 2009 12:29:39 +0000 (14:29 +0200)]
sem_ch8,adb (Analyze_Object_Renaming): Reject ambiguous expressions in an object renaming declaration when...

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8,adb (Analyze_Object_Renaming): Reject ambiguous expressions
in an object renaming declaration when the expected type is an
anonymous access type.

* sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
ambiguity when one interpretation is an anonymous access type and the
other is a named access type, and the context itself is anonymous

From-SVN: r146404

15 years agoexp_ch5.adb (Expand_Assign_Array): For the case where the assignment involves a targe...
Gary Dismukes [Mon, 20 Apr 2009 12:29:26 +0000 (14:29 +0200)]
exp_ch5.adb (Expand_Assign_Array): For the case where the assignment involves a target that has a specified address...

2009-04-20  Gary Dismukes  <dismukes@adacore.com>

* exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
involves a target that has a specified address, don't set Forward_OK
and Backward_OK to False if the rhs is an aggregate, since overlap
can't occur.

From-SVN: r146403

15 years agooutput.adb (Flush_Buffer): Do not indent blank lines.
Bob Duff [Mon, 20 Apr 2009 12:29:12 +0000 (14:29 +0200)]
output.adb (Flush_Buffer): Do not indent blank lines.

2009-04-20  Bob Duff  <duff@adacore.com>

* output.adb (Flush_Buffer): Do not indent blank lines.
(Ignore_Output): New procedure for output suppression.

From-SVN: r146402

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 12:17:42 +0000 (14:17 +0200)]
[multiple changes]

2009-04-20  Robert Dewar  <dewar@adacore.com>

* sinfo.ads: Minor comment fixes

* exp_disp.adb: Minor reformatting

* gnat1drv.adb: Minor reformatting

* output.adb: Minor reformatting

* s-vxwext-kernel.ads: Minor reformatting

* sem.ads: Minor reformatting

* sem.adb: Minor reformatting

* sem_elim.adb: Minor reformatting

* uname.ads: Minor reformatting

2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>

* init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
a small dope of 4 words to the adjustment to the stack pointer.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* xoscons.adb: generate C header s-oscons.h in
addition to s-oscons.ads.

* socket.c: On VMS, use s-oscons.h.

* sem_ch3.adb: Minor reformatting

* exp_ch9.adb: Minor reformatting

From-SVN: r146401

15 years agotrans.c (check_for_eliminated_entity): Remove.
Eric Botcazou [Mon, 20 Apr 2009 11:34:59 +0000 (11:34 +0000)]
trans.c (check_for_eliminated_entity): Remove.

* gcc-interface/trans.c (check_for_eliminated_entity): Remove.
(Attribute_to_gnu): Do not call check_for_eliminated_entity.
(call_to_gnu): Likewise.

From-SVN: r146400

15 years agore PR tree-optimization/39675 (ICE in vect_get_vec_def_for_operand, at tree-vect...
Ira Rosen [Mon, 20 Apr 2009 11:26:18 +0000 (11:26 +0000)]
re PR tree-optimization/39675 (ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1999)

PR tree-optimization/39675
* tree-vect-loop.c (vect_transform_loop): Remove currently redundant
check of the return code of vect_schedule_slp. Check that stmt_vec_info
still exists for the statement, before checking its vectorization type.

From-SVN: r146399

15 years agotrans.c (gigi): Declare the name of the compilation unit as the first global name...
Eric Botcazou [Mon, 20 Apr 2009 11:01:49 +0000 (11:01 +0000)]
trans.c (gigi): Declare the name of the compilation unit as the first global name at the very...

* gcc-interface/trans.c (gigi): Declare the name of the compilation
unit as the first global name at the very beginning.

From-SVN: r146398

15 years agore PR fortran/35423 (Implement OpenMP workshare)
Vasilis Liaskovitis [Mon, 20 Apr 2009 10:59:59 +0000 (10:59 +0000)]
re PR fortran/35423 (Implement OpenMP workshare)

PR fortran/35423
* trans.h (OMPWS_WORKSHARE_FLAG, OMPWS_CURR_SINGLEUNIT,
OMPWS_SCALARIZER_WS, OMPWS_NOWAIT): Define.
(ompws_flags): New extern decl.
* trans-array.c (gfc_trans_scalarized_loop_end): Build OMP_FOR
for the outer dimension if ompws_flags allow it.
* trans.c (gfc_generate_code): Clear ompws_flags.
* trans-expr.c (gfc_trans_assignment_1): Allow worksharing
array assignments inside of !$omp workshare.
* trans-stmt.c (gfc_trans_where_3): Similarly for where statements
and constructs.
* trans-openmp.c (ompws_flags): New variable.
(gfc_trans_omp_workshare): Rewritten.

* testsuite/libgomp.fortran/workshare2.f90: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r146397

15 years agosocket.c, [...] (__gnat_inet_pton): Needs to be enabled for HP-UX as well...
Thomas Quinot [Mon, 20 Apr 2009 10:45:28 +0000 (10:45 +0000)]
socket.c, [...] (__gnat_inet_pton): Needs to be enabled for HP-UX as well...

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
since HP-UX supports neither inet_aton nor inet_pton (altough the
latter is part of the Single UNIX Specification!).
So reorganize code, and share C implementation based on inet_addr(3)
with VMS (instead of having a VMS specific Ada implementation in
g-socthi-vms.adb).

From-SVN: r146396

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 10:41:25 +0000 (12:41 +0200)]
[multiple changes]

2009-04-20  Gary Dismukes  <dismukes@adacore.com>

* osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
to return the object file name saved by Set_Object_Output_File_Name.

2009-04-20  Emmanuel Briot  <briot@adacore.com>

* g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
for the standard command line, when argc has been modified since the
start of the application.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* socket.c (__gnat_inet_pton, Windows case): Adjust return value.
WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.

From-SVN: r146395

15 years agoUpdate comment.
Arnaud Charlet [Mon, 20 Apr 2009 10:39:48 +0000 (12:39 +0200)]
Update comment.

From-SVN: r146394

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 10:35:28 +0000 (12:35 +0200)]
[multiple changes]

2009-04-20  Bob Duff  <duff@adacore.com>

* gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
pragma Debug.

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
subprogram as Eliminated when source operation is.
(Expand_N_Protected_Type_Declaration): Generate protected and
unprotected specs for the internal operations, even if the source
operation is eliminated.

2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Make_Predefined_Primitive_Specs,
Predefined_Primitive_Bodies): Do not create the declarations and bodies
of the primitive subprograms associated with dispatching select
statements when the runtime is in configurable mode.

2009-04-20  Ed Falis  <falis@adacore.com>

* s-vxwext-kernel.ads (tickGet): Use tick64Get.

From-SVN: r146393

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 10:23:29 +0000 (12:23 +0200)]
[multiple changes]

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c: Add support for generating a dummy version of
s-oscons.ads providing all possible constants.

* g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.

* socket.c (__gnat_inet_pton): On Windows make sure we always use the
ANSI version (not the UNICODE version) of WSAStringToAddress.

2009-04-20  Pascal Obry  <obry@adacore.com>

* adaint.c (__gnat_set_OWNER_ACL): properly free memory
allocated for the security descriptor and make sure all
handles are closed before leaving this procedure.

From-SVN: r146392

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 10:18:48 +0000 (12:18 +0200)]
[multiple changes]

2009-04-20  Javier Miranda  <miranda@adacore.com>

* einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
(Set_Is_Underlying_Record_View): New subprogram

* sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
private types with unknown discriminants use the underlying record view
if available.

* sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
underlying record view in the full view of private types whose parent
has unknown discriminants.
(Build_Derived_Record_Type): Avoid generating the class-wide entity
associated with an underlying record view.
(Derived_Type_Declaration): Avoid deriving parent primitives in
underlying record views.

* sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
records with unknown discriminants.

* sem_type.adb (Covers): Handle underlying record views.
(Is_Ancestor): Add support for underlying record views.

* exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
dispatching call if the type of the target object is tagged and has
unknown discriminants.

* exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
unknown discriminants.

* exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
tables for internally built underlying record views.

* sprint.adb (sprint_node_actual): Improve output of aggregates with an
empty list of component associations.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* sem_ch10.adb: Minor reformatting

* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
(GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
standard inet_pton API (and emulate it on platforms that do not
support it).
(GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
DECC$INET_ADDR, imported in Ada.
(GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
implementation provided by GNAT runtime.
(__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
Windows.

From-SVN: r146391

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 10:07:30 +0000 (12:07 +0200)]
[multiple changes]

2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>

* gnat_ugn.texi: Add documentation for -fno-ivopts.

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
with_clause if it is the main unit.

From-SVN: r146390

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 10:04:20 +0000 (12:04 +0200)]
[multiple changes]

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
(no behaviour change): Use Append instead of Increment_Last followed
by assignment.

2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
declarations of all primitives associated with dispatching asynchronous,
conditional and timed selects when dispaching calls are forbidden and
select statements are not allowed (such as in Ravenscar).
(Predefined_Primitive_Bodies): Ditto for bodies.

* exp_disp.ad (Make_DT): Do not create and populate the
Select_Specific_Data of the dispatch table when dispatching calls are
forbidden and select statements are not allowed (such as in Ravenscar).

2009-04-20  Robert Dewar  <dewar@adacore.com>

* a-tifiio.adb: Minor reformatting

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
other C library functions, report *failure* with a zero status, and
success with a non-zero status.

2009-04-20  Bob Duff  <duff@adacore.com>

* sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
(Semantics): After analyzing each unit, Append it to the
Comp_Unit_List, if appropriate.

* gnat1drv.adb (Check_Library_Items): New procedure for debugging
purposes.
(Gnat1drv): Correct comment regarding Back_End_Mode.

2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>

* gnat_ugn.texi: Add documentation for -fno-inline-small-functions.

From-SVN: r146389

15 years agos-taprop-irix.adb, [...]: Minor reformatting.
Thomas Quinot [Mon, 20 Apr 2009 09:44:10 +0000 (09:44 +0000)]
s-taprop-irix.adb, [...]: Minor reformatting.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
output.adb, output.ads, s-taprop-hpux-dce.adb,
s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
reformatting.

From-SVN: r146388

15 years ago2009-04-20 Thomas Quinot <quinot@adacore.com>
Thomas Quinot [Mon, 20 Apr 2009 09:42:48 +0000 (09:42 +0000)]
2009-04-20  Thomas Quinot  <quinot@adacore.com>

* g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
(GNAT.Sockets.Thin.C_Inet_Addr): Remove.
(GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
(GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).

* debug.adb: Fix typo

* gnat_rm.texi: Minor doc fix.

* sem_ch7.adb, freeze.adb: Minor reformatting

From-SVN: r146387

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 09:38:27 +0000 (11:38 +0200)]
[multiple changes]

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* g-socket.ads: Add new constants:
  Loopback_Inet_Addr
  Unspecified_Group_Inet_Addr
  All_Hosts_Group_Inet_Addr
  All_Routers_Group_Inet_Addr

* s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
ERANGE (Result too large).
(GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
propagation of errno to caller.

2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>

* a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
to 24. Increment Leap_Seconds_Count and add an entry to aggregate
Leap_Second_Times.

2009-04-20  Vincent Celier  <celier@adacore.com>

* mlib-prj.adb (Build_Library): Use the shared library linker, if one
has been declared (Library_GCC or Linker'Driver), for the driver name.

* prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
Linker'Driver is, use Linker'Driver as the shared library linker.
(Process_Project_Level_Simple_Attributes): Issue a warning if attribute
Library_GCC is declared.
(Check_Library_Attributes): Set up the shared linker driver: either
Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
declared.

From-SVN: r146386

15 years agosem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for checking for refere...
Gary Dismukes [Mon, 20 Apr 2009 09:37:30 +0000 (11:37 +0200)]
sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for checking for references to eliminated subprograms that should...

2009-04-20  Gary Dismukes  <dismukes@adacore.com>

* sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
checking for references to eliminated subprograms that should be
flagged.
(Eliminate_Error_Message): Update comment to say "references" rather
than "calls" (since attribute cases are handled here as well).

* sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
checking for references to eliminated subprograms that should be
flagged.  Add with and use of Sem and Sem_Util.

* sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
Add with and use of Sem_Elim.

* sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
applied to eliminated subprograms.
(Analyze_Attribute): Reject 'Address and 'Code_Address applied to
eliminated subprograms.
Add with and use of Sem_Elim.

* sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
to eliminated subprograms, now handled during Resolve_Call.
Remove with and use of Sem_Elim.

* exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
testing Is_Eliminated, for proper handling of primitive derived from
eliminated subprograms.

From-SVN: r146385

15 years agog-socket.ads (Send_Socket): Fix misleading comment.
Thomas Quinot [Mon, 20 Apr 2009 09:31:00 +0000 (09:31 +0000)]
g-socket.ads (Send_Socket): Fix misleading comment.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* g-socket.ads (Send_Socket): Fix misleading comment.

From-SVN: r146384

15 years agoComplete previous change.
Arnaud Charlet [Mon, 20 Apr 2009 09:30:20 +0000 (11:30 +0200)]
Complete previous change.

From-SVN: r146383

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 09:27:50 +0000 (11:27 +0200)]
[multiple changes]

2009-04-20  Arnaud Charlet  <charlet@adacore.com>

* switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
ASIS mode.

2009-04-20  Geert Bosch  <bosch@adacore.com>

* a-tifiio.adb (Put): Avoid generating too many digits for certain
fixed types with smalls that are neither integer or the reciprocal
of an integer.

2009-04-20  Bob Duff  <duff@adacore.com>

* uname.ads: Minor comment fix.

* types.ads: Minor comment fix.

From-SVN: r146382

15 years ago* Makefile.in (generated_files): Take out $(simple_generated_c).
Michael Matz [Mon, 20 Apr 2009 09:20:33 +0000 (09:20 +0000)]
* Makefile.in (generated_files): Take out $(simple_generated_c).

From-SVN: r146381

15 years agoadaint.c (__gnat_get_libraries_from_registry): Fix code to avoid warning.
Pascal Obry [Mon, 20 Apr 2009 09:19:08 +0000 (09:19 +0000)]
adaint.c (__gnat_get_libraries_from_registry): Fix code to avoid warning.

2009-04-20  Pascal Obry  <obry@adacore.com>

* adaint.c (__gnat_get_libraries_from_registry): Fix code to
avoid warning. At the same time fix a memory leak.

* osint.adb (Get_Libraries_From_Registry): Properly free memory
returned by the above routine.

From-SVN: r146380

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 09:14:04 +0000 (11:14 +0200)]
[multiple changes]

2009-04-20  Robert Dewar  <dewar@adacore.com>

* s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.

* exp_ch4.adb (Expand_Concatenate): Minor code reorganization

2009-04-20  Pascal Obry  <obry@adacore.com>

* initialize.c (__gnat_initialize): Add braces to kill warning.

* adaint.c: Minor reformatting, untabify, remove trailing spaces.

From-SVN: r146379

15 years ago* gcc-interface/Make-lang.in: Update dependencies.
Arnaud Charlet [Mon, 20 Apr 2009 09:10:29 +0000 (09:10 +0000)]
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r146377

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 09:02:17 +0000 (11:02 +0200)]
[multiple changes]

2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>

* adaint.h (__gnat_lwp_self): Declare on Linux.

* adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.

2009-04-20  Robert Dewar  <dewar@adacore.com>

* exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
front-end part of -fpreserve-control-flow switch.

From-SVN: r146376

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 08:55:51 +0000 (10:55 +0200)]
[multiple changes]

2009-04-20  Bob Duff  <duff@adacore.com>

* rtsfind.adb: Minor comment fix

2009-04-20  Robert Dewar  <dewar@adacore.com>

* exp_aggr.adb: Minor reformatting
Minor code reorganization (use Nkind_In)

* g-socket.adb: Minor reformatting

* g-socket.ads: Minor comment fix

* s-auxdec.ads: Minor comment and organization update.

* s-auxdec-vms_64.ads: Minor comment and organization update.

* sem_ch10.adb: Minor addition of ??? comment

* sem_disp.adb: Minor reformatting

From-SVN: r146375

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 08:49:02 +0000 (10:49 +0200)]
[multiple changes]

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
list a caller of an inlined subprogram, if the caller itself is not
called.

2009-04-20  Pascal Obry  <obry@adacore.com>

* adaint.c: Disable use of ACL on network drives.

2009-04-20  Arnaud Charlet  <charlet@adacore.com>

* gnat_ugn.texi: Add examples.

From-SVN: r146374

15 years agog-socket.ads (Abort_Selector): Clarify documentation.
Thomas Quinot [Mon, 20 Apr 2009 08:45:04 +0000 (08:45 +0000)]
g-socket.ads (Abort_Selector): Clarify documentation.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* g-socket.ads (Abort_Selector): Clarify documentation.

From-SVN: r146373

15 years agoUpdate comments.
Arnaud Charlet [Mon, 20 Apr 2009 08:44:37 +0000 (10:44 +0200)]
Update comments.

From-SVN: r146372

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 08:41:44 +0000 (10:41 +0200)]
[multiple changes]

2009-04-20  Arnaud Charlet  <charlet@adacore.com>

* opt.ads (Inspector_Mode): Update documentation of this flag.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* g-socket.ads: Minor reformatting

* socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
consider S_resolvLib error codes since we only use the hostLib wrappers.

2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
of the Underlying_Record_View after that of the derived type.

From-SVN: r146371

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 08:35:16 +0000 (10:35 +0200)]
[multiple changes]

2009-04-20  Arnaud Charlet  <charlet@adacore.com>

* switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
in inspector mode.

2009-04-20  Javier Miranda  <miranda@adacore.com>

* sem_ch6.adb (New_Overloaded_Entity): Minor reformating.

* sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
documentation.

* exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.

* sem_disp.adb
(Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
in internally built overriding subprograms.

2009-04-20  Doug Rupp  <rupp@adacore.com>

* s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.

* s-auxdec.ads: Likewise

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Find_Type_Name): Reject the completion of a private
type by an interface.

* exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
minimze difference in expanded tree when compiled as spec of the main
unit, or as a spec in the context of another unit.

From-SVN: r146370

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 08:26:13 +0000 (10:26 +0200)]
[multiple changes]

2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>

* a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
(localtime_tzoff): This routine no longer accepts an actual of type
tm_Pointer.
(UTC_Time_Offset): Remove local variable Secs_TM.

* sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
actual of type struct tm*. Add local variable of type struct tm for all
targets that provide localtime_r and need to invoke it.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c, g-socket.adb, g-socket.ads
(GNAT.Sockets.Resolve_Error): Add case of EPIPE
Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK

From-SVN: r146369

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 08:18:43 +0000 (10:18 +0200)]
[multiple changes]

2009-04-20  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb: Minor reformatting

* lib-load.adb: Minor reformatting

* sem_ch4.adb: Minor reformatting

2009-04-20  Robert Dewar  <dewar@adacore.com>

* namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
(equal values => False).

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
to null procedures can be inlined unconditionally.

From-SVN: r146368

15 years agotrans.c (call_to_gnu): When creating the copy for a non-addressable parameter passed...
Eric Botcazou [Mon, 20 Apr 2009 08:14:36 +0000 (08:14 +0000)]
trans.c (call_to_gnu): When creating the copy for a non-addressable parameter passed by reference...

* gcc-interface/trans.c (call_to_gnu): When creating the copy for a
non-addressable parameter passed by reference, do not convert the
actual if its type is already the nominal type, unless it is of
self-referential size.

From-SVN: r146367

15 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Apr 2009 08:09:46 +0000 (10:09 +0200)]
[multiple changes]

2009-04-20  Arnaud Charlet  <charlet@adacore.com>

* gnat_ugn.texi: Fix typos.

2009-04-20  Robert Dewar  <dewar@adacore.com>

* debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
Validate_Unchecked_Warnings to suppress warnings about size or
alignment or extra bits if either type involved has pragma Warnings
(Off) set for the type entity.

From-SVN: r146366

15 years agoDaily bump.
GCC Administrator [Mon, 20 Apr 2009 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r146363

15 years agocygwin-stdint.h (INTPTR_TYPE): Remove "long".
Dave Korn [Sun, 19 Apr 2009 21:15:01 +0000 (21:15 +0000)]
cygwin-stdint.h (INTPTR_TYPE): Remove "long".

* config/i386/cygwin-stdint.h (INTPTR_TYPE):  Remove "long".
(UINTPTR_TYPE):  Likewise.

From-SVN: r146360

15 years agore PR c/37481 (-pedantic accepts flexible array member = "string" initialization)
Joseph Myers [Sun, 19 Apr 2009 20:38:53 +0000 (21:38 +0100)]
re PR c/37481 (-pedantic accepts flexible array member = "string" initialization)

PR c/37481
* c-typeck.c (digest_init): Check for initializing an array with a
string literal.

testsuite:
* gcc.dg/c99-flex-array-7.c: New test.

From-SVN: r146359

15 years agore PR c/19771 (VLA deallocation)
Joseph Myers [Sun, 19 Apr 2009 20:19:54 +0000 (21:19 +0100)]
re PR c/19771 (VLA deallocation)

PR c/19771
* c-semantics.c (pop_stmt_list): Propagate
STATEMENT_LIST_HAS_LABEL to parent statement list.

testsuite:
* gcc.c-torture/execute/vla-dealloc-1.c: New test.

From-SVN: r146358

15 years agomips.h (mips_tune_attr): New macro.
Adam Nemet [Sun, 19 Apr 2009 19:56:14 +0000 (19:56 +0000)]
mips.h (mips_tune_attr): New macro.

* config/mips/mips.h (mips_tune_attr): New macro.
* config/mips/mips.md (cpu): Use it.

From-SVN: r146357

15 years agore PR c/38243 (Restrict constraint violation not an error with -pedantic-errors)
Joseph Myers [Sun, 19 Apr 2009 18:25:07 +0000 (19:25 +0100)]
re PR c/38243 (Restrict constraint violation not an error with -pedantic-errors)

PR c/38243
* c-decl.c (shadow_tag_warned): Diagnose use of restrict when
declaring a tag.

testsuite:
* gcc.dg/c99-restrict-3.c: New test.

From-SVN: r146356

15 years agotoplev.c (compile_file): Move call to coverage_finish ...
Diego Novillo [Sun, 19 Apr 2009 17:52:03 +0000 (13:52 -0400)]
toplev.c (compile_file): Move call to coverage_finish ...

* toplev.c (compile_file): Move call to coverage_finish ...
* cgraphunit.c (ipa_passes): ... here.
Call cgraph_process_new_functions.
* ipa-utils.c (get_base_var): Handle CONSTRUCTOR.
* Makefile.in (cgraphunit.o): Add dependency on COVERAGE_H.

From-SVN: r146354

15 years agore PR preprocessor/20078 (Gcc doesn't complain about non-benign macro definitions)
Joseph Myers [Sun, 19 Apr 2009 17:10:56 +0000 (18:10 +0100)]
re PR preprocessor/20078 (Gcc doesn't complain about non-benign macro definitions)

libcpp:
PR preprocessor/20078
* include/cpp-id-data.h (struct cpp_macro): Add extra_tokens
field.
* include/cpplib.h (SP_DIGRAPH, SP_PREV_WHITE): Define.
(struct cpp_token): Change flags to unsigned short.
* lex.c (_cpp_lex_direct): Initialize arg_no for CPP_PASTE tokens.
(_cpp_equiv_tokens): Check arg_no for CPP_PASTE tokens.
(cpp_token_val_index): Return CPP_TOKEN_FLD_ARG_NO for CPP_PASTE
tokens.
* macro.c (macro_real_token_count): New.
(enter_macro_context, replace_args): Use macro_real_token_count.
(create_iso_definition): Record whitespace surrounding and digraph
spelling of # and ## tokens using SP_PREV_WHITE and SP_DIGRAPH.
Set extra_tokens and save CPP_PASTE tokens with arg_no set for
multiple consecutive ## tokens.
(_cpp_create_definition): Initialize extra_tokens.
(cpp_macro_definition): Use macro_real_token_count.

gcc/testsuite:
* gcc.dg/cpp/paste16.c, gcc.dg/cpp/redef4.c: New tests.

From-SVN: r146352

15 years agocgraph.c (cgraph_create_edge, [...]): Set proper cfun.
Jan Hubicka [Sun, 19 Apr 2009 13:27:28 +0000 (15:27 +0200)]
cgraph.c (cgraph_create_edge, [...]): Set proper cfun.

* cgraph.c (cgraph_create_edge, cgraph_set_call_stmt): Set proper cfun.
(dump_cgraph_node): Dump can throw external flag.
* ipa-pure-const.c (propagate): Fix propagation of nothrow flags.

From-SVN: r146349

15 years agostdatomic.h (__atomic_flag_for_address): Use _GLIBCXX_NOTHROW.
Jan Hubicka [Sun, 19 Apr 2009 13:16:34 +0000 (15:16 +0200)]
stdatomic.h (__atomic_flag_for_address): Use _GLIBCXX_NOTHROW.

* include/c_compatibility/stdatomic.h (__atomic_flag_for_address): Use
_GLIBCXX_NOTHROW.

From-SVN: r146348

15 years agotrans.c (gigi): Make the special IA-64 descriptor type a builtin type and give it...
Eric Botcazou [Sun, 19 Apr 2009 13:02:14 +0000 (13:02 +0000)]
trans.c (gigi): Make the special IA-64 descriptor type a builtin type and give it a name.

* gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
a builtin type and give it a name.

From-SVN: r146347

15 years agognat.exp (local_find_gnatmake): Pass --LINK to gnatlink.
Eric Botcazou [Sun, 19 Apr 2009 12:46:12 +0000 (12:46 +0000)]
gnat.exp (local_find_gnatmake): Pass --LINK to gnatlink.

* lib/gnat.exp (local_find_gnatmake): Pass --LINK to gnatlink.
Do not pass -B$root after -margs.

From-SVN: r146345

15 years agore PR c/32061 ((Wlogical-op) wording of warning of constant logicials need improvement)
Manuel López-Ibáñez [Sun, 19 Apr 2009 11:04:13 +0000 (11:04 +0000)]
re PR c/32061 ((Wlogical-op) wording of warning of constant logicials need improvement)

2009-04-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/32061
PR c++/36954
* doc/invoke.texi: Add -Wlogical-op to -Wextra.
* common.opt (Wlogical-op): Move from here...
* c.opt (Wlogical-op): ... to here.
* c-typeck.c (parser_build_binary_op): Update call to
warn_logical_operator.
* c-opts.c (c_common_post_options): Enable warn_logical_op with
extra_warnings.
* c-common.c (warn_logical_op): Update.
* c-common.h (warn_logical_op): Update declaration.
cp/
* call.c (build_new_op): Save the original codes of operands
before folding.

testsuite/
* gcc.dg/pr32061.c: New.
* gcc.dg/Wlogical-op-1.c: Update.
* g++.dg/warn/Wlogical-op-1.C: Update.
* g++.dg/warn/pr36954.C: New.

From-SVN: r146344

15 years ago2009-04-19 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Sun, 19 Apr 2009 10:34:40 +0000 (10:34 +0000)]
2009-04-19  Paolo Carlini  <paolo.carlini@oracle.com>

Trim last ChangeLog entry.

From-SVN: r146343

15 years agoFix changelog entry.
Jan Hubicka [Sun, 19 Apr 2009 10:29:33 +0000 (10:29 +0000)]
Fix changelog entry.

From-SVN: r146342

15 years agostdatomic.h (atomic_flag_test_and_set_explicit, [...]): Use _GLIBCXX_NOTHROW.
Jan Hubicka [Sun, 19 Apr 2009 09:36:10 +0000 (11:36 +0200)]
stdatomic.h (atomic_flag_test_and_set_explicit, [...]): Use _GLIBCXX_NOTHROW.

* c_compatibility/stdatomic.h (atomic_flag_test_and_set_explicit,
atomic_flag_clear_explicit, __atomic_flag_wait_explicit): Use
_GLIBCXX_NOTHROW.
* bits/c++config (_GLIBCXX_NOTHROW): New.

From-SVN: r146341

15 years ago* tree.c (protected_set_expr_location): Fix formatting.
Eric Botcazou [Sun, 19 Apr 2009 08:39:05 +0000 (08:39 +0000)]
* tree.c (protected_set_expr_location): Fix formatting.

From-SVN: r146340

15 years agoDaily bump.
GCC Administrator [Sun, 19 Apr 2009 00:16:53 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r146339

15 years agore PR c/27676 (gcc is overly strict in assignment to read-only data)
Joseph Myers [Sat, 18 Apr 2009 23:21:34 +0000 (00:21 +0100)]
re PR c/27676 (gcc is overly strict in assignment to read-only data)

PR c/27676
* c-typeck.c (readonly_warning): new.
(build_unary_op, build_modify_expr): Use readonly_warning for
storing into something readonly but not const-qualified.

testsuite:
* gcc.dg/lvalue-5.c: New test.

From-SVN: r146336

15 years ago2009-04-18 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Sat, 18 Apr 2009 23:03:53 +0000 (23:03 +0000)]
2009-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

Trim overlong ChangeLog entry.

From-SVN: r146334

15 years agore PR c/22367 (constraints on '&' not fully implemented)
Joseph Myers [Sat, 18 Apr 2009 22:34:10 +0000 (23:34 +0100)]
re PR c/22367 (constraints on '&' not fully implemented)

PR c/22367
* c-typeck.c (build_unary_op): Check for taking address of
expression of type void.

testsuite:
* gcc.dg/lvalue-6.c, gcc.dg/lvalue-7.c: New tests.

From-SVN: r146332

15 years ago* eh_type.cc (__cxa_current_exception_type) Mark throw().
Jan Hubicka [Sat, 18 Apr 2009 22:18:21 +0000 (00:18 +0200)]
* eh_type.cc (__cxa_current_exception_type) Mark throw().

* unwind-cxx.h (__cxa_get_globals, __cxa_get_globals_fast): Mark const.
(__cxa_get_exception_ptr): Mark pure.
(__cxa_bad_cast, __cxa_bad_typeid): Mark noreturn
(__terminate): Makr throw ().
* exception (terminate): Mark throw().
(uncaught_exception): Mark pure.
* eh_ptr.cc (_M_safe_bool_dummy): Mark throw().
* guard.cc (__cxa_guard_abort, __cxa_guard_release): Mark throw().
* eh_terminate.cc (__terminate, terminate): Mark throw().
* vec.cc (__cxa_vec_cleanup): Mark throw().
* cxxabi.h (__cxa_vec_cleanup, __cxa_guard_release, __cxa_guard_abort): Mark throw ().
(__cxa_pure_virtual): Mark noreturn.
(__cxa_current_exception_type): Mark throw and pure.
* exception_ptr.h (operator ==, !=, _M_get, !, ==,
__cxa_exception_type): Mark pure.
(_M_safe_bool_dummy): Mark pure and const.

From-SVN: r146331

15 years agopool_allocator.cc (_M_get_free_list, [...]): Mark throw ()
Jan Hubicka [Sat, 18 Apr 2009 22:02:19 +0000 (00:02 +0200)]
pool_allocator.cc (_M_get_free_list, [...]): Mark throw ()

* src/pool_allocator.cc (_M_get_free_list, _M_get_mutex): Mark throw ()
* src/mt_allocator.cc (_M_reclaim_block, _M_reclaim_block,
_M_destroy_thread_key): Mark throw ()
* debug.cc (_M_get_mutex, _M_attach_single, _M_detach_single,
_M_singular, _M_can_compare _M_get_mutex, _M_message,
_M_get_max_length): Mark throw ().
* include/debug/formatter.h (_M_message, _M_format_word,
_M_get_max_length): Mark throw ().
* include/debug/safe_base.h (_M_get_mutex, _M_attach_single,
_M_detach_single): Mark throw ().
(_M_singular, _M_can_compare, _M_get_mutex): Mark pure and throw ().
* include/ext/pool_allocator.h (_M_get_free_list): Mark const and
throw ()
(_M_get_mutex): Mark throw ().
* include/ext/mt_allocator.h (_M_reclaim_block): Mark throw ();
(_M_destroy_thread_key): Mark CONST and throw.
* include/bits/stl_list.h (swap, transfer, reverse, hook, unhook): Mark
throw ().

From-SVN: r146330

15 years agocondition_variable.cc (condition_variable, [...]): Mark throw()
Jan Hubicka [Sat, 18 Apr 2009 21:19:18 +0000 (23:19 +0200)]
condition_variable.cc (condition_variable, [...]): Mark throw()

* src/condition_variable.cc (condition_variable,
condition_variable_any constructors): Mark throw()
* src/hash.cc (operator() for long double, string, and wstring): Mark
throw ().
* src/strstream.cc (strstreambuf constructors, freeze, str, pcount,
_M_setup, rdbuf, str): Mark throw ().
* src/chrono.cc (new): Mark throw ().
* include/std/system_error (system_category, generic_category): Mark
throw () and const.
* include/std/chrono (now): Mark throw ().
* include/std/condition_variable (condition_variable,
~condition_variable, condition_variable_any,
~condition_variable_any): Mark throw ().
* include/std/mutex (mutex): Mark throw ().
* include/bits/stl_list.h (swap, transfer, reverse, hook, unhook): Mark
throw.
* include/bits/functional_hash.h (operator()  on size_t): Mark pure and throw ().
* include/bits/locale_facets.tcc (__verify_grouping): Mark pure.
* include/bits/locale_classes.h (_S_initialize_once,
_S_clone_c_locale): Mark throw ().
(_S_get_c_name): Mark const and throw ().
(_M_id, _M_compare, _M_transform, _M_compare, _M_transform): Mark throw ().
* include/bits/locale_facets.h (__convert_to_v explicit instances):
Mark throw ().
(_M_convert_to_wmask, _M_initialize_ctype, _S_format_float): Mark throw ().
* include/bits/ios_base.h (_M_dispose_callbacks, _M_init, imbue,
ios_base): Mark throw ()
* include/bits/locale_facets_nonio.h (_M_put): Mark throw.
* include/backward/strstream (strstreambuf constructors): Mark throw ().
(str, freeze, _M_setupf): Mark throw ().
(pcount): Mark pure and throw ().
(rdbuf): Mark const and throw ().

From-SVN: r146328

15 years agodirectives.c (parse_include): Pass true to check_eol.
Joseph Myers [Sat, 18 Apr 2009 20:25:07 +0000 (21:25 +0100)]
directives.c (parse_include): Pass true to check_eol.

libcpp:
* directives.c (parse_include): Pass true to check_eol.

gcc/testsuite:
* gcc.dg/cpp/include5.c: New test.

From-SVN: r146327

15 years agocp-tree.h: Remove the prototype for insert_block.
Kazu Hirata [Sat, 18 Apr 2009 20:23:05 +0000 (20:23 +0000)]
cp-tree.h: Remove the prototype for insert_block.

* cp-tree.h: Remove the prototype for insert_block.
* decl.c (insert_block): Remove.

From-SVN: r146326

15 years agore PR c/35210 (gcc incorrectly allows calling function returning "const void")
Joseph Myers [Sat, 18 Apr 2009 20:02:47 +0000 (21:02 +0100)]
re PR c/35210 (gcc incorrectly allows calling function returning "const void")

PR c/35210
* c-typeck.c (build_function_call): Check for calling a function
with qualified void return types.  Call require_complete_type when
generating a trap.

testsuite:
* gcc.dg/call-diag-2.c: New test.

From-SVN: r146324

15 years agore PR libstdc++/39802 (std::num_get fails to parse negative zero input correctly)
Paolo Carlini [Sat, 18 Apr 2009 19:28:40 +0000 (19:28 +0000)]
re PR libstdc++/39802 (std::num_get fails to parse negative zero input correctly)

2009-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/39802
* include/bits/locale_facets.tcc (num_get<>::_M_extract_int
(_InIter, _InIter, ios_base&, ios_base::iostate&, _ValueT&)):
Always accept negative values, for unsigned types too.
* testsuite/22_locale/num_get/get/char/39802.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.

From-SVN: r146323

15 years agocgraph.c (cgraph_make_edge, [...]): Set nothrow flag.
Jan Hubicka [Sat, 18 Apr 2009 18:39:52 +0000 (20:39 +0200)]
cgraph.c (cgraph_make_edge, [...]): Set nothrow flag.

* cgraph.c (cgraph_make_edge, dump_cgraph_node, cgraph_set_call_stmt):
Set nothrow flag.
* cgraph.h (struct function): Reduce loop_nest to 30 bits; add
can_throw_external flag.
* ipa-reference.c (ipa_utils_reduced_inorder): Update call.
* ipa-pure-const.c (ignore_edge): New function.
(propagate): Compute order for NOTHROW computation; set NOTHROWs
only over can_throw_external edges.
(local_pure_const): Add nothrow flag.
* ipa-utils.c (searchc): Add ignore_edge callback.
(ipa_utils_reduced_inorder): Add ignore_edge callback.
* ipa-utils.h (ipa_utils_reduced_inorder): Update prototype.
(set_nothrow_function_flags): Update cgraph.
* tree-cfg.c (verify_stmt): Relax nothrow checking when in IPA mode.

From-SVN: r146322

15 years agore PR preprocessor/39646 (__FILE__ breaks for empty file name)
Joseph Myers [Sat, 18 Apr 2009 17:36:28 +0000 (18:36 +0100)]
re PR preprocessor/39646 (__FILE__ breaks for empty file name)

libcpp:
PR preprocessor/39646
* include/line-map.h (enum lc_reason): Add LC_RENAME_VERBATIM.
* line-map.c (linemap_add): Handle LC_RENAME_VERBATIM.
* directives.c (do_line, do_linemarker): Use LC_RENAME_VERBATIM in
place of LC_RENAME.

gcc/testsuite:
* gcc.dg/cpp/line8.c: New test.

From-SVN: r146319

15 years agoformater.h: Include bits/c++config.h.
Jan Hubicka [Sat, 18 Apr 2009 15:48:16 +0000 (17:48 +0200)]
formater.h: Include bits/c++config.h.

* include/debug/formater.h: Include bits/c++config.h.
(_M_error): Mark noreturn.
* include/bits/c++config (_GLIBCXX_PURE, _GLIBCXX_CONST,
_GLIBCXX_NORETURN): New.
* include/bits/stl_tree.h (_Rb_tree_increment, _Rb_tree_increment,
_Rb_tree_decrement, _Rb_tree_decrement, _Rb_tree_black_count): Mark pure.
* include/c_compatibility/stdatomic.h (atomic_flag_test_and_set_explicit,
atomic_flag_clear_explicit, __atomic_flag_wait_explicit,
__atomic_flag_for_address): Mark by throw ().
* src/atomic.cc (atomic_flag_test_and_set_explicit,
atomic_flag_clear_explicit, __atomic_flag_wait_explicit,
__atomic_flag_for_address): Mark by throw ().

From-SVN: r146317

15 years agore PR preprocessor/39647 (Syntax checks in #line not quite right)
Joseph Myers [Sat, 18 Apr 2009 15:28:40 +0000 (16:28 +0100)]
re PR preprocessor/39647 (Syntax checks in #line not quite right)

libcpp:
PR preprocessor/39647
* directives.c (check_eol): Add parameter expand.
(do_undef, parse_include, do_line, do_linemarker, do_ident,
do_pragma_once, do_pragma_system_header, do_ifdef, do_ifndef,
do_else, do_endif, do_assert, do_unassert): All callers changed.
Pass true from do_line, false elsewhere.

gcc/testsuite:
* gcc.dg/cpp/line7.c: New test.

From-SVN: r146316

15 years agore PR tree-optimization/39804 (internal compiler error: in propagate_necessity, at...
Richard Guenther [Sat, 18 Apr 2009 13:02:00 +0000 (13:02 +0000)]
re PR tree-optimization/39804 (internal compiler error: in propagate_necessity, at tree-ssa-dce.c:754)

2009-04-18  Richard Guenther  <rguenther@suse.de>

PR middle-end/39804
* tree-ssa-ccp.c (fold_stmt_1): New function factored from ...
(fold_stmt): ... this and ...
(fold_stmt_inplace): ... this.
(fold_stmt_1): Fold references in calls and asms.
* tree-cfg.c (remove_useless_stmts_cond): Use fold_stmt.

* gcc.target/i386/pr39804.c: New testcase.

From-SVN: r146314

15 years agotree-vrp.c (ssa_name_nonzero_p): Remove.
Kazu Hirata [Sat, 18 Apr 2009 11:49:20 +0000 (11:49 +0000)]
tree-vrp.c (ssa_name_nonzero_p): Remove.

* tree-vrp.c (ssa_name_nonzero_p): Remove.
* tree.h: Remove the prototype for ssa_name_nonzero_p.

From-SVN: r146313

15 years agotree.c (function_args_count): Remove.
Kazu Hirata [Sat, 18 Apr 2009 11:48:19 +0000 (11:48 +0000)]
tree.c (function_args_count): Remove.

* tree.c (function_args_count): Remove.
* tree.h: Remove the prototype for function_args_count.

From-SVN: r146312

15 years agotree-iterator.c (expr_only): Remove.
Kazu Hirata [Sat, 18 Apr 2009 11:47:22 +0000 (11:47 +0000)]
tree-iterator.c (expr_only): Remove.

* tree-iterator.c (expr_only): Remove.
* tree.h: Remove the prototype for expr_only.

From-SVN: r146311

15 years agoreginfo.c (cannot_change_mode_set_regs): Remove.
Kazu Hirata [Sat, 18 Apr 2009 11:45:08 +0000 (11:45 +0000)]
reginfo.c (cannot_change_mode_set_regs): Remove.

* reginfo.c (cannot_change_mode_set_regs): Remove.
* rtl.h: Remove the prototype for cannot_change_mode_set_regs.

From-SVN: r146310

15 years agoavr.md (*rotlsi3_8, [...]): Check whether operands 0 and 1 overlaps.
Anatoly Sokolov [Sat, 18 Apr 2009 11:16:37 +0000 (15:16 +0400)]
avr.md (*rotlsi3_8, [...]): Check whether operands 0 and 1 overlaps.

* config/avr/avr.md (*rotlsi3_8, *rotlsi3_16, *rotlsi3_24 ): Check
whether operands 0 and 1 overlaps.

From-SVN: r146309

15 years agore PR fortran/39782 (IO depends on uninitialised value)
Janne Blomqvist [Sat, 18 Apr 2009 10:05:34 +0000 (13:05 +0300)]
re PR fortran/39782 (IO depends on uninitialised value)

2009-04-18  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/39782
* io/transfer.c (data_transfer_init): Don't flush before seek.
(finalize_transfer): Remove extra flush.

From-SVN: r146308