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
2008-08-20 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_File): An excluded Ada source file may be a
source of another project.
From-SVN: r139309
2008-08-20 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
and the full view is visible, set flag on full view as well.
From-SVN: r139306
2008-08-20 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch5.adb (Controlled_Type): New routine.
(Expand_N_Extended_Return_Statement): When generating a move of the
final list in extended return statements, check the type of the
function and in the case of double expanded return statements, the type
of the returned object.
(Expand_Simple_Function_Return): Perform an interface conversion when
the type of the returned object is an interface and the context is an
extended return statement.
From-SVN: r139305
2008-08-20 Bob Duff <duff@adacore.com>
* exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
folding. We were folding things like "False and then ...", but not
"X and then ..." where X is a constant whose value is known at compile
time.
From-SVN: r139304
2008-08-20 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb:
(Analyze_Pragma, case Obsolescent): Add entity information on the pragma
argument for ASIS and navigation use.
From-SVN: r139301
2008-08-20 Thomas Quinot <quinot@adacore.com>
* exp_strm.adb (Build_Elementary_Input_Call,
Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
selects the stream attribute routines for long float types.
From-SVN: r139299