* testsuite/libgomp.exp (libgomp_init): Only set things that
depend on blddir if blddir exists.
(libgomp_target_compile): Likewise.
* testsuite/libgomp.c++/c++.exp: Likewise.
* testsuite/libgomp.fortran/fortran.exp: Likewise.
From-SVN: r139393
* cgraph.c (first_cgraph_function_insertion_hook): New variable.
(cgraph_add_function_insertion_hook, cgraph_remove_function_insertion_hook,
cgraph_call_function_insertion_hooks): New functions.
* cgraph.h (cgraph_add_function_insertion_hook, cgraph_remove_function_insertion_hook,
cgraph_call_function_insertion_hooks): Declare.
* ipa-reference.c (function_insertion_hook_holder): New variable.
(check_operand, look_for_address_of): When checking late, do not care
about module bitmaps.
(add_new_function): New function.
(generate_summary): Register hooks; zero module bitmaps.
(propagate): Unregister hooks.
* ipa-pure-const.c (function_insertion_hook_holder): New variable.
(add_new_function): New function.
(generate_summary): Register hook.
(propagate): Remove hook.
* ipa-cp.c (ipcp_need_redirect_p): Fix to not be constant 0.
* tree-pass.h (pass_ipa_cp): Make ipa_opt_pass.
* ipa-cp.c (ipcp_update_cloned_node): New function.
(build_const_val): Handle functions correctly; bring type logic
into sync with tree-inline.c
(ipcp_init_stage): Take care of computing stuff needed by
indirect inlining; update clones.
(ipcp_generate_summary): Break out of ipcp_driver.
(ipcp_driver): Do only execution and transformation.
(pass_ipa_cp): Make IPA_PASS.
* tree-ssa-ccp.c (fold_stmt_r): Check type before trying to fold
offset to address.
* ipa-inline.c (inline_indirect_intraprocedural_analysis): When doing
ipcp, some info is already available.
* ipa-prop.c (ipa_count_arguments): Grow edge lists as needed.
* tree-inline.c (remap_ssa_name): Unshare expression.
From-SVN: r139389
2008-08-21 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
a PHI ask VN if it is already available.
* tree-ssa-sccvn.h (vn_phi_lookup): Declare.
* tree-ssa-sccvn.c (vn_phi_lookup): Export.
From-SVN: r139388
2008-08-21 Richard Guenther <rguenther@suse.de>
PR middle-end/36817
* tree-chrec.c (chrec_apply): Always call chrec_fold_plus which
makes sure to produce a result of the correct type.
* gcc.c-torture/compile/pr36817.c: New testcase.
From-SVN: r139385
2008-05-05 Kenneth Zadeck <zadeck@naturalbridge.com>
Jan Hubicka <jh@suse.cz>
* ipa-pure-const.c
(init_state, finish_state, set_function_state, generate_summary):
New functions.
(scan_stmt): Renamed from scan_function. Changed to keep state in
local static vars rather than cgraph aux field.
(propagate): Renamed from static_execute. Changed to keep state in
local static vars rather than cgraph aux field.
(pass_ipa_pure_const): Changed from SIMPLE_IPA_PASS to IPA_PASS.
* tree-pass.h (pass_ipa_pure_const): Turn into IPA_PASS.
2008-07-15 Kenneth Zadeck <zadeck@naturalbridge.com>
* tree-pass.h (pass_ipa_reference): Make into ipa_opt_pass.
* ipa-reference.c (init_function_info, generate_summary,
propagate): New functions.
(analyze_function): Call init_function_info.
(static_execute): Stripped into generate_summary and propagate.
(pass_ipa_reference): Made into ipa_opt_pass.
From-SVN: r139378
2008-08-21 Richard Guenther <rguenther@suse.de>
PR testsuite/37182
* gcc.dg/pr17506.c: Remove duplicate testcase.
* gcc.dg/uninit-15.c: Adjust to allow for both correct
behaviors, one xfailed.
From-SVN: r139374
2008-08-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/179
* tree-ssa.c (warn_uninit): Do not warn for variables that can be
initialized outside the current module.
(warn_uninitialized_var): Ignore left-hand side when walking the
trees. Ignore address expressions. Examine VUSE operands in gimple
statements with a variable declaration on the right-hand side.
testsuite/
* gcc.dg/uninit-6.c (make_something): Remove XFAIL.
* gcc.dg/uninit-6-O0.c (make_something): Remove XFAIL.
* gcc.dg/uninit-B.c (baz): Remove XFAIL.
* gcc.dg/uninit-B-2.c: New.
* gcc.dg/uninit-B-O0-2.c: New.
* gcc.dg/uninit-pr19430-O0.c: New.
* gcc.dg/uninit-pr19430.c: New.
* gcc.dg/uninit-pr19430-2.c: New.
From-SVN: r139347
* g-catiio.ads, g-catiio.adb:
(Value): Avoid an unnecessary system call to Clock in most cases.
This call is only needed when only the time is provided in the string,
and ignored in all other cases. This is more efficient.
From-SVN: r139333
2008-08-20 Jose Ruiz <ruiz@adacore.com>
* errno.c (__get_errno, __set_errno for MaRTE): Transform then into
weak symbols so we use the version provided by MaRTE when available.
From-SVN: r139332
* ali.adb:
(Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
as the name may already have been entered in the table by the Project
Manager.
From-SVN: r139331
2008-08-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 35701
* c-common.c (conversion_warning): Do not warn if applying bit-and
operator to unsigned constant that fits in the target type.
testsuite/
* gcc.dg/pr35701.c: New.
* gcc.dg/Wconversion-real-integer.c: Add more tests.
* gcc.dg/Wconversion-pr34389.c: Update.
* g++.dg/warn/Wconversion-pr34389.C: Update.
From-SVN: r139329
2008-08-20 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (op_with_constant_singleton_value_range): New function.
(extract_range_from_binary_expr): Fall back to constant propagation.
(extract_range_from_unary_expr): Likewise.
* gcc.dg/tree-ssa/pr21829.c: Scan optimized and cddce2 dumps
instead of phicprop2. Make sure all is fine after cddce2,
add an XFAILed scan for merging the two remaining ifs.
From-SVN: r139326
2008-08-20 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Do not mess
with TREE_THIS_VOLATILE on shared nodes.
(fold_stmt_r): Likewise.
* gcc.c-torture/compile/20080820-1.c: New testcase.
From-SVN: r139325
PR c/37171
* c-parser.c (c_parser_attributes): For keywords use canonical
spelling for attr_name.
* gcc.dg/pr37171.c: New test.
* g++.dg/ext/attrib34.C: New test.
From-SVN: r139317
2008-08-20 Ed Schonberg <schonberg@adacore.com>
* styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
implement style check that overriding operations are explicitly marked
at such.
* style.ads (Missing_Overriding): new procedure that provides interface
to previous one.
* stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
that the declaration or body of overriding operations carries an
explicit overriding indicator.
* sem_ch8.adb
(Analyze_Subprogram_Renaming): if operation is overriding, check whether
explicit indicator should be present.
* sem_ch6.adb (Verify_Overriding_Indicator,
Check_Overriding_Indicator): If operation is overriding, check whether
declaration and/or body of subprogram should be present
From-SVN: r139316
2008-08-20 Vincent Celier <celier@adacore.com>
* make.adb (Gnatmake_Switch_Found): New Boolean global variable
(Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
(Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
and a switch is not recognized by gnatmake.
(Gnatmake): Implement new scheme for gnatmake switches and global
compilation switches.
(Switches_Of): Try successively Switches (<file name>),
Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
From-SVN: r139315
2008-08-20 Jerome Lambourg <lambourg@adacore.com>
* g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
of any alias or prefix but having attached parameters (as \"-O2\").
From-SVN: r139314
2008-08-20 Gary Dismukes <dismukes@adacore.com>
* exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
creating dummy init proc.
(Requires_Init_Proc): Return False in the case No_Default_Initialization
is in force and the type does not have associated default
initialization. Move test of Is_Public (with tests of restrictions
No_Initialize_Scalars and No_Default_Initialization) to end, past tests
for default initialization.
From-SVN: r139313
2008-08-20 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
gprbuild when casing is MixedCase, whatever the casing of the letters
in the file name.
From-SVN: r139312