[cfe-commits] r73492 - in /cfe/trunk: clang.xcodeproj/project.pbxproj include/clang/Basic/Builtins.h lib/Basic/Builtins.cpp lib/Lex/Preprocessor.cpp tools/clang-cc/clang-cc.cpp

Douglas Gregor dgregor at apple.com
Tue Jun 16 09:55:40 PDT 2009


On Jun 16, 2009, at 9:18 AM, Chris Lattner wrote:

> Author: lattner
> Date: Tue Jun 16 11:18:48 2009
> New Revision: 73492
>
> URL: http://llvm.org/viewvc/llvm-project?rev=73492&view=rev
> Log:
> my refactoring of builtins changed target-specific builtins to only be
> registered when PCH wasn't being used.  We should always install (in  
> BuiltinInfo)
> information about target-specific builtins, but we shouldn't  
> register any builtin
> identifier infos.  This fixes the build of apps that use PCH and  
> target specific
> builtins together.

Do you have a test case for this? Seems like something that's easy to  
break.

	- Doug

> Modified:
>    cfe/trunk/clang.xcodeproj/project.pbxproj
>    cfe/trunk/include/clang/Basic/Builtins.h
>    cfe/trunk/lib/Basic/Builtins.cpp
>    cfe/trunk/lib/Lex/Preprocessor.cpp
>    cfe/trunk/tools/clang-cc/clang-cc.cpp
>
> Modified: cfe/trunk/clang.xcodeproj/project.pbxproj
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/clang.xcodeproj/project.pbxproj?rev=73492&r1=73491&r2=73492&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- cfe/trunk/clang.xcodeproj/project.pbxproj (original)
> +++ cfe/trunk/clang.xcodeproj/project.pbxproj Tue Jun 16 11:18:48 2009
> @@ -1712,6 +1712,7 @@
> 				GCC_ENABLE_CPP_RTTI = NO;
> 				GCC_ENABLE_PASCAL_STRINGS = NO;
> 				GCC_ENABLE_SYMBOL_SEPARATION = NO;
> +				GCC_ENABLE_TRIGRAPHS = NO;
> 				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
> 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
> 				GCC_OPTIMIZATION_LEVEL = 0;
> @@ -1723,6 +1724,7 @@
> 				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
> 				GCC_THREADSAFE_STATICS = NO;
> 				GCC_USE_GCC3_PFE_SUPPORT = NO;
> +				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
> 				INSTALL_PATH = "$(HOME)/bin";
> 				OTHER_LDFLAGS = (
> 					"-lLLVMBitWriter",
>
> Modified: cfe/trunk/include/clang/Basic/Builtins.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Builtins.h?rev=73492&r1=73491&r2=73492&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- cfe/trunk/include/clang/Basic/Builtins.h (original)
> +++ cfe/trunk/include/clang/Basic/Builtins.h Tue Jun 16 11:18:48 2009
> @@ -53,13 +53,12 @@
>   const Info *TSRecords;
>   unsigned NumTSRecords;
> public:
> -  Context() : TSRecords(0), NumTSRecords(0) {}
> +  Context(const TargetInfo &Target);
>
>   /// InitializeBuiltins - Mark the identifiers for all the builtins  
> with their
>   /// appropriate builtin ID # and mark any non-portable builtin  
> identifiers as
>   /// such.
> -  void InitializeBuiltins(IdentifierTable &Table, const TargetInfo  
> &Target,
> -                          bool NoBuiltins = false);
> +  void InitializeBuiltins(IdentifierTable &Table, bool NoBuiltins =  
> false);
>
>   /// \brief Popular the vector with the names of all of the builtins.
>   void GetBuiltinNames(llvm::SmallVectorImpl<const char *> &Names,
>
> Modified: cfe/trunk/lib/Basic/Builtins.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Builtins.cpp?rev=73492&r1=73491&r2=73492&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- cfe/trunk/lib/Basic/Builtins.cpp (original)
> +++ cfe/trunk/lib/Basic/Builtins.cpp Tue Jun 16 11:18:48 2009
> @@ -30,11 +30,15 @@
>   return TSRecords[ID - Builtin::FirstTSBuiltin];
> }
>
> +Builtin::Context::Context(const TargetInfo &Target) {
> +  // Get the target specific builtins from the target.
> +  Target.getTargetBuiltins(TSRecords, NumTSRecords);
> +}
> +
> /// InitializeBuiltins - Mark the identifiers for all the builtins  
> with their
> /// appropriate builtin ID # and mark any non-portable builtin  
> identifiers as
> /// such.
> void Builtin::Context::InitializeBuiltins(IdentifierTable &Table,
> -                                          const TargetInfo &Target,
>                                           bool NoBuiltins) {
>   // Step #1: mark all target-independent builtins with their ID's.
>   for (unsigned i = Builtin::NotBuiltin+1; i !=  
> Builtin::FirstTSBuiltin; ++i)
> @@ -42,9 +46,6 @@
>         (!NoBuiltins || !strchr(BuiltinInfo[i].Attributes, 'f')))
>       Table.get(BuiltinInfo[i].Name).setBuiltinID(i);
>
> -  // Get the target specific builtins from the target.
> -  Target.getTargetBuiltins(TSRecords, NumTSRecords);
> -
>   // Step #2: Register target-specific builtins.
>   for (unsigned i = 0, e = NumTSRecords; i != e; ++i)
>     if (!TSRecords[i].Suppressed &&
>
> Modified: cfe/trunk/lib/Lex/Preprocessor.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/Preprocessor.cpp?rev=73492&r1=73491&r2=73492&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- cfe/trunk/lib/Lex/Preprocessor.cpp (original)
> +++ cfe/trunk/lib/Lex/Preprocessor.cpp Tue Jun 16 11:18:48 2009
> @@ -51,7 +51,7 @@
>                            IdentifierInfoLookup* IILookup)
>   : Diags(&diags), Features(opts),  
> Target(target),FileMgr(Headers.getFileMgr()),
>     SourceMgr(SM), HeaderInfo(Headers), Identifiers(opts, IILookup),
> -    CurPPLexer(0), CurDirLookup(0), Callbacks(0) {
> +    BuiltinInfo(Target), CurPPLexer(0), CurDirLookup(0),  
> Callbacks(0) {
>   ScratchBuf = new ScratchBuffer(SourceMgr);
>   CounterValue = 0; // __COUNTER__ starts at 0.
>
>
> Modified: cfe/trunk/tools/clang-cc/clang-cc.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-cc/clang-cc.cpp?rev=73492&r1=73491&r2=73492&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- cfe/trunk/tools/clang-cc/clang-cc.cpp (original)
> +++ cfe/trunk/tools/clang-cc/clang-cc.cpp Tue Jun 16 11:18:48 2009
> @@ -2305,7 +2305,6 @@
>
>       // Initialize builtin info.
>       PP->getBuiltinInfo().InitializeBuiltins(PP- 
> >getIdentifierTable(),
> -                                              PP->getTargetInfo(),
>                                               PP- 
> >getLangOptions().NoBuiltin);
>     }
>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits




More information about the cfe-commits mailing list