re PR other/17361 (gcc driver complains about C++ options when assembling)
PR other/17361 * c-opts.c (permit_fortran_options): Delete/obsolete global variable. (c_common_init_options): Remove #ifdef CL_F77 code. Scan command line options for "-lang-asm" and if found allow any of the C-family front-end options. (c_common_handle_option): Remove last use of permit_fortran_options. From-SVN: r88906
This commit is contained in:
parent
1ca939e5ec
commit
afd85c1ac4
2 changed files with 21 additions and 14 deletions
|
@ -1,3 +1,12 @@
|
|||
2004-10-11 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
PR other/17361
|
||||
* c-opts.c (permit_fortran_options): Delete/obsolete global variable.
|
||||
(c_common_init_options): Remove #ifdef CL_F77 code. Scan command
|
||||
line options for "-lang-asm" and if found allow any of the C-family
|
||||
front-end options.
|
||||
(c_common_handle_option): Remove last use of permit_fortran_options.
|
||||
|
||||
2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* config/s390/s390.c (print_operand): Support 'S' format flag.
|
||||
|
|
26
gcc/c-opts.c
26
gcc/c-opts.c
|
@ -100,9 +100,6 @@ static size_t deferred_count;
|
|||
/* Number of deferred options scanned for -include. */
|
||||
static size_t include_cursor;
|
||||
|
||||
/* Permit Fortran front-end options. */
|
||||
static bool permit_fortran_options;
|
||||
|
||||
static void set_Wimplicit (int);
|
||||
static void handle_OPT_d (const char *);
|
||||
static void set_std_cxx98 (int);
|
||||
|
@ -194,10 +191,10 @@ defer_opt (enum opt_code code, const char *arg)
|
|||
|
||||
/* Common initialization before parsing options. */
|
||||
unsigned int
|
||||
c_common_init_options (unsigned int argc, const char ** ARG_UNUSED (argv))
|
||||
c_common_init_options (unsigned int argc, const char **argv)
|
||||
{
|
||||
static const unsigned int lang_flags[] = {CL_C, CL_ObjC, CL_CXX, CL_ObjCXX};
|
||||
unsigned int result;
|
||||
unsigned int i, result;
|
||||
|
||||
/* This is conditionalized only because that is the way the front
|
||||
ends used to do it. Maybe this should be unconditional? */
|
||||
|
@ -230,16 +227,17 @@ c_common_init_options (unsigned int argc, const char ** ARG_UNUSED (argv))
|
|||
|
||||
result = lang_flags[c_language];
|
||||
|
||||
/* If potentially preprocessing Fortran we have to accept its front
|
||||
end options since the driver passes most of them through. */
|
||||
#ifdef CL_F77
|
||||
if (c_language == clk_c && argc > 2
|
||||
&& !strcmp (argv[2], "-traditional-cpp" ))
|
||||
if (c_language == clk_c)
|
||||
{
|
||||
permit_fortran_options = true;
|
||||
result |= CL_F77;
|
||||
/* If preprocessing assembly language, accept any of the C-family
|
||||
front end options since the driver may pass them through. */
|
||||
for (i = 1; i < argc; i++)
|
||||
if (! strcmp (argv[i], "-lang-asm"))
|
||||
{
|
||||
result |= CL_C | CL_ObjC | CL_CXX | CL_ObjCXX;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -260,7 +258,7 @@ c_common_handle_option (size_t scode, const char *arg, int value)
|
|||
default:
|
||||
if (cl_options[code].flags & (CL_C | CL_CXX | CL_ObjC | CL_ObjCXX))
|
||||
break;
|
||||
result = permit_fortran_options;
|
||||
result = 0;
|
||||
break;
|
||||
|
||||
case OPT__output_pch_:
|
||||
|
|
Loading…
Add table
Reference in a new issue