[cfe-dev] -cc1 and -m64 incompatible?

Douglas Gregor dgregor at apple.com
Tue Jan 19 16:03:15 PST 2010

On Jan 19, 2010, at 3:29 PM, Zhanyong Wan (λx.x x) wrote:

> Hi,
> This command works:
>  $ clang -cc1 t.cc
> So does this:
>  $ clang -m64 t.cc
> However, it doesn't work when both -cc1 and -m64 are specified:
>  $ clang -cc1 -m64 t.cc
>  error: unknown argument: '-m64'
>  $ clang -m64 -cc1 t.cc
>  gcc: unrecognized option '-cc1'
>  gcc: unrecognized option '-cc1'
> Is this expected?  How do I run the front-end in 64-bit mode?

If you need to use -cc1 (which is very much an implementation detail), pass it the appropriate triple with -triple foo-bar-baz. Check out what the driver passes for the triple with, e.g.,

	clang -m64 t.cc -###

> Also, neither -cc1 nor -m64 is mentioned in 'clang --help' or
> http://clang.llvm.org/docs/UsersManual.html.

-cc1 is an implementation detail, so it shouldn't be part of the user manual. -m64, on the other hand, should be mentioned somewhere.

>  Is there a definitive
> guide on clang's command line flags?  Many thanks,

Just the source. We'd love to enhance the source to contain documentation strings, so that we could automatically generate a reference manual for Clang's command-line flags... but nobody's done the work.

	- Doug

More information about the cfe-dev mailing list