1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #define MACRO_FROM_CPP INLINE_CTORS_IN_A_MACRO(InlineCtorsInvolvingCppAreOK) 6 7 #include "inline_ctor.h" 8 9 #include <string> 10 #include <vector> 11 12 // We don't warn on classes that are in CPP files. 13 class InlineInCPPOK { 14 public: InlineInCPPOK()15 InlineInCPPOK() {} ~InlineInCPPOK()16 ~InlineInCPPOK() {} 17 18 private: 19 std::vector<int> one_; 20 std::vector<std::string> two_; 21 }; 22 23 INLINE_CTORS_IN_A_MACRO(InlineCtorsBehindAMacroAreOKInCpp); 24 main()25int main() { 26 InlineInCPPOK one; 27 InlineCtorsArentOKInHeader two; 28 InlineCtorsBehindAMacroArentOKInHeader three; 29 InlineCtorsBehindAMacroAreOKInCpp four; 30 InlineCtorsInvolvingCppAreOK five; 31 return 0; 32 } 33