Implemented support for "pragma clang optimize on/off", based on attribute 'optnone'.
authorDario Domizioli <dario.domizioli@gmail.com>
Fri, 23 May 2014 12:13:25 +0000 (12:13 +0000)
committerDario Domizioli <dario.domizioli@gmail.com>
Fri, 23 May 2014 12:13:25 +0000 (12:13 +0000)
commit81d690d8301ca1ae084a5f627e4a101577dd0550
treef1e15d293c128da71aa21808807ce23178e1286c
parentb1d67d0ce55d8ff0574341ec394c435828bf6ea4
Implemented support for "pragma clang optimize on/off", based on attribute 'optnone'.

This patch implements support for selectively disabling optimizations on a
range of function definitions through a pragma. The implementation is that
all function definitions in the range are decorated with attribute
'optnone'.

    #pragma clang optimize off
    // All function definitions in here are decorated with 'optnone'.
    #pragma clang optimize on
    // Compilation resumes as normal.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209510 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
include/clang/Basic/DiagnosticParseKinds.td
include/clang/Parse/Parser.h
include/clang/Sema/Sema.h
include/clang/Serialization/ASTBitCodes.h
include/clang/Serialization/ASTReader.h
include/clang/Serialization/ASTWriter.h
lib/Parse/ParsePragma.cpp
lib/Sema/SemaAttr.cpp
lib/Sema/SemaDecl.cpp
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTWriter.cpp
test/PCH/pragma-optimize.c [new file with mode: 0644]
test/Parser/pragma-optimize-diagnostics.cpp [new file with mode: 0644]
test/SemaCXX/pragma-optimize.cpp [new file with mode: 0644]