aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2009-04-20[multiple changes]Arnaud Charlet5-16/+66
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
2009-04-20[multiple changes]Arnaud Charlet19-69/+338
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
2009-04-20[multiple changes]Arnaud Charlet3-3/+28
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
2009-04-20[multiple changes]Arnaud Charlet14-73/+361
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
2009-04-20s-taprop-irix.adb, [...]: Minor reformatting.Thomas Quinot10-21/+29
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
2009-04-202009-04-20 Thomas Quinot <quinot@adacore.com>Thomas Quinot12-38/+92
* 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
2009-04-20[multiple changes]Arnaud Charlet8-26/+164
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
2009-04-20sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for checking ↵Gary Dismukes6-17/+63
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
2009-04-20g-socket.ads (Send_Socket): Fix misleading comment.Thomas Quinot2-11/+14
2009-04-20 Thomas Quinot <quinot@adacore.com> * g-socket.ads (Send_Socket): Fix misleading comment. From-SVN: r146384
2009-04-20Complete previous change.Arnaud Charlet1-0/+2
From-SVN: r146383
2009-04-20[multiple changes]Arnaud Charlet5-63/+126
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
2009-04-20* Makefile.in (generated_files): Take out $(simple_generated_c).Michael Matz2-1/+5
From-SVN: r146381
2009-04-20adaint.c (__gnat_get_libraries_from_registry): Fix code to avoid warning.Pascal Obry3-68/+83
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
2009-04-20[multiple changes]Arnaud Charlet21-109/+362
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
2009-04-20* gcc-interface/Make-lang.in: Update dependencies.Arnaud Charlet2-24/+34
From-SVN: r146377
2009-04-20[multiple changes]Arnaud Charlet7-4/+38
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
2009-04-20[multiple changes]Arnaud Charlet9-51/+69
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
2009-04-20[multiple changes]Arnaud Charlet4-23/+204
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
2009-04-20g-socket.ads (Abort_Selector): Clarify documentation.Thomas Quinot2-7/+13
2009-04-20 Thomas Quinot <quinot@adacore.com> * g-socket.ads (Abort_Selector): Clarify documentation. From-SVN: r146373
2009-04-20Update comments.Arnaud Charlet2-19/+15
From-SVN: r146372
2009-04-20[multiple changes]Arnaud Charlet6-40/+30
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
2009-04-20[multiple changes]Arnaud Charlet10-82/+190
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
2009-04-20[multiple changes]Arnaud Charlet6-72/+100
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
2009-04-20[multiple changes]Arnaud Charlet7-75/+118
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
2009-04-20trans.c (call_to_gnu): When creating the copy for a non-addressable ↵Eric Botcazou4-7/+72
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
2009-04-20[multiple changes]Arnaud Charlet5-14/+54
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
2009-04-20Daily bump.GCC Administrator1-1/+1
From-SVN: r146363
2009-04-19cygwin-stdint.h (INTPTR_TYPE): Remove "long".Dave Korn2-2/+7
* config/i386/cygwin-stdint.h (INTPTR_TYPE): Remove "long". (UINTPTR_TYPE): Likewise. From-SVN: r146360
2009-04-19re PR c/37481 (-pedantic accepts flexible array member = "string" ↵Joseph Myers4-0/+32
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
2009-04-19re PR c/19771 (VLA deallocation)Joseph Myers4-0/+35
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
2009-04-19mips.h (mips_tune_attr): New macro.Adam Nemet3-1/+10
* config/mips/mips.h (mips_tune_attr): New macro. * config/mips/mips.md (cpu): Use it. From-SVN: r146357
2009-04-19re PR c/38243 (Restrict constraint violation not an error with -pedantic-errors)Joseph Myers4-0/+24
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
2009-04-19toplev.c (compile_file): Move call to coverage_finish ...Diego Novillo5-7/+23
* 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
2009-04-19re PR preprocessor/20078 (Gcc doesn't complain about non-benign macro ↵Joseph Myers3-0/+510
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
2009-04-19cgraph.c (cgraph_create_edge, [...]): Set proper cfun.Jan Hubicka3-0/+15
* 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
2009-04-19trans.c (gigi): Make the special IA-64 descriptor type a builtin type and ↵Eric Botcazou2-18/+24
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
2009-04-19gnat.exp (local_find_gnatmake): Pass --LINK to gnatlink.Eric Botcazou2-2/+7
* lib/gnat.exp (local_find_gnatmake): Pass --LINK to gnatlink. Do not pass -B$root after -margs. From-SVN: r146345
2009-04-19re PR c/32061 ((Wlogical-op) wording of warning of constant logicials need ↵Manuel López-Ibáñez15-66/+195
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
2009-04-19* tree.c (protected_set_expr_location): Fix formatting.Eric Botcazou2-1/+6
From-SVN: r146340
2009-04-19Daily bump.GCC Administrator1-1/+1
From-SVN: r146339
2009-04-19re PR c/27676 (gcc is overly strict in assignment to read-only data)Joseph Myers4-2/+59
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
2009-04-18re PR c/22367 (constraints on '&' not fully implemented)Joseph Myers5-0/+53
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
2009-04-18directives.c (parse_include): Pass true to check_eol.Joseph Myers2-0/+13
libcpp: * directives.c (parse_include): Pass true to check_eol. gcc/testsuite: * gcc.dg/cpp/include5.c: New test. From-SVN: r146327
2009-04-18cp-tree.h: Remove the prototype for insert_block.Kazu Hirata3-13/+5
* cp-tree.h: Remove the prototype for insert_block. * decl.c (insert_block): Remove. From-SVN: r146326
2009-04-18re PR c/35210 (gcc incorrectly allows calling function returning "const void")Joseph Myers4-3/+43
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
2009-04-18cgraph.c (cgraph_make_edge, [...]): Set nothrow flag.Jan Hubicka9-27/+132
* 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
2009-04-18re PR preprocessor/39646 (__FILE__ breaks for empty file name)Joseph Myers2-0/+15
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
2009-04-18re PR preprocessor/39647 (Syntax checks in #line not quite right)Joseph Myers2-0/+24
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
2009-04-18re PR tree-optimization/39804 (internal compiler error: in ↵Richard Guenther5-58/+113
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
2009-04-18tree-vrp.c (ssa_name_nonzero_p): Remove.Kazu Hirata3-23/+5
* tree-vrp.c (ssa_name_nonzero_p): Remove. * tree.h: Remove the prototype for ssa_name_nonzero_p. From-SVN: r146313