re PR middle-end/68656 (warning about disabled var-tracking uses odd location info)
PR c/68656 * toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of input_location to inform. (process_options): Use warning_at (UNKNOWN_LOCATION instead of warning ( and error_at (UNKNOWN_LOCATION instead of error (. Pass UNKNOWN_LOCATION instead of input_location to fatal_error. * gcc.target/i386/pr65044.c: Expect error on line 0 rather than line 1. * g++.dg/opt/pr34036.C: Expect warning on line 0 rather than line 1. * gcc.dg/tree-ssa/pr23109.c: Likewise. * gcc.dg/tree-ssa/recip-5.c: Likewise. * gcc.dg/pr33007.c: Likewise. From-SVN: r231292
This commit is contained in:
parent
88636b62bc
commit
b3d5bc621f
|
@ -1,3 +1,12 @@
|
||||||
|
2015-12-04 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR c/68656
|
||||||
|
* toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of
|
||||||
|
input_location to inform.
|
||||||
|
(process_options): Use warning_at (UNKNOWN_LOCATION instead of
|
||||||
|
warning ( and error_at (UNKNOWN_LOCATION instead of error (.
|
||||||
|
Pass UNKNOWN_LOCATION instead of input_location to fatal_error.
|
||||||
|
|
||||||
2015-12-04 Jan Hubicka <hubicka@ucw.cz>
|
2015-12-04 Jan Hubicka <hubicka@ucw.cz>
|
||||||
|
|
||||||
* ipa-inline.c (can_inline_edge_p) Use merged_comdat.
|
* ipa-inline.c (can_inline_edge_p) Use merged_comdat.
|
||||||
|
@ -9,11 +18,6 @@
|
||||||
* ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat
|
* ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat
|
||||||
and icf_merged.
|
and icf_merged.
|
||||||
|
|
||||||
2015-12-04 Paolo Bonzini <bonzini@gnu.org>
|
|
||||||
|
|
||||||
* c-family/c-common.c (maybe_warn_shift_overflow): Warn on all
|
|
||||||
overflows if shifting 1 out of the sign bit.
|
|
||||||
|
|
||||||
2015-12-04 Segher Boessenkool <segher@kernel.crashing.org>
|
2015-12-04 Segher Boessenkool <segher@kernel.crashing.org>
|
||||||
|
|
||||||
* (cstore<mode>4_unsigned): Use gpc_reg_operand instead of
|
* (cstore<mode>4_unsigned): Use gpc_reg_operand instead of
|
||||||
|
@ -186,9 +190,6 @@
|
||||||
|
|
||||||
2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
|
2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
|
||||||
|
|
||||||
* c-family/c-common.c (c_common_attribute_table[]): Update max arguments
|
|
||||||
count for "simd" attribute.
|
|
||||||
(handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
|
|
||||||
* doc/extend.texi ("simd"): Describe new flags.
|
* doc/extend.texi ("simd"): Describe new flags.
|
||||||
|
|
||||||
2015-12-04 Ilya Enkovich <enkovich.gnu@gmail.com>
|
2015-12-04 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||||||
|
@ -663,7 +664,6 @@
|
||||||
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call)
|
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call)
|
||||||
(find_func_clobbers, ipa_pta_execute): Handle BUILT_IN_GOACC_PARALLEL.
|
(find_func_clobbers, ipa_pta_execute): Handle BUILT_IN_GOACC_PARALLEL.
|
||||||
|
|
||||||
>>>>>>> .r231221
|
|
||||||
2015-12-02 Segher Boessenkool <segher@kernel.crashing.org>
|
2015-12-02 Segher Boessenkool <segher@kernel.crashing.org>
|
||||||
|
|
||||||
* config/rs6000/rs6000.md (cstore_si_as_di): New expander.
|
* config/rs6000/rs6000.md (cstore_si_as_di): New expander.
|
||||||
|
@ -18044,7 +18044,6 @@ broken.
|
||||||
|
|
||||||
2015-08-02 Martin Sebor <msebor@redhat.com>
|
2015-08-02 Martin Sebor <msebor@redhat.com>
|
||||||
|
|
||||||
* c-family/c.opt (-Wframe-address): New warning option.
|
|
||||||
* doc/invoke.texi (Wframe-address): Document it.
|
* doc/invoke.texi (Wframe-address): Document it.
|
||||||
* doc/extend.texi (__builtin_frame_address, __builtin_return_address):
|
* doc/extend.texi (__builtin_frame_address, __builtin_return_address):
|
||||||
Clarify possible effects of calling the functions with non-zero
|
Clarify possible effects of calling the functions with non-zero
|
||||||
|
@ -26919,8 +26918,6 @@ broken.
|
||||||
|
|
||||||
2015-06-04 Sriraman Tallam <tmsriram@google.com>
|
2015-06-04 Sriraman Tallam <tmsriram@google.com>
|
||||||
|
|
||||||
* c-family/c-common.c (noplt): New attribute.
|
|
||||||
(handle_noplt_attribute): New handler.
|
|
||||||
* calls.c (prepare_call_address): Check for noplt
|
* calls.c (prepare_call_address): Check for noplt
|
||||||
attribute.
|
attribute.
|
||||||
* config/i386/i386.c (ix86_expand_call): Check
|
* config/i386/i386.c (ix86_expand_call): Check
|
||||||
|
|
|
@ -1,3 +1,14 @@
|
||||||
|
2015-12-04 Paolo Bonzini <bonzini@gnu.org>
|
||||||
|
|
||||||
|
* c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
|
||||||
|
shifting 1 out of the sign bit.
|
||||||
|
|
||||||
|
2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
|
||||||
|
|
||||||
|
* c-common.c (c_common_attribute_table[]): Update max arguments
|
||||||
|
count for "simd" attribute.
|
||||||
|
(handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
|
||||||
|
|
||||||
2015-12-03 Jakub Jelinek <jakub@redhat.com>
|
2015-12-03 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR preprocessor/57580
|
PR preprocessor/57580
|
||||||
|
@ -256,8 +267,8 @@
|
||||||
2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
|
2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
|
||||||
|
|
||||||
PR c++-common/67882
|
PR c++-common/67882
|
||||||
* c-family/c-common.h (fold_offsetof_1): Add argument.
|
* c-common.h (fold_offsetof_1): Add argument.
|
||||||
* c-family/c-common.c (fold_offsetof_1): Diagnose more invalid
|
* c-common.c (fold_offsetof_1): Diagnose more invalid
|
||||||
offsetof expressions that reference elements past the end of
|
offsetof expressions that reference elements past the end of
|
||||||
an array.
|
an array.
|
||||||
|
|
||||||
|
@ -571,6 +582,10 @@
|
||||||
* c-opts.c (set_std_cxx1z): Set flag_concepts.
|
* c-opts.c (set_std_cxx1z): Set flag_concepts.
|
||||||
* c.opt (fconcepts): New.
|
* c.opt (fconcepts): New.
|
||||||
|
|
||||||
|
2015-08-02 Martin Sebor <msebor@redhat.com>
|
||||||
|
|
||||||
|
* c.opt (-Wframe-address): New warning option.
|
||||||
|
|
||||||
2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
|
2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
|
||||||
|
|
||||||
* c-indentation.c (should_warn_for_misleading_indentation):
|
* c-indentation.c (should_warn_for_misleading_indentation):
|
||||||
|
@ -720,11 +735,11 @@
|
||||||
2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
|
2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
|
||||||
|
|
||||||
Implement N4197 - Adding u8 character literals
|
Implement N4197 - Adding u8 character literals
|
||||||
* c-family/c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
|
* c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
|
||||||
CPP_CHAR.
|
CPP_CHAR.
|
||||||
* c-family/c-common.c (c_parse_error): Print CPP_UTF8CHAR and
|
* c-common.c (c_parse_error): Print CPP_UTF8CHAR and
|
||||||
CPP_UTF8CHAR_USERDEF tokens.
|
CPP_UTF8CHAR_USERDEF tokens.
|
||||||
* c-family/c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
|
* c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
|
||||||
and CPP_UTF8CHAR tokens.
|
and CPP_UTF8CHAR tokens.
|
||||||
(lex_charconst): Treat CPP_UTF8CHAR token.
|
(lex_charconst): Treat CPP_UTF8CHAR token.
|
||||||
|
|
||||||
|
@ -882,6 +897,11 @@
|
||||||
* c-common.h (c_parse_final_cleanups): New prototype.
|
* c-common.h (c_parse_final_cleanups): New prototype.
|
||||||
* c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
|
* c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
|
||||||
|
|
||||||
|
2015-06-04 Sriraman Tallam <tmsriram@google.com>
|
||||||
|
|
||||||
|
* c-common.c (noplt): New attribute.
|
||||||
|
(handle_noplt_attribute): New handler.
|
||||||
|
|
||||||
2015-06-04 Andrew MacLeod <amacleod@redhat.com>
|
2015-06-04 Andrew MacLeod <amacleod@redhat.com>
|
||||||
|
|
||||||
* array-notation-common.c: Adjust includes for restructured coretypes.h.
|
* array-notation-common.c: Adjust includes for restructured coretypes.h.
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
|
2015-12-04 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR c/68656
|
||||||
|
* gcc.target/i386/pr65044.c: Expect error on line 0 rather than
|
||||||
|
line 1.
|
||||||
|
* g++.dg/opt/pr34036.C: Expect warning on line 0 rather than line 1.
|
||||||
|
* gcc.dg/tree-ssa/pr23109.c: Likewise.
|
||||||
|
* gcc.dg/tree-ssa/recip-5.c: Likewise.
|
||||||
|
* gcc.dg/pr33007.c: Likewise.
|
||||||
|
|
||||||
2015-12-04 Paolo Bonzini <bonzini@gnu.org>
|
2015-12-04 Paolo Bonzini <bonzini@gnu.org>
|
||||||
|
|
||||||
* c-c++-common/Wshift-overflow-1.c: Test shifting 1 out of the sign bit.
|
* c-c++-common/Wshift-overflow-1.c: Test shifting 1 out of the sign bit.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-options "-O2 -fnon-call-exceptions -ffast-math -fsignaling-nans" } */
|
/* { dg-options "-O2 -fnon-call-exceptions -ffast-math -fsignaling-nans" } */
|
||||||
/* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 1 } */
|
/* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 0 } */
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
class ggStaticArray {
|
class ggStaticArray {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-options "-O -ffast-math -ftrapping-math" } */
|
/* { dg-options "-O -ffast-math -ftrapping-math" } */
|
||||||
/* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 1 } */
|
/* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 0 } */
|
||||||
|
|
||||||
long
|
long
|
||||||
foo (int i)
|
foo (int i)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-options "-O2 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-lim2" } */
|
/* { dg-options "-O2 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-lim2" } */
|
||||||
/* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 1 } */
|
/* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 0 } */
|
||||||
|
|
||||||
double F[2] = { 0., 0. }, e = 0.;
|
double F[2] = { 0., 0. }, e = 0.;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* { dg-options "-O1 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-optimized" } */
|
/* { dg-options "-O1 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-optimized" } */
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 1 } */
|
/* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 0 } */
|
||||||
|
|
||||||
/* Test the reciprocal optimizations together with trapping math. */
|
/* Test the reciprocal optimizations together with trapping math. */
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* { dg-error "-fcheck-pointer-bounds is not supported with Address Sanitizer" } */
|
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-require-effective-target mpx } */
|
/* { dg-require-effective-target mpx } */
|
||||||
/* { dg-options "-fcheck-pointer-bounds -mmpx -fsanitize=address" } */
|
/* { dg-options "-fcheck-pointer-bounds -mmpx -fsanitize=address" } */
|
||||||
|
/* { dg-error "-fcheck-pointer-bounds is not supported with Address Sanitizer" "" { target *-*-* } 0 } */
|
||||||
|
|
||||||
extern int x[];
|
extern int x[];
|
||||||
|
|
||||||
|
|
94
gcc/toplev.c
94
gcc/toplev.c
|
@ -904,7 +904,9 @@ init_asm_output (const char *name)
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
inform (input_location, "-frecord-gcc-switches is not supported by the current target");
|
inform (UNKNOWN_LOCATION,
|
||||||
|
"-frecord-gcc-switches is not supported by "
|
||||||
|
"the current target");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flag_verbose_asm)
|
if (flag_verbose_asm)
|
||||||
|
@ -1214,8 +1216,9 @@ process_options (void)
|
||||||
|
|
||||||
if (flag_section_anchors && !target_supports_section_anchors_p ())
|
if (flag_section_anchors && !target_supports_section_anchors_p ())
|
||||||
{
|
{
|
||||||
warning (OPT_fsection_anchors,
|
warning_at (UNKNOWN_LOCATION, OPT_fsection_anchors,
|
||||||
"this target does not support %qs", "-fsection-anchors");
|
"this target does not support %qs",
|
||||||
|
"-fsection-anchors");
|
||||||
flag_section_anchors = 0;
|
flag_section_anchors = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1250,14 +1253,16 @@ process_options (void)
|
||||||
{
|
{
|
||||||
if (targetm.chkp_bound_mode () == VOIDmode)
|
if (targetm.chkp_bound_mode () == VOIDmode)
|
||||||
{
|
{
|
||||||
error ("-fcheck-pointer-bounds is not supported for this target");
|
error_at (UNKNOWN_LOCATION,
|
||||||
|
"-fcheck-pointer-bounds is not supported for this target");
|
||||||
flag_check_pointer_bounds = 0;
|
flag_check_pointer_bounds = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flag_sanitize & SANITIZE_ADDRESS)
|
if (flag_sanitize & SANITIZE_ADDRESS)
|
||||||
{
|
{
|
||||||
error ("-fcheck-pointer-bounds is not supported with "
|
error_at (UNKNOWN_LOCATION,
|
||||||
"Address Sanitizer");
|
"-fcheck-pointer-bounds is not supported with "
|
||||||
|
"Address Sanitizer");
|
||||||
flag_check_pointer_bounds = 0;
|
flag_check_pointer_bounds = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1270,7 +1275,8 @@ process_options (void)
|
||||||
if (!abi_version_at_least (2))
|
if (!abi_version_at_least (2))
|
||||||
{
|
{
|
||||||
/* -fabi-version=1 support was removed after GCC 4.9. */
|
/* -fabi-version=1 support was removed after GCC 4.9. */
|
||||||
error ("%<-fabi-version=1%> is no longer supported");
|
error_at (UNKNOWN_LOCATION,
|
||||||
|
"%<-fabi-version=1%> is no longer supported");
|
||||||
flag_abi_version = 2;
|
flag_abi_version = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1297,10 +1303,12 @@ process_options (void)
|
||||||
/* Warn about options that are not supported on this machine. */
|
/* Warn about options that are not supported on this machine. */
|
||||||
#ifndef INSN_SCHEDULING
|
#ifndef INSN_SCHEDULING
|
||||||
if (flag_schedule_insns || flag_schedule_insns_after_reload)
|
if (flag_schedule_insns || flag_schedule_insns_after_reload)
|
||||||
warning (0, "instruction scheduling not supported on this target machine");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"instruction scheduling not supported on this target machine");
|
||||||
#endif
|
#endif
|
||||||
if (!DELAY_SLOTS && flag_delayed_branch)
|
if (!DELAY_SLOTS && flag_delayed_branch)
|
||||||
warning (0, "this target machine does not have delayed branches");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"this target machine does not have delayed branches");
|
||||||
|
|
||||||
user_label_prefix = USER_LABEL_PREFIX;
|
user_label_prefix = USER_LABEL_PREFIX;
|
||||||
if (flag_leading_underscore != -1)
|
if (flag_leading_underscore != -1)
|
||||||
|
@ -1313,8 +1321,9 @@ process_options (void)
|
||||||
user_label_prefix = flag_leading_underscore ? "_" : "";
|
user_label_prefix = flag_leading_underscore ? "_" : "";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
warning (0, "-f%sleading-underscore not supported on this target machine",
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
flag_leading_underscore ? "" : "no-");
|
"-f%sleading-underscore not supported on this "
|
||||||
|
"target machine", flag_leading_underscore ? "" : "no-");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we are in verbose mode, write out the version and maybe all the
|
/* If we are in verbose mode, write out the version and maybe all the
|
||||||
|
@ -1350,14 +1359,16 @@ process_options (void)
|
||||||
FILE *final_output = fopen (flag_dump_final_insns, "w");
|
FILE *final_output = fopen (flag_dump_final_insns, "w");
|
||||||
if (!final_output)
|
if (!final_output)
|
||||||
{
|
{
|
||||||
error ("could not open final insn dump file %qs: %m",
|
error_at (UNKNOWN_LOCATION,
|
||||||
flag_dump_final_insns);
|
"could not open final insn dump file %qs: %m",
|
||||||
|
flag_dump_final_insns);
|
||||||
flag_dump_final_insns = NULL;
|
flag_dump_final_insns = NULL;
|
||||||
}
|
}
|
||||||
else if (fclose (final_output))
|
else if (fclose (final_output))
|
||||||
{
|
{
|
||||||
error ("could not close zeroed insn dump file %qs: %m",
|
error_at (UNKNOWN_LOCATION,
|
||||||
flag_dump_final_insns);
|
"could not close zeroed insn dump file %qs: %m",
|
||||||
|
flag_dump_final_insns);
|
||||||
flag_dump_final_insns = NULL;
|
flag_dump_final_insns = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1392,8 +1403,9 @@ process_options (void)
|
||||||
debug_hooks = &dwarf2_lineno_debug_hooks;
|
debug_hooks = &dwarf2_lineno_debug_hooks;
|
||||||
#endif
|
#endif
|
||||||
else
|
else
|
||||||
error ("target system does not support the %qs debug format",
|
error_at (UNKNOWN_LOCATION,
|
||||||
debug_type_names[write_symbols]);
|
"target system does not support the %qs debug format",
|
||||||
|
debug_type_names[write_symbols]);
|
||||||
|
|
||||||
/* We know which debug output will be used so we can set flag_var_tracking
|
/* We know which debug output will be used so we can set flag_var_tracking
|
||||||
and flag_var_tracking_uninit if the user has not specified them. */
|
and flag_var_tracking_uninit if the user has not specified them. */
|
||||||
|
@ -1404,11 +1416,13 @@ process_options (void)
|
||||||
|| flag_var_tracking_uninit == 1)
|
|| flag_var_tracking_uninit == 1)
|
||||||
{
|
{
|
||||||
if (debug_info_level < DINFO_LEVEL_NORMAL)
|
if (debug_info_level < DINFO_LEVEL_NORMAL)
|
||||||
warning (0, "variable tracking requested, but useless unless "
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
"producing debug info");
|
"variable tracking requested, but useless unless "
|
||||||
|
"producing debug info");
|
||||||
else
|
else
|
||||||
warning (0, "variable tracking requested, but not supported "
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
"by this debug format");
|
"variable tracking requested, but not supported "
|
||||||
|
"by this debug format");
|
||||||
}
|
}
|
||||||
flag_var_tracking = 0;
|
flag_var_tracking = 0;
|
||||||
flag_var_tracking_uninit = 0;
|
flag_var_tracking_uninit = 0;
|
||||||
|
@ -1444,7 +1458,8 @@ process_options (void)
|
||||||
|
|
||||||
if (flag_var_tracking_assignments
|
if (flag_var_tracking_assignments
|
||||||
&& (flag_selective_scheduling || flag_selective_scheduling2))
|
&& (flag_selective_scheduling || flag_selective_scheduling2))
|
||||||
warning (0, "var-tracking-assignments changes selective scheduling");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"var-tracking-assignments changes selective scheduling");
|
||||||
|
|
||||||
if (flag_tree_cselim == AUTODETECT_VALUE)
|
if (flag_tree_cselim == AUTODETECT_VALUE)
|
||||||
{
|
{
|
||||||
|
@ -1461,31 +1476,37 @@ process_options (void)
|
||||||
{
|
{
|
||||||
aux_info_file = fopen (aux_info_file_name, "w");
|
aux_info_file = fopen (aux_info_file_name, "w");
|
||||||
if (aux_info_file == 0)
|
if (aux_info_file == 0)
|
||||||
fatal_error (input_location, "can%'t open %s: %m", aux_info_file_name);
|
fatal_error (UNKNOWN_LOCATION,
|
||||||
|
"can%'t open %s: %m", aux_info_file_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!targetm_common.have_named_sections)
|
if (!targetm_common.have_named_sections)
|
||||||
{
|
{
|
||||||
if (flag_function_sections)
|
if (flag_function_sections)
|
||||||
{
|
{
|
||||||
warning (0, "-ffunction-sections not supported for this target");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"-ffunction-sections not supported for this target");
|
||||||
flag_function_sections = 0;
|
flag_function_sections = 0;
|
||||||
}
|
}
|
||||||
if (flag_data_sections)
|
if (flag_data_sections)
|
||||||
{
|
{
|
||||||
warning (0, "-fdata-sections not supported for this target");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"-fdata-sections not supported for this target");
|
||||||
flag_data_sections = 0;
|
flag_data_sections = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flag_prefetch_loop_arrays > 0 && !targetm.code_for_prefetch)
|
if (flag_prefetch_loop_arrays > 0 && !targetm.code_for_prefetch)
|
||||||
{
|
{
|
||||||
warning (0, "-fprefetch-loop-arrays not supported for this target");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"-fprefetch-loop-arrays not supported for this target");
|
||||||
flag_prefetch_loop_arrays = 0;
|
flag_prefetch_loop_arrays = 0;
|
||||||
}
|
}
|
||||||
else if (flag_prefetch_loop_arrays > 0 && !targetm.have_prefetch ())
|
else if (flag_prefetch_loop_arrays > 0 && !targetm.have_prefetch ())
|
||||||
{
|
{
|
||||||
warning (0, "-fprefetch-loop-arrays not supported for this target (try -march switches)");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"-fprefetch-loop-arrays not supported for this target "
|
||||||
|
"(try -march switches)");
|
||||||
flag_prefetch_loop_arrays = 0;
|
flag_prefetch_loop_arrays = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1493,7 +1514,8 @@ process_options (void)
|
||||||
make much sense anyway, so don't allow it. */
|
make much sense anyway, so don't allow it. */
|
||||||
if (flag_prefetch_loop_arrays > 0 && optimize_size)
|
if (flag_prefetch_loop_arrays > 0 && optimize_size)
|
||||||
{
|
{
|
||||||
warning (0, "-fprefetch-loop-arrays is not supported with -Os");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"-fprefetch-loop-arrays is not supported with -Os");
|
||||||
flag_prefetch_loop_arrays = 0;
|
flag_prefetch_loop_arrays = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1504,7 +1526,9 @@ process_options (void)
|
||||||
/* We cannot reassociate if we want traps or signed zeros. */
|
/* We cannot reassociate if we want traps or signed zeros. */
|
||||||
if (flag_associative_math && (flag_trapping_math || flag_signed_zeros))
|
if (flag_associative_math && (flag_trapping_math || flag_signed_zeros))
|
||||||
{
|
{
|
||||||
warning (0, "-fassociative-math disabled; other options take precedence");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"-fassociative-math disabled; other options take "
|
||||||
|
"precedence");
|
||||||
flag_associative_math = 0;
|
flag_associative_math = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1520,7 +1544,8 @@ process_options (void)
|
||||||
target already uses a soft frame pointer, the transition is trivial. */
|
target already uses a soft frame pointer, the transition is trivial. */
|
||||||
if (!FRAME_GROWS_DOWNWARD && flag_stack_protect)
|
if (!FRAME_GROWS_DOWNWARD && flag_stack_protect)
|
||||||
{
|
{
|
||||||
warning (0, "-fstack-protector not supported for this target");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"-fstack-protector not supported for this target");
|
||||||
flag_stack_protect = 0;
|
flag_stack_protect = 0;
|
||||||
}
|
}
|
||||||
if (!flag_stack_protect)
|
if (!flag_stack_protect)
|
||||||
|
@ -1531,16 +1556,17 @@ process_options (void)
|
||||||
if ((flag_sanitize & SANITIZE_ADDRESS)
|
if ((flag_sanitize & SANITIZE_ADDRESS)
|
||||||
&& !FRAME_GROWS_DOWNWARD)
|
&& !FRAME_GROWS_DOWNWARD)
|
||||||
{
|
{
|
||||||
warning (0,
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
"-fsanitize=address and -fsanitize=kernel-address "
|
"-fsanitize=address and -fsanitize=kernel-address "
|
||||||
"are not supported for this target");
|
"are not supported for this target");
|
||||||
flag_sanitize &= ~SANITIZE_ADDRESS;
|
flag_sanitize &= ~SANITIZE_ADDRESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flag_sanitize & SANITIZE_USER_ADDRESS)
|
if ((flag_sanitize & SANITIZE_USER_ADDRESS)
|
||||||
&& targetm.asan_shadow_offset == NULL)
|
&& targetm.asan_shadow_offset == NULL)
|
||||||
{
|
{
|
||||||
warning (0, "-fsanitize=address not supported for this target");
|
warning_at (UNKNOWN_LOCATION, 0,
|
||||||
|
"-fsanitize=address not supported for this target");
|
||||||
flag_sanitize &= ~SANITIZE_ADDRESS;
|
flag_sanitize &= ~SANITIZE_ADDRESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue