1*8975f5c5SAndroid Build Coastguard Worker // 2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2012 The ANGLE Project Authors. All rights reserved. 3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker // 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard Worker #ifndef COMPILER_PREPROCESSOR_SOURCELOCATION_H_ 8*8975f5c5SAndroid Build Coastguard Worker #define COMPILER_PREPROCESSOR_SOURCELOCATION_H_ 9*8975f5c5SAndroid Build Coastguard Worker 10*8975f5c5SAndroid Build Coastguard Worker namespace angle 11*8975f5c5SAndroid Build Coastguard Worker { 12*8975f5c5SAndroid Build Coastguard Worker 13*8975f5c5SAndroid Build Coastguard Worker namespace pp 14*8975f5c5SAndroid Build Coastguard Worker { 15*8975f5c5SAndroid Build Coastguard Worker 16*8975f5c5SAndroid Build Coastguard Worker struct SourceLocation 17*8975f5c5SAndroid Build Coastguard Worker { SourceLocationSourceLocation18*8975f5c5SAndroid Build Coastguard Worker SourceLocation() : file(0), line(0) {} SourceLocationSourceLocation19*8975f5c5SAndroid Build Coastguard Worker SourceLocation(int f, int l) : file(f), line(l) {} 20*8975f5c5SAndroid Build Coastguard Worker equalsSourceLocation21*8975f5c5SAndroid Build Coastguard Worker bool equals(const SourceLocation &other) const 22*8975f5c5SAndroid Build Coastguard Worker { 23*8975f5c5SAndroid Build Coastguard Worker return (file == other.file) && (line == other.line); 24*8975f5c5SAndroid Build Coastguard Worker } 25*8975f5c5SAndroid Build Coastguard Worker 26*8975f5c5SAndroid Build Coastguard Worker int file; 27*8975f5c5SAndroid Build Coastguard Worker int line; 28*8975f5c5SAndroid Build Coastguard Worker }; 29*8975f5c5SAndroid Build Coastguard Worker 30*8975f5c5SAndroid Build Coastguard Worker inline bool operator==(const SourceLocation &lhs, const SourceLocation &rhs) 31*8975f5c5SAndroid Build Coastguard Worker { 32*8975f5c5SAndroid Build Coastguard Worker return lhs.equals(rhs); 33*8975f5c5SAndroid Build Coastguard Worker } 34*8975f5c5SAndroid Build Coastguard Worker 35*8975f5c5SAndroid Build Coastguard Worker inline bool operator!=(const SourceLocation &lhs, const SourceLocation &rhs) 36*8975f5c5SAndroid Build Coastguard Worker { 37*8975f5c5SAndroid Build Coastguard Worker return !lhs.equals(rhs); 38*8975f5c5SAndroid Build Coastguard Worker } 39*8975f5c5SAndroid Build Coastguard Worker 40*8975f5c5SAndroid Build Coastguard Worker } // namespace pp 41*8975f5c5SAndroid Build Coastguard Worker 42*8975f5c5SAndroid Build Coastguard Worker } // namespace angle 43*8975f5c5SAndroid Build Coastguard Worker 44*8975f5c5SAndroid Build Coastguard Worker #endif // COMPILER_PREPROCESSOR_SOURCELOCATION_H_ 45