Use ideclImplicit to filter out only *implict* Prelude imports (Trac #7963)

The ideclImplicit flag didn't exist before, but it does now,
and it makes this code simpler and makes it easy to fix Trac #7963.
Emit addUsedRdrNames for the datacons in a standalone deriving (Trac #7969)
Remove redundant import, revealed by the fix to #7963
Use assembler-with-cpp mode when running CPP.

This is needed because Clang is very strict about C99 macro rules, which
dictate that '#' in a body must have a token immediately following it for
string-ification. In practice we break this all the time, because we do
very weird stuff like:

    #define FOOBAR(xyz) \
    {-# SOME PRAGMA #-} \
    baz :: (xyz) \
    baz = ...

where the leading '#' in in the macro body clearly breaks this rule.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Suppress some more warnings from Clang.

It likes to think lambdas a la:

    foo $ \u -> ...

represent a kind of unicode extended literal.

It also gets confused when you have things like:

    ... thing ... {- comment ... (???) -}

where the (???) is mistaken as a trigraph.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Fix many ASSERT uses under Clang.

Clang doesn't like whitespace between macro and arguments.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Fix rts/packages.conf.in ld-options for clang.

Technically, '-u' is an ld option, not a compiler option,
and clang considers this argument unused. Hence, we must
explicitly forward this to the linker.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Untabify rts/packages.conf.in

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Actually fix rts/packages.conf.in ld-options.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Fix typo in header guard.

Spotted by Clang.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Revert "Actually fix rts/packages.conf.in ld-options."

This reverts commit 5dc74f385f1bbc9248ed950af255b946677c2ff9.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Revert "Untabify rts/packages.conf.in"

This reverts commit ebf97ad146173afd9e094f4975aa33717ed3a11e.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Revert "Fix rts/packages.conf.in ld-options for clang."

This reverts commit 991f285e681e8541632502d05d8a46de2d44b7bd.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Re-untabify rts/packages.conf.in

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Merge branch 'master' of git://github.com/ghc/ghc into TypeLambdaClasses