[LLVMbugs] [Bug 15849] New: Failure to expand a predefined macro

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Apr 26 03:16:45 PDT 2013


http://llvm.org/bugs/show_bug.cgi?id=15849

            Bug ID: 15849
           Summary: Failure to expand a predefined macro
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: eremeev at viva64.com
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified

I am using Clang, built from trunk on a Windows system using Visual C++ 10
compiler. When running clang with the –E flag (preprocess only) on the
following code:
int _tmain(int argc, _TCHAR* argv[])
{
    char* A = __DATE__;
    char* B = ""__TIME__;
    char* C = ""__FILE__;
    char* D = "" __FILE__;
    return 0;
}

It generates the following output from the preprocessor:
int wmain(int argc, _TCHAR* argv[])
{
 char* A = "Apr 26 2013";
 char* B = ""__TIME__;
 char* C = ""__FILE__;
 char* D = "" "c:/Viva64SelfTester/src/fceu/testDate/testDate.cpp";
 return 0;
}

As evident, the predefine macros (__TIME__ and __FILE__) are not expanded by
the preprocessor at all. It happens when you place the string constant just
before the macro itself. Notice, that if you add a space between the macro and
the string, the macro is expanded properly.

We've encountered this bug on the latest release branch (3.2), as well as on
the current trunk. It was not present in the version we were utilizing before
(trunk 156904).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20130426/12324eda/attachment.html>


More information about the llvm-bugs mailing list