Skip to content
Snippets Groups Projects
  • Erich Keane's avatar
    0a6b5b65
    PTH-- Remove feature entirely- · 0a6b5b65
    Erich Keane authored
    When debugging a boost build with a modified
    version of Clang, I discovered that the PTH implementation
    stores TokenKind in 8 bits. However, we currently have 368
    TokenKinds.
    
    The result is that the value gets truncated and the wrong token
    gets picked up when including PTH files. It seems that this will
    go wrong every time someone uses a token that uses the 9th bit.
    
    Upon asking on IRC, it was brought up that this was a highly
    experimental features that was considered a failure. I discovered
    via googling that BoostBuild (mostly Boost.Math) is the only user of
    this
    feature, using the CC1 flag directly. I believe that this can be
    transferred over to normal PCH with minimal effort:
    https://github.com/boostorg/build/issues/367
    
    Based on advice on IRC and research showing that this is a nearly
    completely unused feature, this patch removes it entirely.
    
    Note: I considered leaving the build-flags in place and making them
    emit an error/warning, however since I've basically identified and
    warned the only user, it seemed better to just remove them.
    
    Differential Revision: https://reviews.llvm.org/D54547
    
    Change-Id: If32744275ef1f585357bd6c1c813d96973c4d8d9
    llvm-svn: 348266
    0a6b5b65
    History
    PTH-- Remove feature entirely-
    Erich Keane authored
    When debugging a boost build with a modified
    version of Clang, I discovered that the PTH implementation
    stores TokenKind in 8 bits. However, we currently have 368
    TokenKinds.
    
    The result is that the value gets truncated and the wrong token
    gets picked up when including PTH files. It seems that this will
    go wrong every time someone uses a token that uses the 9th bit.
    
    Upon asking on IRC, it was brought up that this was a highly
    experimental features that was considered a failure. I discovered
    via googling that BoostBuild (mostly Boost.Math) is the only user of
    this
    feature, using the CC1 flag directly. I believe that this can be
    transferred over to normal PCH with minimal effort:
    https://github.com/boostorg/build/issues/367
    
    Based on advice on IRC and research showing that this is a nearly
    completely unused feature, this patch removes it entirely.
    
    Note: I considered leaving the build-flags in place and making them
    emit an error/warning, however since I've basically identified and
    warned the only user, it seemed better to just remove them.
    
    Differential Revision: https://reviews.llvm.org/D54547
    
    Change-Id: If32744275ef1f585357bd6c1c813d96973c4d8d9
    llvm-svn: 348266
Code owners
Assign users and groups as approvers for specific file changes. Learn more.