aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2010-06-07 17:46:23 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2010-06-07 17:46:23 +0100
commit5498f0112f1202782e1929d1963f7d016ea2469c (patch)
treea31a33d86ad9aee9da47e034ee713c62de8fd078 /gcc
parente7f96023b59971790496a7b35077b89ac4d69f4d (diff)
downloadgcc-5498f0112f1202782e1929d1963f7d016ea2469c.zip
gcc-5498f0112f1202782e1929d1963f7d016ea2469c.tar.gz
gcc-5498f0112f1202782e1929d1963f7d016ea2469c.tar.bz2
common.opt (fira-verbose): Use Var.
* common.opt (fira-verbose): Use Var. (fpcc-struct-return): Use Init instead of VarExists. * defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from toplev.c. * flags.h (flag_signed_char, flag_short_enums, flag_pcc_struct_return, flag_ira_verbose, flag_detailed_statistics, flag_remove_unreachable_functions): Remove. * toplev.c (flag_detailed_statistics, flag_signed_char, flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove. (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h. * toplev.h (flag_crossjumping, flag_if_conversion, flag_if_conversion2, flag_keep_static_consts, flag_peel_loops, flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer, flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops, flag_cprop_registers, time_report, flag_ira_loop_pressure, flag_ira_coalesce, flag_ira_move_spills, flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove. c-family: * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin, flag_no_nonansi_builtin, flag_short_double, flag_short_wchar, flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm, flag_signed_bitfields, warn_strict_null_sentinel, flag_nil_receivers, flag_zero_link, flag_replace_objc_classes, flag_gen_declaration, flag_no_gnu_keywords, flag_implement_inlines, flag_implicit_templates, flag_implicit_inline_templates, flag_optional_diags, flag_elide_constructors, flag_default_inline, flag_rtti, flag_conserve_space, flag_access_control, flag_check_new, flag_new_for_scope, flag_weak, flag_working_directory, flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs, flag_threadsafe_statics, flag_pretty_templates): Remove. * c-common.h (flag_preprocess_only, flag_nil_receivers, flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link, flag_replace_objc_classes, flag_undef, flag_no_builtin, flag_no_nonansi_builtin, flag_short_double, flag_short_wchar, flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm, flag_const_strings, flag_signed_bitfields, flag_gen_declaration, flag_no_gnu_keywords, flag_implement_inlines, flag_implicit_templates, flag_implicit_inline_templates, flag_optional_diags, flag_elide_constructors, flag_default_inline, flag_rtti, flag_conserve_space, flag_access_control, flag_check_new, flag_new_for_scope, flag_weak, flag_working_directory, flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs, flag_threadsafe_statics, flag_pretty_templates, warn_strict_null_sentinel): Remove. * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm, fbuiltin, fcheck-new, fconserve-space, felide-constructors, fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines, fimplicit-inline-templates, fimplicit-templates, flax-vector-conversions, fms-extensions, fnil-receivers, fnonansi-builtins, fpretty-templates, freplace-objc-classes, frtti, fshort-double, fshort-enums, fshort-wchar, fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics, funsigned-bitfields, funsigned-char, fuse-cxa-atexit, fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link, gen-decls, undef): Use Var. (fdefault-inline, foptional-diags): Document as doing nothing. * c-opts.c (c_common_handle_option): Remove cases for options now using Var. Mark ignored options as such. fortran: * lang.opt (fshort-enums): Define using Var and VarExists. * options.c (gfc_handle_option): Don't set flag_short_enums here. lto: * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove. (lto_handle_option): Don't set flag_signed_char here. From-SVN: r160384
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog22
-rw-r--r--gcc/c-family/ChangeLog46
-rw-r--r--gcc/c-family/c-common.c170
-rw-r--r--gcc/c-family/c-common.h182
-rw-r--r--gcc/c-family/c-opts.c152
-rw-r--r--gcc/c-family/c.opt78
-rw-r--r--gcc/common.opt4
-rw-r--r--gcc/defaults.h8
-rw-r--r--gcc/flags.h23
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/lang.opt2
-rw-r--r--gcc/fortran/options.c2
-rw-r--r--gcc/lto/ChangeLog5
-rw-r--r--gcc/lto/lto-lang.c12
-rw-r--r--gcc/toplev.c30
-rw-r--r--gcc/toplev.h18
16 files changed, 132 insertions, 627 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3c9819e..8565d92 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,25 @@
+2010-06-07 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (fira-verbose): Use Var.
+ (fpcc-struct-return): Use Init instead of VarExists.
+ * defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
+ toplev.c.
+ * flags.h (flag_signed_char, flag_short_enums,
+ flag_pcc_struct_return, flag_ira_verbose,
+ flag_detailed_statistics, flag_remove_unreachable_functions):
+ Remove.
+ * toplev.c (flag_detailed_statistics, flag_signed_char,
+ flag_short_enums, flag_pcc_struct_return, flag_ira_verbose):
+ Remove.
+ (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
+ * toplev.h (flag_crossjumping, flag_if_conversion,
+ flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
+ flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
+ flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
+ flag_cprop_registers, time_report, flag_ira_loop_pressure,
+ flag_ira_coalesce, flag_ira_move_spills,
+ flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
+
2010-06-07 Jan Hubicka <jh@suse.cz>
* df-problems.c (df_lr_problem_data): Add lr_bitmaps.
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index f250139..d0b5156 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,49 @@
+2010-06-07 Joseph Myers <joseph@codesourcery.com>
+
+ * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
+ flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
+ flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
+ flag_signed_bitfields, warn_strict_null_sentinel,
+ flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
+ flag_gen_declaration, flag_no_gnu_keywords,
+ flag_implement_inlines, flag_implicit_templates,
+ flag_implicit_inline_templates, flag_optional_diags,
+ flag_elide_constructors, flag_default_inline, flag_rtti,
+ flag_conserve_space, flag_access_control, flag_check_new,
+ flag_new_for_scope, flag_weak, flag_working_directory,
+ flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
+ flag_enforce_eh_specs, flag_threadsafe_statics,
+ flag_pretty_templates): Remove.
+ * c-common.h (flag_preprocess_only, flag_nil_receivers,
+ flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
+ flag_replace_objc_classes, flag_undef, flag_no_builtin,
+ flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
+ flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
+ flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
+ flag_no_gnu_keywords, flag_implement_inlines,
+ flag_implicit_templates, flag_implicit_inline_templates,
+ flag_optional_diags, flag_elide_constructors, flag_default_inline,
+ flag_rtti, flag_conserve_space, flag_access_control,
+ flag_check_new, flag_new_for_scope, flag_weak,
+ flag_working_directory, flag_use_cxa_atexit,
+ flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
+ flag_threadsafe_statics, flag_pretty_templates,
+ warn_strict_null_sentinel): Remove.
+ * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
+ fbuiltin, fcheck-new, fconserve-space, felide-constructors,
+ fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
+ fimplicit-inline-templates, fimplicit-templates,
+ flax-vector-conversions, fms-extensions, fnil-receivers,
+ fnonansi-builtins, fpretty-templates, freplace-objc-classes,
+ frtti, fshort-double, fshort-enums, fshort-wchar,
+ fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
+ funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
+ fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
+ gen-decls, undef): Use Var.
+ (fdefault-inline, foptional-diags): Document as doing nothing.
+ * c-opts.c (c_common_handle_option): Remove cases for options now
+ using Var. Mark ignored options as such.
+
2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
* c-common.c: Moved to here from parent directory.
diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index 545f2e2..c3fa8e6 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -169,10 +169,6 @@ tree c_global_trees[CTI_MAX];
/* Switches common to the C front ends. */
-/* Nonzero if preprocessing only. */
-
-int flag_preprocess_only;
-
/* Nonzero means don't output line number information. */
char flag_no_line_commands;
@@ -203,42 +199,6 @@ const char *pch_file;
user's namespace. */
int flag_iso;
-/* Nonzero if -undef was given. It suppresses target built-in macros
- and assertions. */
-int flag_undef;
-
-/* Nonzero means don't recognize the non-ANSI builtin functions. */
-
-int flag_no_builtin;
-
-/* Nonzero means don't recognize the non-ANSI builtin functions.
- -ansi sets this. */
-
-int flag_no_nonansi_builtin;
-
-/* Nonzero means give `double' the same size as `float'. */
-
-int flag_short_double;
-
-/* Nonzero means give `wchar_t' the same size as `short'. */
-
-int flag_short_wchar;
-
-/* Nonzero means allow implicit conversions between vectors with
- differing numbers of subparts and/or differing element types. */
-int flag_lax_vector_conversions;
-
-/* Nonzero means allow Microsoft extensions without warnings or errors. */
-int flag_ms_extensions;
-
-/* Nonzero means don't recognize the keyword `asm'. */
-
-int flag_no_asm;
-
-/* Nonzero means to treat bitfields as signed unless they say `unsigned'. */
-
-int flag_signed_bitfields = 1;
-
/* Warn about #pragma directives that are not recognized. */
int warn_unknown_pragmas; /* Tri state variable. */
@@ -248,27 +208,6 @@ int warn_unknown_pragmas; /* Tri state variable. */
int warn_format;
-/* Warn about using __null (as NULL in C++) as sentinel. For code compiled
- with GCC this doesn't matter as __null is guaranteed to have the right
- size. */
-
-int warn_strict_null_sentinel;
-
-/* Zero means that faster, ...NonNil variants of objc_msgSend...
- calls will be used in ObjC; passing nil receivers to such calls
- will most likely result in crashes. */
-int flag_nil_receivers = 1;
-
-/* Nonzero means that code generation will be altered to support
- "zero-link" execution. This currently affects ObjC only, but may
- affect other languages in the future. */
-int flag_zero_link = 0;
-
-/* Nonzero means emit an '__OBJC, __image_info' for the current translation
- unit. It will inform the ObjC runtime that class definition(s) herein
- contained are to replace one(s) previously loaded. */
-int flag_replace_objc_classes = 0;
-
/* C/ObjC language option variables. */
@@ -297,11 +236,6 @@ int flag_hosted = 1;
/* ObjC language option variables. */
-/* Open and close the file for outputting class declarations, if
- requested (ObjC). */
-
-int flag_gen_declaration;
-
/* Tells the compiler that this is a special run. Do not perform any
compiling, instead we are to test some platform dependent features
and output a C header file with appropriate definitions. */
@@ -316,119 +250,15 @@ const char *constant_string_class_name;
/* C++ language option variables. */
-/* Nonzero means don't recognize any extension keywords. */
-
-int flag_no_gnu_keywords;
-
-/* Nonzero means do emit exported implementations of functions even if
- they can be inlined. */
-
-int flag_implement_inlines = 1;
-
-/* Nonzero means that implicit instantiations will be emitted if needed. */
-
-int flag_implicit_templates = 1;
-
-/* Nonzero means that implicit instantiations of inline templates will be
- emitted if needed, even if instantiations of non-inline templates
- aren't. */
-
-int flag_implicit_inline_templates = 1;
-
/* Nonzero means generate separate instantiation control files and
juggle them at link time. */
int flag_use_repository;
-/* Nonzero if we want to issue diagnostics that the standard says are not
- required. */
-
-int flag_optional_diags = 1;
-
-/* Nonzero means we should attempt to elide constructors when possible. */
-
-int flag_elide_constructors = 1;
-
-/* Nonzero means that member functions defined in class scope are
- inline by default. */
-
-int flag_default_inline = 1;
-
-/* Controls whether compiler generates 'type descriptor' that give
- run-time type information. */
-
-int flag_rtti = 1;
-
-/* Nonzero if we want to conserve space in the .o files. We do this
- by putting uninitialized data and runtime initialized data into
- .common instead of .data at the expense of not flagging multiple
- definitions. */
-
-int flag_conserve_space;
-
-/* Nonzero if we want to obey access control semantics. */
-
-int flag_access_control = 1;
-
-/* Nonzero if we want to check the return value of new and avoid calling
- constructors if it is a null pointer. */
-
-int flag_check_new;
-
/* The C++ dialect being used. C++98 is the default. */
enum cxx_dialect cxx_dialect = cxx98;
-/* Nonzero if we want the new ISO rules for pushing a new scope for `for'
- initialization variables.
- 0: Old rules, set by -fno-for-scope.
- 2: New ISO rules, set by -ffor-scope.
- 1: Try to implement new ISO rules, but with backup compatibility
- (and warnings). This is the default, for now. */
-
-int flag_new_for_scope = 1;
-
-/* Nonzero if we want to emit defined symbols with common-like linkage as
- weak symbols where possible, in order to conform to C++ semantics.
- Otherwise, emit them as local symbols. */
-
-int flag_weak = 1;
-
-/* 0 means we want the preprocessor to not emit line directives for
- the current working directory. 1 means we want it to do it. -1
- means we should decide depending on whether debugging information
- is being emitted or not. */
-
-int flag_working_directory = -1;
-
-/* Nonzero to use __cxa_atexit, rather than atexit, to register
- destructors for local statics and global objects. '2' means it has been
- set nonzero as a default, not by a command-line flag. */
-
-int flag_use_cxa_atexit = DEFAULT_USE_CXA_ATEXIT;
-
-/* Nonzero to use __cxa_get_exception_ptr in C++ exception-handling
- code. '2' means it has not been set explicitly on the command line. */
-
-int flag_use_cxa_get_exception_ptr = 2;
-
-/* Nonzero means to implement standard semantics for exception
- specifications, calling unexpected if an exception is thrown that
- doesn't match the specification. Zero means to treat them as
- assertions and optimize accordingly, but not check them. */
-
-int flag_enforce_eh_specs = 1;
-
-/* Nonzero means to generate thread-safe code for initializing local
- statics. */
-
-int flag_threadsafe_statics = 1;
-
-/* Nonzero if we want to pretty-print template specializations as the
- template signature followed by the arguments. */
-
-int flag_pretty_templates = 1;
-
/* Maximum template instantiation depth. This limit exists to limit the
time it takes to notice infinite template instantiations; the default
value of 1024 is likely to be in the next C++ standard. */
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 5fda1ab..c6701b8 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -480,32 +480,6 @@ extern bool has_c_linkage (const_tree decl);
/* Switches common to the C front ends. */
-/* Nonzero if prepreprocessing only. */
-
-extern int flag_preprocess_only;
-
-/* Zero means that faster, ...NonNil variants of objc_msgSend...
- calls will be used in ObjC; passing nil receivers to such calls
- will most likely result in crashes. */
-extern int flag_nil_receivers;
-
-/* Nonzero means that we will allow new ObjC exception syntax (@throw,
- @try, etc.) in source code. */
-extern int flag_objc_exceptions;
-
-/* Nonzero means that we generate NeXT setjmp based exceptions. */
-extern int flag_objc_sjlj_exceptions;
-
-/* Nonzero means that code generation will be altered to support
- "zero-link" execution. This currently affects ObjC only, but may
- affect other languages in the future. */
-extern int flag_zero_link;
-
-/* Nonzero means emit an '__OBJC, __image_info' for the current translation
- unit. It will inform the ObjC runtime that class definition(s) herein
- contained are to replace one(s) previously loaded. */
-extern int flag_replace_objc_classes;
-
/* Nonzero means don't output line number information. */
extern char flag_no_line_commands;
@@ -538,48 +512,6 @@ extern const char *pch_file;
extern int flag_iso;
-/* Nonzero if -undef was given. It suppresses target built-in macros
- and assertions. */
-
-extern int flag_undef;
-
-/* Nonzero means don't recognize the non-ANSI builtin functions. */
-
-extern int flag_no_builtin;
-
-/* Nonzero means don't recognize the non-ANSI builtin functions.
- -ansi sets this. */
-
-extern int flag_no_nonansi_builtin;
-
-/* Nonzero means give `double' the same size as `float'. */
-
-extern int flag_short_double;
-
-/* Nonzero means give `wchar_t' the same size as `short'. */
-
-extern int flag_short_wchar;
-
-/* Nonzero means allow implicit conversions between vectors with
- differing numbers of subparts and/or differing element types. */
-extern int flag_lax_vector_conversions;
-
-/* Nonzero means allow Microsoft extensions without warnings or errors. */
-extern int flag_ms_extensions;
-
-/* Nonzero means don't recognize the keyword `asm'. */
-
-extern int flag_no_asm;
-
-/* Nonzero means give string constants the type `const char *', as mandated
- by the standard. */
-
-extern int flag_const_strings;
-
-/* Nonzero means to treat bitfields as signed unless they say `unsigned'. */
-
-extern int flag_signed_bitfields;
-
/* Warn about #pragma directives that are not recognized. */
extern int warn_unknown_pragmas; /* Tri state variable. */
@@ -617,11 +549,6 @@ extern int flag_hosted;
/* ObjC language option variables. */
-/* Open and close the file for outputting class declarations, if
- requested (ObjC). */
-
-extern int flag_gen_declaration;
-
/* Tells the compiler that this is a special run. Do not perform any
compiling, instead we are to test some platform dependent features
and output a C header file with appropriate definitions. */
@@ -636,65 +563,11 @@ extern const char *constant_string_class_name;
/* C++ language option variables. */
-/* Nonzero means don't recognize any extension keywords. */
-
-extern int flag_no_gnu_keywords;
-
-/* Nonzero means do emit exported implementations of functions even if
- they can be inlined. */
-
-extern int flag_implement_inlines;
-
-/* Nonzero means that implicit instantiations will be emitted if needed. */
-
-extern int flag_implicit_templates;
-
-/* Nonzero means that implicit instantiations of inline templates will be
- emitted if needed, even if instantiations of non-inline templates
- aren't. */
-
-extern int flag_implicit_inline_templates;
-
/* Nonzero means generate separate instantiation control files and
juggle them at link time. */
extern int flag_use_repository;
-/* Nonzero if we want to issue diagnostics that the standard says are not
- required. */
-
-extern int flag_optional_diags;
-
-/* Nonzero means we should attempt to elide constructors when possible. */
-
-extern int flag_elide_constructors;
-
-/* Nonzero means that member functions defined in class scope are
- inline by default. */
-
-extern int flag_default_inline;
-
-/* Controls whether compiler generates 'type descriptor' that give
- run-time type information. */
-
-extern int flag_rtti;
-
-/* Nonzero if we want to conserve space in the .o files. We do this
- by putting uninitialized data and runtime initialized data into
- .common instead of .data at the expense of not flagging multiple
- definitions. */
-
-extern int flag_conserve_space;
-
-/* Nonzero if we want to obey access control semantics. */
-
-extern int flag_access_control;
-
-/* Nonzero if we want to check the return value of new and avoid calling
- constructors if it is a null pointer. */
-
-extern int flag_check_new;
-
/* The supported C++ dialects. */
enum cxx_dialect {
@@ -708,61 +581,6 @@ enum cxx_dialect {
/* The C++ dialect being used. C++98 is the default. */
extern enum cxx_dialect cxx_dialect;
-/* Nonzero if we want the new ISO rules for pushing a new scope for `for'
- initialization variables.
- 0: Old rules, set by -fno-for-scope.
- 2: New ISO rules, set by -ffor-scope.
- 1: Try to implement new ISO rules, but with backup compatibility
- (and warnings). This is the default, for now. */
-
-extern int flag_new_for_scope;
-
-/* Nonzero if we want to emit defined symbols with common-like linkage as
- weak symbols where possible, in order to conform to C++ semantics.
- Otherwise, emit them as local symbols. */
-
-extern int flag_weak;
-
-/* 0 means we want the preprocessor to not emit line directives for
- the current working directory. 1 means we want it to do it. -1
- means we should decide depending on whether debugging information
- is being emitted or not. */
-
-extern int flag_working_directory;
-
-/* Nonzero to use __cxa_atexit, rather than atexit, to register
- destructors for local statics and global objects. */
-
-extern int flag_use_cxa_atexit;
-
-/* Nonzero to use __cxa_get_exception_ptr in the C++ exception-handling
- logic. */
-
-extern int flag_use_cxa_get_exception_ptr;
-
-/* Nonzero means to implement standard semantics for exception
- specifications, calling unexpected if an exception is thrown that
- doesn't match the specification. Zero means to treat them as
- assertions and optimize accordingly, but not check them. */
-
-extern int flag_enforce_eh_specs;
-
-/* Nonzero (the default) means to generate thread-safe code for
- initializing local statics. */
-
-extern int flag_threadsafe_statics;
-
-/* Nonzero if we want to pretty-print template specializations as the
- template signature followed by the arguments. */
-
-extern int flag_pretty_templates;
-
-/* Warn about using __null (as NULL in C++) as sentinel. For code compiled
- with GCC this doesn't matter as __null is guaranteed to have the right
- size. */
-
-extern int warn_strict_null_sentinel;
-
/* Maximum template instantiation depth. This limit is rather
arbitrary, but it exists to limit the time it takes to notice
infinite template instantiations. */
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
index 08592f5..a48dea1 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -395,10 +395,6 @@ c_common_handle_option (size_t scode, const char *arg, int value,
defer_opt (code, arg);
break;
- case OPT_E:
- flag_preprocess_only = 1;
- break;
-
case OPT_H:
cpp_opts->print_include_names = 1;
break;
@@ -462,10 +458,6 @@ c_common_handle_option (size_t scode, const char *arg, int value,
flag_no_line_commands = 1;
break;
- case OPT_fworking_directory:
- flag_working_directory = value;
- break;
-
case OPT_U:
defer_opt (code, arg);
break;
@@ -613,10 +605,6 @@ c_common_handle_option (size_t scode, const char *arg, int value,
warn_return_type = value;
break;
- case OPT_Wstrict_null_sentinel:
- warn_strict_null_sentinel = value;
- break;
-
case OPT_Wtraditional:
cpp_opts->warn_traditional = value;
break;
@@ -692,18 +680,6 @@ c_common_handle_option (size_t scode, const char *arg, int value,
warning (0, "switch %qs is no longer supported", option->opt_text);
break;
- case OPT_faccess_control:
- flag_access_control = value;
- break;
-
- case OPT_fasm:
- flag_no_asm = !value;
- break;
-
- case OPT_fbuiltin:
- flag_no_builtin = !value;
- break;
-
case OPT_fbuiltin_:
if (value)
result = 0;
@@ -727,70 +703,18 @@ c_common_handle_option (size_t scode, const char *arg, int value,
flag_no_builtin = !value;
break;
- case OPT_fshort_double:
- flag_short_double = value;
- break;
-
- case OPT_fshort_enums:
- flag_short_enums = value;
- break;
-
- case OPT_fshort_wchar:
- flag_short_wchar = value;
- break;
-
- case OPT_fsigned_bitfields:
- flag_signed_bitfields = value;
- break;
-
- case OPT_fsigned_char:
- flag_signed_char = value;
- break;
-
- case OPT_funsigned_bitfields:
- flag_signed_bitfields = !value;
- break;
-
- case OPT_funsigned_char:
- flag_signed_char = !value;
- break;
-
- case OPT_fcheck_new:
- flag_check_new = value;
- break;
-
- case OPT_fconserve_space:
- flag_conserve_space = value;
- break;
-
case OPT_fconstant_string_class_:
constant_string_class_name = arg;
break;
case OPT_fdefault_inline:
- flag_default_inline = value;
- break;
-
- case OPT_felide_constructors:
- flag_elide_constructors = value;
- break;
-
- case OPT_fenforce_eh_specs:
- flag_enforce_eh_specs = value;
+ /* Ignore. */
break;
case OPT_fextended_identifiers:
cpp_opts->extended_identifiers = value;
break;
- case OPT_ffor_scope:
- flag_new_for_scope = value;
- break;
-
- case OPT_fgnu_keywords:
- flag_no_gnu_keywords = !value;
- break;
-
case OPT_fgnu_runtime:
flag_next_runtime = !value;
break;
@@ -800,44 +724,16 @@ c_common_handle_option (size_t scode, const char *arg, int value,
flag_exceptions = value;
break;
- case OPT_fimplement_inlines:
- flag_implement_inlines = value;
- break;
-
- case OPT_fimplicit_inline_templates:
- flag_implicit_inline_templates = value;
- break;
-
- case OPT_fimplicit_templates:
- flag_implicit_templates = value;
- break;
-
- case OPT_flax_vector_conversions:
- flag_lax_vector_conversions = value;
- break;
-
- case OPT_fms_extensions:
- flag_ms_extensions = value;
- break;
-
case OPT_fnext_runtime:
flag_next_runtime = value;
break;
- case OPT_fnil_receivers:
- flag_nil_receivers = value;
- break;
-
- case OPT_fnonansi_builtins:
- flag_no_nonansi_builtin = !value;
- break;
-
case OPT_foperator_names:
cpp_opts->operator_names = value;
break;
case OPT_foptional_diags:
- flag_optional_diags = value;
+ /* Ignore. */
break;
case OPT_fpch_deps:
@@ -857,28 +753,16 @@ c_common_handle_option (size_t scode, const char *arg, int value,
cpp_opts->preprocessed = value;
break;
- case OPT_freplace_objc_classes:
- flag_replace_objc_classes = value;
- break;
-
case OPT_frepo:
flag_use_repository = value;
if (value)
flag_implicit_templates = 0;
break;
- case OPT_frtti:
- flag_rtti = value;
- break;
-
case OPT_fshow_column:
cpp_opts->show_column = value;
break;
- case OPT_fstats:
- flag_detailed_statistics = value;
- break;
-
case OPT_ftabstop_:
/* It is documented that we silently ignore silly values. */
if (value >= 1 && value <= 100)
@@ -903,38 +787,10 @@ c_common_handle_option (size_t scode, const char *arg, int value,
max_tinst_depth = value;
break;
- case OPT_fuse_cxa_atexit:
- flag_use_cxa_atexit = value;
- break;
-
- case OPT_fuse_cxa_get_exception_ptr:
- flag_use_cxa_get_exception_ptr = value;
- break;
-
case OPT_fvisibility_inlines_hidden:
visibility_options.inlines_hidden = value;
break;
- case OPT_fweak:
- flag_weak = value;
- break;
-
- case OPT_fthreadsafe_statics:
- flag_threadsafe_statics = value;
- break;
-
- case OPT_fpretty_templates:
- flag_pretty_templates = value;
- break;
-
- case OPT_fzero_link:
- flag_zero_link = value;
- break;
-
- case OPT_gen_decls:
- flag_gen_declaration = 1;
- break;
-
case OPT_femit_struct_debug_baseonly:
set_struct_debug_option ("base");
break;
@@ -1094,10 +950,6 @@ c_common_handle_option (size_t scode, const char *arg, int value,
cpp_opts->traditional = 1;
break;
- case OPT_undef:
- flag_undef = 1;
- break;
-
case OPT_v:
verbose = true;
break;
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 01d6428..5122e1a 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -54,7 +54,7 @@ C ObjC C++ ObjC++ Joined Separate
-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1
E
-C ObjC C++ ObjC++ Undocumented
+C ObjC C++ ObjC++ Undocumented Var(flag_preprocess_only)
F
C ObjC C++ ObjC++ Joined Separate
@@ -438,7 +438,7 @@ C++ ObjC++ Var(warn_sign_promo) Warning
Warn when overload promotes from unsigned to signed
Wstrict-null-sentinel
-C++ ObjC++ Warning
+C++ ObjC++ Warning Var(warn_strict_null_sentinel)
Warn about uncasted NULL used as sentinel
Wstrict-prototypes
@@ -526,7 +526,7 @@ C ObjC C++ ObjC++ Joined
; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD?
faccess-control
-C++ ObjC++
+C++ ObjC++ Var(flag_access_control) Init(1)
Enforce class member access control semantics
fall-virtual
@@ -537,18 +537,18 @@ C++ ObjC++
Change when template instances are emitted
fasm
-C ObjC C++ ObjC++
+C ObjC C++ ObjC++ Var(flag_no_asm, 0)
Recognize the \"asm\" keyword
fbuiltin
-C ObjC C++ ObjC++
+C ObjC C++ ObjC++ Var(flag_no_builtin, 0)
Recognize built-in functions
fbuiltin-
C ObjC C++ ObjC++ Joined
fcheck-new
-C++ ObjC++
+C++ ObjC++ Var(flag_check_new)
Check the return value of new
fcond-mismatch
@@ -556,7 +556,7 @@ C ObjC C++ ObjC++
Allow the arguments of the '?' operator to have different types
fconserve-space
-C++ ObjC++
+C++ ObjC++ Var(flag_conserve_space)
Reduce the size of object files
fconstant-string-class=
@@ -569,7 +569,7 @@ C++ ObjC++ Var(flag_deduce_init_list) Init(1)
fdefault-inline
C++ ObjC++
-Inline member functions by default
+Does nothing. Preserved for backward compatibility.
fdirectives-only
C ObjC C++ ObjC++
@@ -580,10 +580,10 @@ C ObjC C++ ObjC++
Permit '$' as an identifier character
felide-constructors
-C++ ObjC++
+C++ ObjC++ Var(flag_elide_constructors) Init(1)
fenforce-eh-specs
-C++ ObjC++
+C++ ObjC++ Var(flag_enforce_eh_specs) Init(1)
Generate code to check exception specifications
fenum-int-equiv
@@ -606,7 +606,7 @@ fexternal-templates
C++ ObjC++
ffor-scope
-C++ ObjC++
+C++ ObjC++ Var(flag_new_for_scope) Init(1)
Scope of for-init-statement variables is local to the loop
ffreestanding
@@ -614,7 +614,7 @@ C ObjC C++ ObjC++
Do not assume that standard C libraries and \"main\" exist
fgnu-keywords
-C++ ObjC++
+C++ ObjC++ Var(flag_no_gnu_keywords, 0)
Recognize GNU-defined keywords
fgnu-runtime
@@ -643,15 +643,15 @@ C++ ObjC++
Enable support for huge objects
fimplement-inlines
-C++ ObjC++
+C++ ObjC++ Var(flag_implement_inlines) Init(1)
Export functions even if they can be inlined
fimplicit-inline-templates
-C++ ObjC++
+C++ ObjC++ Var(flag_implicit_inline_templates) Init(1)
Emit implicit instantiations of inline templates
fimplicit-templates
-C++ ObjC++
+C++ ObjC++ Var(flag_implicit_templates) Init(1)
Emit implicit instantiations of templates
ffriend-injection
@@ -662,11 +662,11 @@ flabels-ok
C++ ObjC++
flax-vector-conversions
-C ObjC C++ ObjC++
+C ObjC C++ ObjC++ Var(flag_lax_vector_conversions)
Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types.
fms-extensions
-C ObjC C++ ObjC++
+C ObjC C++ ObjC++ Var(flag_ms_extensions)
Don't warn about uses of Microsoft extensions
fname-mangling-version-
@@ -680,11 +680,11 @@ ObjC ObjC++
Generate code for NeXT (Apple Mac OS X) runtime environment
fnil-receivers
-ObjC ObjC++
+ObjC ObjC++ Var(flag_nil_receivers) Init(1)
Assume that receivers of Objective-C messages may be nil
fnonansi-builtins
-C++ ObjC++
+C++ ObjC++ Var(flag_no_nonansi_builtin, 0)
fnonnull-objects
C++ ObjC++
@@ -728,7 +728,7 @@ Recognize C++ keywords like \"compl\" and \"xor\"
foptional-diags
C++ ObjC++
-Enable optional diagnostics
+Does nothing. Preserved for backward compatibility.
fpch-deps
C ObjC C++ ObjC++
@@ -746,11 +746,11 @@ C ObjC C++ ObjC++
Treat the input file as already preprocessed
fpretty-templates
-C++ ObjC++
+C++ ObjC++ Var(flag_pretty_templates) Init(1)
-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments
freplace-objc-classes
-ObjC ObjC++
+ObjC ObjC++ Var(flag_replace_objc_classes)
Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
frepo
@@ -758,34 +758,34 @@ C++ ObjC++
Enable automatic template instantiation
frtti
-C++ ObjC++ Optimization
+C++ ObjC++ Optimization Var(flag_rtti) Init(1)
Generate run time type descriptor information
fshort-double
-C ObjC C++ ObjC++ Optimization
+C ObjC C++ ObjC++ Optimization Var(flag_short_double)
Use the same size for double as for float
fshort-enums
-C ObjC C++ ObjC++ Optimization
+C ObjC C++ ObjC++ Optimization Var(flag_short_enums)
Use the narrowest integer type possible for enumeration types
fshort-wchar
-C ObjC C++ ObjC++ Optimization
+C ObjC C++ ObjC++ Optimization Var(flag_short_wchar)
Force the underlying type for \"wchar_t\" to be \"unsigned short\"
fsigned-bitfields
-C ObjC C++ ObjC++
+C ObjC C++ ObjC++ Var(flag_signed_bitfields) Init(1)
When \"signed\" or \"unsigned\" is not given make the bitfield signed
fsigned-char
-C ObjC C++ ObjC++ LTO
+C ObjC C++ ObjC++ LTO Var(flag_signed_char)
Make \"char\" signed by default
fsquangle
C++ ObjC++
fstats
-C++ ObjC++
+C++ ObjC++ Var(flag_detailed_statistics)
Display statistics accumulated during compilation
fstrict-enums
@@ -810,23 +810,23 @@ fthis-is-variable
C++ ObjC++
fthreadsafe-statics
-C++ ObjC++ Optimization
+C++ ObjC++ Optimization Var(flag_threadsafe_statics) Init(1)
-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics
funsigned-bitfields
-C ObjC C++ ObjC++
+C ObjC C++ ObjC++ Var(flag_signed_bitfields, 0) VarExists
When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
funsigned-char
-C ObjC C++ ObjC++ LTO
+C ObjC C++ ObjC++ LTO Var(flag_signed_char, 0) VarExists
Make \"char\" unsigned by default
fuse-cxa-atexit
-C++ ObjC++
+C++ ObjC++ Var(flag_use_cxa_atexit) Init(DEFAULT_USE_CXA_ATEXIT)
Use __cxa_atexit to register destructors
fuse-cxa-get-exception-ptr
-C++ ObjC++
+C++ ObjC++ Var(flag_use_cxa_get_exception_ptr) Init(2)
Use __cxa_get_exception_ptr in exception handling
fvisibility-inlines-hidden
@@ -846,7 +846,7 @@ C++ ObjC++
Implement vtables using thunks
fweak
-C++ ObjC++
+C++ ObjC++ Var(flag_weak) Init(1)
Emit common-like symbols as weak symbols
fwide-exec-charset=
@@ -854,7 +854,7 @@ C ObjC C++ ObjC++ Joined RejectNegative
-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset>
fworking-directory
-C ObjC C++ ObjC++
+C ObjC C++ ObjC++ Var(flag_working_directory) Init(-1)
Generate a #line directive pointing at the current working directory
fxref
@@ -862,11 +862,11 @@ C++ ObjC++
Emit cross referencing information
fzero-link
-ObjC ObjC++
+ObjC ObjC++ Var(flag_zero_link)
Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
gen-decls
-ObjC ObjC++
+ObjC ObjC++ Var(flag_gen_declaration)
Dump declarations to a .decl file
femit-struct-debug-baseonly
@@ -1046,7 +1046,7 @@ C ObjC C++ ObjC++
-trigraphs Support ISO C trigraphs
undef
-C ObjC C++ ObjC++
+C ObjC C++ ObjC++ Var(flag_undef)
Do not predefine system-specific and GCC-specific macros
v
diff --git a/gcc/common.opt b/gcc/common.opt
index 4904481..a7b0e73 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -757,7 +757,7 @@ Common Report Var(flag_ira_share_spill_slots) Init(1)
Share stack slots for spilled pseudo-registers.
fira-verbose=
-Common RejectNegative Joined UInteger
+Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)
-fira-verbose=<number> Control IRA's level of diagnostic messages.
fivopts
@@ -893,7 +893,7 @@ Common RejectNegative Joined UInteger Optimization
-fpack-struct=<number> Set initial maximum structure member alignment
fpcc-struct-return
-Common Report Var(flag_pcc_struct_return,1) VarExists
+Common Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)
Return small aggregates in memory, not registers
fpeel-loops
diff --git a/gcc/defaults.h b/gcc/defaults.h
index dd461ad..bbfb52f 100644
--- a/gcc/defaults.h
+++ b/gcc/defaults.h
@@ -1169,6 +1169,14 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (DImode)
#endif
+/* Nonzero if structures and unions should be returned in memory.
+
+ This should only be defined if compatibility with another compiler or
+ with an ABI is needed, because it results in slower code. */
+
+#ifndef DEFAULT_PCC_STRUCT_RETURN
+#define DEFAULT_PCC_STRUCT_RETURN 1
+#endif
#ifdef GCC_INSN_FLAGS_H
/* Dependent default target macro definitions
diff --git a/gcc/flags.h b/gcc/flags.h
index bc51b2b..5e87c09 100644
--- a/gcc/flags.h
+++ b/gcc/flags.h
@@ -150,19 +150,6 @@ extern int flag_print_asm_name;
/* Now the symbols that are set with `-f' switches. */
-/* Nonzero means `char' should be signed. */
-
-extern int flag_signed_char;
-
-/* Nonzero means give an enum type only as many bytes as it needs. A value
- of 2 means it has not yet been initialized. */
-
-extern int flag_short_enums;
-
-/* Nonzero for -fpcc-struct-return: return values the same way PCC does. */
-
-extern int flag_pcc_struct_return;
-
/* 0 means straightforward implementation of complex divide acceptable.
1 means wide ranges of inputs must work for complex divide.
2 means C99-like requirements for complex multiply and divide. */
@@ -234,8 +221,6 @@ enum ira_region
extern enum ira_region flag_ira_region;
-extern unsigned int flag_ira_verbose;
-
/* The options for excess precision. */
enum excess_precision
{
@@ -291,14 +276,6 @@ enum graph_dump_types
};
extern enum graph_dump_types graph_dump_format;
-/* Nonzero means to collect statistics which might be expensive
- and to print them when we are done. */
-extern int flag_detailed_statistics;
-
-/* Nonzero means that we defer emitting functions until they are actually
- used. */
-extern int flag_remove_unreachable_functions;
-
/* Nonzero if we should track variables. */
extern int flag_var_tracking;
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 9b51710..4194ee1 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-07 Joseph Myers <joseph@codesourcery.com>
+
+ * lang.opt (fshort-enums): Define using Var and VarExists.
+ * options.c (gfc_handle_option): Don't set flag_short_enums here.
+
2010-06-05 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt
index c1a86dd..eb286f6 100644
--- a/gcc/fortran/lang.opt
+++ b/gcc/fortran/lang.opt
@@ -369,7 +369,7 @@ Fortran
Append a second underscore if the name already contains an underscore
fshort-enums
-Fortran
+Fortran Var(flag_short_enums) VarExists
; Documented in C
fsign-zero
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index 6c6ccb1..2e4f5c1 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -902,7 +902,7 @@ gfc_handle_option (size_t scode, const char *arg, int value,
break;
case OPT_fshort_enums:
- flag_short_enums = 1;
+ /* Handled in language-independent code. */
break;
case OPT_fconvert_little_endian:
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index f7f2703..bfa31dc 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-07 Joseph Myers <joseph@codesourcery.com>
+
+ * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
+ (lto_handle_option): Don't set flag_signed_char here.
+
2010-06-04 Richard Guenther <rguenther@suse.de>
PR lto/41584
diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c
index 974e3d7..636b62a 100644
--- a/gcc/lto/lto-lang.c
+++ b/gcc/lto/lto-lang.c
@@ -1,5 +1,5 @@
/* Language-dependent hooks for LTO.
- Copyright 2009 Free Software Foundation, Inc.
+ Copyright 2009, 2010 Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
This file is part of GCC.
@@ -154,8 +154,6 @@ static GTY(()) tree uintmax_type_node;
static GTY(()) tree signed_size_type_node;
/* Flags needed to process builtins.def. */
-int flag_no_builtin;
-int flag_no_nonansi_builtin;
int flag_isoc94;
int flag_isoc99;
@@ -632,14 +630,6 @@ lto_handle_option (size_t scode, const char *arg,
warn_psabi = value;
break;
- case OPT_fsigned_char:
- flag_signed_char = value;
- break;
-
- case OPT_funsigned_char:
- flag_signed_char = !value;
- break;
-
default:
break;
}
diff --git a/gcc/toplev.c b/gcc/toplev.c
index ff4c850..e25bad0 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -208,10 +208,6 @@ tree current_function_decl;
if none. */
const char * current_function_func_begin_label;
-/* Nonzero means to collect statistics which might be expensive
- and to print them when we are done. */
-int flag_detailed_statistics = 0;
-
/* A random sequence of characters, unless overridden by user. */
static const char *flag_random_seed;
@@ -222,28 +218,6 @@ unsigned local_tick;
/* -f flags. */
-/* Nonzero means `char' should be signed. */
-
-int flag_signed_char;
-
-/* Nonzero means give an enum type only as many bytes as it needs. A value
- of 2 means it has not yet been initialized. */
-
-int flag_short_enums;
-
-/* Nonzero if structures and unions should be returned in memory.
-
- This should only be defined if compatibility with another compiler or
- with an ABI is needed, because it results in slower code. */
-
-#ifndef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 1
-#endif
-
-/* Nonzero for -fpcc-struct-return: return values the same way PCC does. */
-
-int flag_pcc_struct_return = DEFAULT_PCC_STRUCT_RETURN;
-
/* 0 means straightforward implementation of complex divide acceptable.
1 means wide ranges of inputs must work for complex divide.
2 means C99-like requirements for complex multiply and divide. */
@@ -281,10 +255,6 @@ enum tls_model flag_tls_default = TLS_MODEL_GLOBAL_DYNAMIC;
enum ira_algorithm flag_ira_algorithm = IRA_ALGORITHM_CB;
enum ira_region flag_ira_region = IRA_REGION_MIXED;
-/* Set the default value for -fira-verbose. */
-
-unsigned int flag_ira_verbose = 5;
-
/* Set the default for excess precision. */
enum excess_precision flag_excess_precision_cmdline = EXCESS_PRECISION_DEFAULT;
diff --git a/gcc/toplev.h b/gcc/toplev.h
index b7152f7..0afe33f 100644
--- a/gcc/toplev.h
+++ b/gcc/toplev.h
@@ -94,25 +94,7 @@ extern bool exit_after_options;
extern bool user_defined_section_attribute;
/* See toplev.c. */
-extern int flag_crossjumping;
-extern int flag_if_conversion;
-extern int flag_if_conversion2;
-extern int flag_keep_static_consts;
-extern int flag_peel_loops;
extern int flag_rerun_cse_after_global_opts;
-extern int flag_rerun_cse_after_loop;
-extern int flag_thread_jumps;
-extern int flag_tracer;
-extern int flag_unroll_loops;
-extern int flag_unroll_all_loops;
-extern int flag_unswitch_loops;
-extern int flag_cprop_registers;
-extern int time_report;
-extern int flag_ira_loop_pressure;
-extern int flag_ira_coalesce;
-extern int flag_ira_move_spills;
-extern int flag_ira_share_save_slots;
-extern int flag_ira_share_spill_slots;
/* Things to do with target switches. */
extern void print_version (FILE *, const char *);