From: Gabe Black Date: Thu, 12 Jun 2008 04:54:32 +0000 (-0400) Subject: BitUnion: Take out namespace declaration so bitunions can be declared inside classes. X-Git-Tag: m5_2.0_beta6~140 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0368ccdedaa6b6fecb0f04924456953c92396188;p=gem5.git BitUnion: Take out namespace declaration so bitunions can be declared inside classes. --- diff --git a/src/base/bitunion.hh b/src/base/bitunion.hh index 7f7b06966..507fafecd 100644 --- a/src/base/bitunion.hh +++ b/src/base/bitunion.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2005 The Regents of The University of Michigan + * Copyright (c) 2007-2008 The Regents of The University of Michigan * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -242,11 +242,7 @@ namespace BitfieldBackend //bitfields which are defined in the union, creating shared storage with no //overhead. #define __BitUnion(type, name) \ - namespace BitfieldUnderlyingClasses \ - { \ - class name; \ - } \ - class BitfieldUnderlyingClasses::name : \ + class BitfieldUnderlyingClasses##name : \ public BitfieldBackend::BitfieldTypes \ { \ public: \ @@ -262,8 +258,8 @@ namespace BitfieldBackend }; \ }; \ typedef BitfieldBackend::BitUnionOperators< \ - BitfieldUnderlyingClasses::name::__DataType, \ - BitfieldUnderlyingClasses::name> name; + BitfieldUnderlyingClasses##name::__DataType, \ + BitfieldUnderlyingClasses##name> name; //This sets up a bitfield which has other bitfields nested inside of it. The //__data member functions like the "underlying storage" of the top level