http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54160

             Bug #: 54160
           Summary: gcc should not define __OBJC2__ when lang is not set
                    to ObjC (gcc 4.6 and later)
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: jerem...@macports.org


gcc should not be defining the __OBJC2__ preprocessor macro when it is not
building for the Objective C or Objective C++ languages.

~ $ echo "" | gcc-mp-4.5 -x objective-c -E -dM - | grep OBJ
#define __OBJC__ 1

~ $ echo "" | gcc-mp-4.5 -E -dM - | grep OBJ

~ $ echo "" | gcc-mp-4.6 -x objective-c -E -dM - | grep OBJ
#define __OBJC__ 1
#define __OBJC2__ 1

~ $ echo "" | gcc-mp-4.6 -E -dM - | grep OBJ
#define __OBJC2__ 1

This is a regression that entered gcc 4.6 and is present in current versions of
4.6, 4.7, and 4.8 snapshots

Reply via email to