mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-11 08:34:42 +08:00
lang-specs.h: Pass -gnatwa if -Wall is passed.
* lang-specs.h: Pass -gnatwa if -Wall is passed. * misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused and -Wuninitialized. (gnat_post_options): Clear warn_unused_parameter. From-SVN: r133030
This commit is contained in:
parent
8853cb0bcd
commit
6ab36daccb
@ -1,3 +1,10 @@
|
||||
2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* lang-specs.h: Pass -gnatwa if -Wall is passed.
|
||||
* misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
|
||||
and -Wuninitialized.
|
||||
(gnat_post_options): Clear warn_unused_parameter.
|
||||
|
||||
2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
|
||||
|
@ -6,7 +6,7 @@
|
||||
* *
|
||||
* C Header File *
|
||||
* *
|
||||
* Copyright (C) 1992-2007, Free Software Foundation, Inc. *
|
||||
* Copyright (C) 1992-2008, Free Software Foundation, Inc. *
|
||||
* *
|
||||
* GNAT is free software; you can redistribute it and/or modify it under *
|
||||
* terms of the GNU General Public License as published by the Free Soft- *
|
||||
@ -32,8 +32,8 @@
|
||||
"\
|
||||
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
|
||||
%{!S:%{!c:%e-c or -S required for Ada}}\
|
||||
gnat1 %{I*} %{k8:-gnatk8} %{w:-gnatws} %{!Q:-quiet} %{nostdinc*}\
|
||||
%{nostdlib*}\
|
||||
gnat1 %{I*} %{k8:-gnatk8} %{Wall:-gnatwa} %{w:-gnatws} %{!Q:-quiet}\
|
||||
%{nostdinc*} %{nostdlib*}\
|
||||
-dumpbase %{.adb:%b.adb}%{.ads:%b.ads}%{!.adb:%{!.ads:%b.ada}}\
|
||||
%{O*} %{W*} %{w} %{p} %{pg:-p} %{a} %{f*} %{d*} %{g*&m*} "
|
||||
#if defined(TARGET_VXWORKS_RTP)
|
||||
|
@ -249,7 +249,7 @@ gnat_parse_file (int set_yydebug ATTRIBUTE_UNUSED)
|
||||
from ARGV that it successfully decoded; 0 indicates failure. */
|
||||
|
||||
static int
|
||||
gnat_handle_option (size_t scode, const char *arg, int value ATTRIBUTE_UNUSED)
|
||||
gnat_handle_option (size_t scode, const char *arg, int value)
|
||||
{
|
||||
const struct cl_option *option = &cl_options[scode];
|
||||
enum opt_code code = (enum opt_code) scode;
|
||||
@ -271,8 +271,16 @@ gnat_handle_option (size_t scode, const char *arg, int value ATTRIBUTE_UNUSED)
|
||||
gnat_argc++;
|
||||
break;
|
||||
|
||||
/* All front ends are expected to accept this. */
|
||||
case OPT_Wall:
|
||||
set_Wunused (value);
|
||||
|
||||
/* We save the value of warn_uninitialized, since if they put
|
||||
-Wuninitialized on the command line, we need to generate a
|
||||
warning about not using it without also specifying -O. */
|
||||
if (warn_uninitialized != 1)
|
||||
warn_uninitialized = (value ? 2 : 0);
|
||||
break;
|
||||
|
||||
/* These are used in the GCC Makefile. */
|
||||
case OPT_Wmissing_prototypes:
|
||||
case OPT_Wstrict_prototypes:
|
||||
@ -357,6 +365,9 @@ gnat_init_options (unsigned int argc, const char **argv)
|
||||
bool
|
||||
gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* ??? The warning machinery is outsmarted by Ada. */
|
||||
warn_unused_parameter = 0;
|
||||
|
||||
flag_inline_trees = 1;
|
||||
|
||||
if (!flag_no_inline)
|
||||
|
@ -1,3 +1,7 @@
|
||||
2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gnat.dg/uninit_func.adb: New test.
|
||||
|
||||
2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gnat.dg/pack4.adb: New test.
|
||||
|
13
gcc/testsuite/gnat.dg/uninit_func.adb
Normal file
13
gcc/testsuite/gnat.dg/uninit_func.adb
Normal file
@ -0,0 +1,13 @@
|
||||
-- { dg-do compile }
|
||||
-- { dg-options "-O -Wall" }
|
||||
|
||||
function uninit_func (A, B : Boolean) return Boolean is
|
||||
C : Boolean; -- { dg-warning "may be used uninitialized" }
|
||||
begin
|
||||
if A then
|
||||
C := False;
|
||||
elsif B then
|
||||
C := True;
|
||||
end if;
|
||||
return C;
|
||||
end;
|
Loading…
Reference in New Issue
Block a user