r360842 - Revert r360833 until I can work out the issue with Win32 bots
Kristina Brooks via cfe-commits
cfe-commits at lists.llvm.org
Wed May 15 20:30:08 PDT 2019
Author: kristina
Date: Wed May 15 20:30:08 2019
New Revision: 360842
URL: http://llvm.org/viewvc/llvm-project?rev=360842&view=rev
Log:
Revert r360833 until I can work out the issue with Win32 bots
This reverts "r360833: [Clang][PP] Add the __FILE_NAME__ builtin macro."
The tests are failing on Windows bots, reverting the patchset until I can
work out why.
Removed:
cfe/trunk/test/Preprocessor/Inputs/include-subdir/
cfe/trunk/test/Preprocessor/file_name_macro.c
Modified:
cfe/trunk/include/clang/Lex/Preprocessor.h
cfe/trunk/lib/Lex/PPMacroExpansion.cpp
Modified: cfe/trunk/include/clang/Lex/Preprocessor.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/Preprocessor.h?rev=360842&r1=360841&r2=360842&view=diff
==============================================================================
--- cfe/trunk/include/clang/Lex/Preprocessor.h (original)
+++ cfe/trunk/include/clang/Lex/Preprocessor.h Wed May 15 20:30:08 2019
@@ -147,7 +147,6 @@ class Preprocessor {
IdentifierInfo *Ident__DATE__, *Ident__TIME__; // __DATE__, __TIME__
IdentifierInfo *Ident__INCLUDE_LEVEL__; // __INCLUDE_LEVEL__
IdentifierInfo *Ident__BASE_FILE__; // __BASE_FILE__
- IdentifierInfo *Ident__FILE_NAME__; // __FILE_NAME__
IdentifierInfo *Ident__TIMESTAMP__; // __TIMESTAMP__
IdentifierInfo *Ident__COUNTER__; // __COUNTER__
IdentifierInfo *Ident_Pragma, *Ident__pragma; // _Pragma, __pragma
Modified: cfe/trunk/lib/Lex/PPMacroExpansion.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPMacroExpansion.cpp?rev=360842&r1=360841&r2=360842&view=diff
==============================================================================
--- cfe/trunk/lib/Lex/PPMacroExpansion.cpp (original)
+++ cfe/trunk/lib/Lex/PPMacroExpansion.cpp Wed May 15 20:30:08 2019
@@ -363,7 +363,6 @@ void Preprocessor::RegisterBuiltinMacros
}
// Clang Extensions.
- Ident__FILE_NAME__ = RegisterBuiltinMacro(*this, "__FILE_NAME__");
Ident__has_feature = RegisterBuiltinMacro(*this, "__has_feature");
Ident__has_extension = RegisterBuiltinMacro(*this, "__has_extension");
Ident__has_builtin = RegisterBuiltinMacro(*this, "__has_builtin");
@@ -1475,8 +1474,7 @@ void Preprocessor::ExpandBuiltinMacro(To
// __LINE__ expands to a simple numeric value.
OS << (PLoc.isValid()? PLoc.getLine() : 1);
Tok.setKind(tok::numeric_constant);
- } else if (II == Ident__FILE__ || II == Ident__BASE_FILE__ ||
- II == Ident__FILE_NAME__) {
+ } else if (II == Ident__FILE__ || II == Ident__BASE_FILE__) {
// C99 6.10.8: "__FILE__: The presumed name of the current source file (a
// character string literal)". This can be affected by #line.
PresumedLoc PLoc = SourceMgr.getPresumedLoc(Tok.getLocation());
@@ -1497,27 +1495,7 @@ void Preprocessor::ExpandBuiltinMacro(To
// Escape this filename. Turn '\' -> '\\' '"' -> '\"'
SmallString<128> FN;
if (PLoc.isValid()) {
- // __FILE_NAME__ is a Clang-specific extension that expands to the
- // the last part of __FILE__.
- if (II == Ident__FILE_NAME__) {
- // Try to get the last path component.
- StringRef PLFileName = PLoc.getFilename();
- size_t LastSep = PLFileName.find_last_of('/');
-#ifdef _WIN32
- // On Windows targets, absolute paths can be normalized to use
- // backslashes instead - handle this potential case here.
- if (LastSep == StringRef::npos)
- LastSep = PLFileName.find_last_of('\\');
-#endif
- // Skip the separator and get the last part, otherwise fall back on
- // returning the original full filename.
- if (LastSep != StringRef::npos)
- FN += PLFileName.substr(LastSep+1);
- else
- FN += PLFileName;
- } else {
- FN += PLoc.getFilename();
- }
+ FN += PLoc.getFilename();
Lexer::Stringify(FN);
OS << '"' << FN << '"';
}
Removed: cfe/trunk/test/Preprocessor/file_name_macro.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/file_name_macro.c?rev=360841&view=auto
==============================================================================
--- cfe/trunk/test/Preprocessor/file_name_macro.c (original)
+++ cfe/trunk/test/Preprocessor/file_name_macro.c (removed)
@@ -1,44 +0,0 @@
-// RUN: %clang_cc1 -E %s -I%S/Inputs | FileCheck -strict-whitespace %s
-// RUN: %clang_cc1 -fms-compatibility -DMS -E %s -I%S/Inputs | FileCheck -check-prefix=CHECK-MS -strict-whitespace %s
-// RUN: %clang_cc1 -E %s -I%S/Inputs -DBADINC -verify
-
-#ifdef BADINC
-
-// Paranoia.
-
-__FILE_NAME__
-#include <include-subdir/> // expected-error {{file not found}}
-__FILE_NAME__
-
-#else
-
-// Reference.
-1: "file_name_macro.c"
-
-// Ensure it expands correctly for this file.
-2: __FILE_NAME__
-
-// CHECK: {{^}}1: "file_name_macro.c"
-// CHECK: {{^}}2: "file_name_macro.c"
-
-// Test if inclusion works right.
-#ifdef MS
-#include <include-subdir\file_name_macro_include.h>
-// MS compatibility allows for mixed separators in paths.
-#include <include-subdir/subdir1\hdr1.h>
-#include <include-subdir\subdir1/hdr2.h>
-#else
-#include <include-subdir/file_name_macro_include.h>
-#endif
-
-#include <include-subdir/h>
-
-// CHECK: {{^}}3: "file_name_macro_include.h"
-// CHECK: {{^}}4: "file_name_macro_include.h"
-// CHECK-NOT: {{^}}5: "file_name_macro_include.h"
-// CHECK-MS: {{^}}5: "file_name_macro_include.h"
-// CHECK: {{^}}6: "h"
-// CHECK-MS: {{^}}7: "hdr1.h"
-// CHECK-MS: {{^}}8: "hdr2.h"
-
-#endif
More information about the cfe-commits
mailing list