Bug 44076 - -MT <target> behaves different as -MT<target> (w/o space)
Summary: -MT <target> behaves different as -MT<target> (w/o space)
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: driver (show other bugs)
Version: 4.4.3
: P3 minor
Target Milestone: 4.6.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-11 10:06 UTC by Christian Eggers
Modified: 2010-09-02 11:46 UTC (History)
1 user (show)

See Also:
Host: don't care
Target: don't care
Build: don't care
Known to work: 4.6.0
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Eggers 2010-05-11 10:06:47 UTC
> cat test.c
#include "test.h"

int main(void)
{
    return 0;
}
/* EOF */

> gcc -c -o test.o -MMD -MT other.c test.c
> cat test.d 
other.c: test.c test.h
==> seems to be correct

> gcc -c -o test.o -MMD -MTother.c test.c
> cat test.d 
other.c test.o: test.c test.h
==> seems to be wrong

"-MT<file>" should either behave equal as "-MT <file>" or be rejected.
Comment 1 Andrew Pinski 2010-05-11 23:14:37 UTC
I think this is related to PR 12448
Comment 2 Christian Eggers 2010-05-12 06:29:05 UTC
(In reply to comment #1)
> I think this is related to PR 12448
> 
Yes, it's a similar. PR 12448 says that "-MT <file>" produces a wrong result, but it seems that this has already been fixed. Can the behavior of "-MT<file>" be changed in the same way?
Comment 3 Joseph S. Myers 2010-09-02 11:42:09 UTC
Subject: Bug 44076

Author: jsm28
Date: Thu Sep  2 11:41:22 2010
New Revision: 163770

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163770
Log:
	PR driver/44076
	* opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
	alias_target fields.
	* opt-functions.awk (opt_sanitized_name): Don't handle
	finline-limit=, Wlarger-than= and ftemplate-depth= specially.
	* optc-gen.awk: Generate alias fields.
	* opth-gen.awk: Explicitly give values for OPT_* enum constants.
	Don't generate such constants for aliases.
	* opts-common.c (generate_canonical_option): New.
	(decode_cmdline_option): Handle aliases.  Use
	generate_canonical_option for known options instead of copying the
	input option text.
	* doc/options.texi (Alias): Document.
	* common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
	fstack-check, specs): Mark as aliases.
	* gcc.c (driver_handle_option): Canonicalize -L options to joined
	arguments.
	(driver_handle_option): Don't handle OPT_specs.
	* opts.c (common_handle_option): Don't handle options marked as
	aliases.
	(enable_warning_as_error): Handle aliases.
	* stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
	OPT_Wlarger_than_eq.
	* tree-optimize.c (tree_rest_of_compilation): Use
	OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.

c-family:
	* c.opt (Wcomments, Werror-implicit-function-declaration,
	ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
	std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
	aliases.
	* c-common.c (option_codes): Use OPT_Wcomment instead of
	OPT_Wcomments.
	* c-opts.c (warning_as_error_callback, c_common_handle_option):
	Don't handle options marked as aliases.

java:
	* lang.opt (CLASSPATH, bootclasspath, classpath, encoding,
	fCLASSPATH=): Mark as Java options and as aliases.
	* jvspec.c (jvgenmain_spec): Don't handle -fCLASSPATH*.
	(lang_specific_driver): Don't handle options marked as aliases.
	* lang.c (java_handle_option): Don't handle OPT_fCLASSPATH_.

testsuite:
	* gcc.dg/cpp/warn-comments-3.c: New.  Based on warn-comments-2.c
	but using -Werror=comment.
	* gcc.dg/cpp/warn-comments.c, gcc.dg/cpp/warn-comments-2.c: Adjust
	expected error messages.

Added:
    trunk/gcc/testsuite/gcc.dg/cpp/warn-comments-3.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/c-family/c-opts.c
    trunk/gcc/c-family/c.opt
    trunk/gcc/common.opt
    trunk/gcc/doc/options.texi
    trunk/gcc/gcc.c
    trunk/gcc/java/ChangeLog
    trunk/gcc/java/jvspec.c
    trunk/gcc/java/lang.c
    trunk/gcc/java/lang.opt
    trunk/gcc/opt-functions.awk
    trunk/gcc/optc-gen.awk
    trunk/gcc/opth-gen.awk
    trunk/gcc/opts-common.c
    trunk/gcc/opts.c
    trunk/gcc/opts.h
    trunk/gcc/stor-layout.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/cpp/warn-comments-2.c
    trunk/gcc/testsuite/gcc.dg/cpp/warn-comments.c
    trunk/gcc/tree-optimize.c

Comment 4 Joseph S. Myers 2010-09-02 11:46:26 UTC
Fixed for 4.6.