Mesa (master): glsl: Hide many classes local to individual . cpp files in anon namespaces.

Eric Anholt anholt at kemper.freedesktop.org
Mon Sep 23 19:50:16 UTC 2013


Module: Mesa
Branch: master
Commit: 10ef949424809d51c627008bb2feab5a067f8e08
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=10ef949424809d51c627008bb2feab5a067f8e08

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Sep 20 11:03:44 2013 -0700

glsl: Hide many classes local to individual .cpp files in anon namespaces.

This gives the compiler the chance to inline and not export class symbols
even in the absence of LTO.  Saves about 60kb on disk.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at .intel.com>

---

 src/glsl/builtin_functions.cpp                   |    4 ++++
 src/glsl/ir_function_detect_recursion.cpp        |    4 ++++
 src/glsl/ir_import_prototypes.cpp                |    3 +++
 src/glsl/ir_reader.cpp                           |    4 ++++
 src/glsl/ir_set_program_inouts.cpp               |    4 ++++
 src/glsl/ir_validate.cpp                         |    3 +++
 src/glsl/link_functions.cpp                      |    3 +++
 src/glsl/link_uniform_blocks.cpp                 |    4 ++++
 src/glsl/link_uniforms.cpp                       |    4 ++++
 src/glsl/link_varyings.cpp                       |    2 ++
 src/glsl/linker.cpp                              |    3 +++
 src/glsl/loop_analysis.cpp                       |    2 ++
 src/glsl/loop_controls.cpp                       |    2 ++
 src/glsl/loop_unroll.cpp                         |    3 +++
 src/glsl/lower_clip_distance.cpp                 |    3 +++
 src/glsl/lower_discard.cpp                       |    3 +++
 src/glsl/lower_discard_flow.cpp                  |    4 ++++
 src/glsl/lower_if_to_cond_assign.cpp             |    4 ++++
 src/glsl/lower_instructions.cpp                  |    4 ++++
 src/glsl/lower_jumps.cpp                         |    4 ++++
 src/glsl/lower_mat_op_to_vec.cpp                 |    4 ++++
 src/glsl/lower_named_interface_blocks.cpp        |    4 ++++
 src/glsl/lower_output_reads.cpp                  |    4 ++++
 src/glsl/lower_packed_varyings.cpp               |    4 ++++
 src/glsl/lower_texture_projection.cpp            |    4 ++++
 src/glsl/lower_variable_index_to_cond_assign.cpp |    3 +++
 src/glsl/lower_vec_index_to_cond_assign.cpp      |    4 ++++
 src/glsl/lower_vec_index_to_swizzle.cpp          |    4 ++++
 src/glsl/lower_vector.cpp                        |    4 ++++
 src/glsl/lower_vector_insert.cpp                 |    3 +++
 src/glsl/opt_array_splitting.cpp                 |    5 +++++
 src/glsl/opt_dead_builtin_varyings.cpp           |    2 ++
 src/mesa/program/ir_to_mesa.cpp                  |   16 ++++++++++++++--
 33 files changed, 126 insertions(+), 2 deletions(-)

diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp
index 96358a7..72054e0 100644
--- a/src/glsl/builtin_functions.cpp
+++ b/src/glsl/builtin_functions.cpp
@@ -304,6 +304,8 @@ tex3d_lod(const _mesa_glsl_parse_state *state)
 
 /******************************************************************************/
 
+namespace {
+
 /**
  * builtin_builder: A singleton object representing the core of the built-in
  * function module.
@@ -521,6 +523,8 @@ private:
    /** @} */
 };
 
+} /* anonymous namespace */
+
 /**
  * Core builtin_builder functionality:
  *  @{
diff --git a/src/glsl/ir_function_detect_recursion.cpp b/src/glsl/ir_function_detect_recursion.cpp
index b02c325..5813315 100644
--- a/src/glsl/ir_function_detect_recursion.cpp
+++ b/src/glsl/ir_function_detect_recursion.cpp
@@ -127,6 +127,8 @@
 #include "program/hash_table.h"
 #include "program.h"
 
+namespace {
+
 struct call_node : public exec_node {
    class function *func;
 };
@@ -222,6 +224,8 @@ public:
    bool progress;
 };
 
+} /* anonymous namespace */
+
 static void
 destroy_links(exec_list *list, function *f)
 {
diff --git a/src/glsl/ir_import_prototypes.cpp b/src/glsl/ir_import_prototypes.cpp
index 3585bf6..b0429fb 100644
--- a/src/glsl/ir_import_prototypes.cpp
+++ b/src/glsl/ir_import_prototypes.cpp
@@ -30,6 +30,8 @@
 #include "ir.h"
 #include "glsl_symbol_table.h"
 
+namespace {
+
 /**
  * Visitor used to import function prototypes
  *
@@ -99,6 +101,7 @@ private:
    void *mem_ctx;
 };
 
+} /* anonymous namespace */
 
 /**
  * Import function prototypes from one IR tree into another
diff --git a/src/glsl/ir_reader.cpp b/src/glsl/ir_reader.cpp
index ec35b68..f0318ea 100644
--- a/src/glsl/ir_reader.cpp
+++ b/src/glsl/ir_reader.cpp
@@ -28,6 +28,8 @@
 
 const static bool debug = false;
 
+namespace {
+
 class ir_reader {
 public:
    ir_reader(_mesa_glsl_parse_state *);
@@ -66,6 +68,8 @@ private:
    ir_dereference_variable *read_var_ref(s_expression *);
 };
 
+} /* anonymous namespace */
+
 ir_reader::ir_reader(_mesa_glsl_parse_state *state) : state(state)
 {
    this->mem_ctx = state;
diff --git a/src/glsl/ir_set_program_inouts.cpp b/src/glsl/ir_set_program_inouts.cpp
index 6196d6a..1267d6d 100644
--- a/src/glsl/ir_set_program_inouts.cpp
+++ b/src/glsl/ir_set_program_inouts.cpp
@@ -42,6 +42,8 @@
 #include "ir_visitor.h"
 #include "glsl_types.h"
 
+namespace {
+
 class ir_set_program_inouts_visitor : public ir_hierarchical_visitor {
 public:
    ir_set_program_inouts_visitor(struct gl_program *prog, GLenum shader_type)
@@ -67,6 +69,8 @@ private:
    GLenum shader_type;
 };
 
+} /* anonymous namespace */
+
 static inline bool
 is_shader_inout(ir_variable *var)
 {
diff --git a/src/glsl/ir_validate.cpp b/src/glsl/ir_validate.cpp
index 2068de0..2c64f4e 100644
--- a/src/glsl/ir_validate.cpp
+++ b/src/glsl/ir_validate.cpp
@@ -38,6 +38,8 @@
 #include "program/hash_table.h"
 #include "glsl_types.h"
 
+namespace {
+
 class ir_validate : public ir_hierarchical_visitor {
 public:
    ir_validate()
@@ -81,6 +83,7 @@ public:
    struct hash_table *ht;
 };
 
+} /* anonymous namespace */
 
 ir_visitor_status
 ir_validate::visit(ir_dereference_variable *ir)
diff --git a/src/glsl/link_functions.cpp b/src/glsl/link_functions.cpp
index 9e96365..b1a68fd 100644
--- a/src/glsl/link_functions.cpp
+++ b/src/glsl/link_functions.cpp
@@ -34,6 +34,8 @@ find_matching_signature(const char *name, const exec_list *actual_parameters,
 			gl_shader **shader_list, unsigned num_shaders,
 			bool use_builtin);
 
+namespace {
+
 class call_link_visitor : public ir_hierarchical_visitor {
 public:
    call_link_visitor(gl_shader_program *prog, gl_shader *linked,
@@ -273,6 +275,7 @@ private:
    hash_table *locals;
 };
 
+} /* anonymous namespace */
 
 /**
  * Searches a list of shaders for a particular function definition
diff --git a/src/glsl/link_uniform_blocks.cpp b/src/glsl/link_uniform_blocks.cpp
index d960758..72d6c53 100644
--- a/src/glsl/link_uniform_blocks.cpp
+++ b/src/glsl/link_uniform_blocks.cpp
@@ -29,6 +29,8 @@
 #include "main/hash_table.h"
 #include "program.h"
 
+namespace {
+
 class ubo_visitor : public program_resource_visitor {
 public:
    ubo_visitor(void *mem_ctx, gl_uniform_buffer_variable *variables,
@@ -147,6 +149,8 @@ private:
    }
 };
 
+} /* anonymous namespace */
+
 struct block {
    const glsl_type *type;
    bool has_instance_name;
diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
index fa77157..03cbcd1 100644
--- a/src/glsl/link_uniforms.cpp
+++ b/src/glsl/link_uniforms.cpp
@@ -168,6 +168,8 @@ program_resource_visitor::visit_field(const glsl_struct_field *field)
    /* empty */
 }
 
+namespace {
+
 /**
  * Class to help calculate the storage requirements for a set of uniforms
  *
@@ -272,6 +274,8 @@ private:
    struct string_to_uint_map *map;
 };
 
+} /* anonymous namespace */
+
 /**
  * Class to help parcel out pieces of backing storage to uniforms
  *
diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp
index 081a51d..905621d 100644
--- a/src/glsl/link_varyings.cpp
+++ b/src/glsl/link_varyings.cpp
@@ -597,6 +597,7 @@ store_tfeedback_info(struct gl_context *ctx, struct gl_shader_program *prog,
    return true;
 }
 
+namespace {
 
 /**
  * Data structure recording the relationship between outputs of one shader
@@ -689,6 +690,7 @@ private:
    const bool consumer_is_fs;
 };
 
+} /* anonymous namespace */
 
 varying_matches::varying_matches(bool disable_varying_packing,
                                  bool consumer_is_fs)
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 8a143fd..c54b704 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -82,6 +82,8 @@ extern "C" {
 
 void linker_error(gl_shader_program *, const char *, ...);
 
+namespace {
+
 /**
  * Visitor that determines whether or not a variable is ever written.
  */
@@ -275,6 +277,7 @@ private:
    bool found;
 };
 
+} /* anonymous namespace */
 
 void
 linker_error(gl_shader_program *prog, const char *fmt, ...)
diff --git a/src/glsl/loop_analysis.cpp b/src/glsl/loop_analysis.cpp
index 40897bb..b08241a 100644
--- a/src/glsl/loop_analysis.cpp
+++ b/src/glsl/loop_analysis.cpp
@@ -102,6 +102,7 @@ loop_variable_state::insert(ir_if *if_stmt)
    return t;
 }
 
+namespace {
 
 class loop_analysis : public ir_hierarchical_visitor {
 public:
@@ -128,6 +129,7 @@ public:
    exec_list state;
 };
 
+} /* anonymous namespace */
 
 loop_analysis::loop_analysis(loop_state *loops)
    : loops(loops), if_statement_depth(0), current_assignment(NULL)
diff --git a/src/glsl/loop_controls.cpp b/src/glsl/loop_controls.cpp
index 79c8204..2648193 100644
--- a/src/glsl/loop_controls.cpp
+++ b/src/glsl/loop_controls.cpp
@@ -151,6 +151,7 @@ calculate_iterations(ir_rvalue *from, ir_rvalue *to, ir_rvalue *increment,
    return (valid_loop) ? iter_value : -1;
 }
 
+namespace {
 
 class loop_control_visitor : public ir_hierarchical_visitor {
 public:
@@ -167,6 +168,7 @@ public:
    bool progress;
 };
 
+} /* anonymous namespace */
 
 ir_visitor_status
 loop_control_visitor::visit_leave(ir_loop *ir)
diff --git a/src/glsl/loop_unroll.cpp b/src/glsl/loop_unroll.cpp
index 3434fde..ff97766 100644
--- a/src/glsl/loop_unroll.cpp
+++ b/src/glsl/loop_unroll.cpp
@@ -25,6 +25,8 @@
 #include "loop_analysis.h"
 #include "ir_hierarchical_visitor.h"
 
+namespace {
+
 class loop_unroll_visitor : public ir_hierarchical_visitor {
 public:
    loop_unroll_visitor(loop_state *state, unsigned max_iterations)
@@ -42,6 +44,7 @@ public:
    unsigned max_iterations;
 };
 
+} /* anonymous namespace */
 
 static bool
 is_break(ir_instruction *ir)
diff --git a/src/glsl/lower_clip_distance.cpp b/src/glsl/lower_clip_distance.cpp
index d6cf944..9ddd646 100644
--- a/src/glsl/lower_clip_distance.cpp
+++ b/src/glsl/lower_clip_distance.cpp
@@ -50,6 +50,8 @@
 #include "ir.h"
 #include "program/prog_instruction.h" /* For WRITEMASK_* */
 
+namespace {
+
 class lower_clip_distance_visitor : public ir_rvalue_visitor {
 public:
    lower_clip_distance_visitor()
@@ -81,6 +83,7 @@ public:
    ir_variable *new_clip_distance_var;
 };
 
+} /* anonymous namespace */
 
 /**
  * Replace any declaration of gl_ClipDistance as an array of floats with a
diff --git a/src/glsl/lower_discard.cpp b/src/glsl/lower_discard.cpp
index cafd2dd..f2757d1 100644
--- a/src/glsl/lower_discard.cpp
+++ b/src/glsl/lower_discard.cpp
@@ -108,6 +108,8 @@
 #include "glsl_types.h"
 #include "ir.h"
 
+namespace {
+
 class lower_discard_visitor : public ir_hierarchical_visitor {
 public:
    lower_discard_visitor()
@@ -120,6 +122,7 @@ public:
    bool progress;
 };
 
+} /* anonymous namespace */
 
 bool
 lower_discard(exec_list *instructions)
diff --git a/src/glsl/lower_discard_flow.cpp b/src/glsl/lower_discard_flow.cpp
index d385c14..1bc56d7 100644
--- a/src/glsl/lower_discard_flow.cpp
+++ b/src/glsl/lower_discard_flow.cpp
@@ -48,6 +48,8 @@
 #include "ir.h"
 #include "program/hash_table.h"
 
+namespace {
+
 class lower_discard_flow_visitor : public ir_hierarchical_visitor {
 public:
    lower_discard_flow_visitor(ir_variable *discarded)
@@ -71,6 +73,8 @@ public:
    void *mem_ctx;
 };
 
+} /* anonymous namespace */
+
 ir_visitor_status
 lower_discard_flow_visitor::visit_enter(ir_loop_jump *ir)
 {
diff --git a/src/glsl/lower_if_to_cond_assign.cpp b/src/glsl/lower_if_to_cond_assign.cpp
index 2c5d561..1e7ce51 100644
--- a/src/glsl/lower_if_to_cond_assign.cpp
+++ b/src/glsl/lower_if_to_cond_assign.cpp
@@ -49,6 +49,8 @@
 #include "ir.h"
 #include "program/hash_table.h"
 
+namespace {
+
 class ir_if_to_cond_assign_visitor : public ir_hierarchical_visitor {
 public:
    ir_if_to_cond_assign_visitor(unsigned max_depth)
@@ -76,6 +78,8 @@ public:
    struct hash_table *condition_variables;
 };
 
+} /* anonymous namespace */
+
 bool
 lower_if_to_cond_assign(exec_list *instructions, unsigned max_depth)
 {
diff --git a/src/glsl/lower_instructions.cpp b/src/glsl/lower_instructions.cpp
index cb53048..d01879c 100644
--- a/src/glsl/lower_instructions.cpp
+++ b/src/glsl/lower_instructions.cpp
@@ -109,6 +109,8 @@
 
 using namespace ir_builder;
 
+namespace {
+
 class lower_instructions_visitor : public ir_hierarchical_visitor {
 public:
    lower_instructions_visitor(unsigned lower)
@@ -133,6 +135,8 @@ private:
    void ldexp_to_arith(ir_expression *);
 };
 
+} /* anonymous namespace */
+
 /**
  * Determine if a particular type of lowering should occur
  */
diff --git a/src/glsl/lower_jumps.cpp b/src/glsl/lower_jumps.cpp
index bfc8c01..97b1abb 100644
--- a/src/glsl/lower_jumps.cpp
+++ b/src/glsl/lower_jumps.cpp
@@ -133,6 +133,8 @@ enum jump_strength
    strength_return
 };
 
+namespace {
+
 struct block_record
 {
    /* minimum jump strength (of lowered IR, not pre-lowering IR)
@@ -992,6 +994,8 @@ lower_continue:
    }
 };
 
+} /* anonymous namespace */
+
 bool
 do_lower_jumps(exec_list *instructions, bool pull_out_jumps, bool lower_sub_return, bool lower_main_return, bool lower_continue, bool lower_break)
 {
diff --git a/src/glsl/lower_mat_op_to_vec.cpp b/src/glsl/lower_mat_op_to_vec.cpp
index 08cae29..105ee0d 100644
--- a/src/glsl/lower_mat_op_to_vec.cpp
+++ b/src/glsl/lower_mat_op_to_vec.cpp
@@ -35,6 +35,8 @@
 #include "ir_expression_flattening.h"
 #include "glsl_types.h"
 
+namespace {
+
 class ir_mat_op_to_vec_visitor : public ir_hierarchical_visitor {
 public:
    ir_mat_op_to_vec_visitor()
@@ -63,6 +65,8 @@ public:
    bool made_progress;
 };
 
+} /* anonymous namespace */
+
 static bool
 mat_op_to_vec_predicate(ir_instruction *ir)
 {
diff --git a/src/glsl/lower_named_interface_blocks.cpp b/src/glsl/lower_named_interface_blocks.cpp
index 20196a3..7019185 100644
--- a/src/glsl/lower_named_interface_blocks.cpp
+++ b/src/glsl/lower_named_interface_blocks.cpp
@@ -65,6 +65,8 @@
 #include "ir_rvalue_visitor.h"
 #include "program/hash_table.h"
 
+namespace {
+
 class flatten_named_interface_blocks_declarations : public ir_rvalue_visitor
 {
 public:
@@ -83,6 +85,8 @@ public:
    virtual void handle_rvalue(ir_rvalue **rvalue);
 };
 
+} /* anonymous namespace */
+
 void
 flatten_named_interface_blocks_declarations::run(exec_list *instructions)
 {
diff --git a/src/glsl/lower_output_reads.cpp b/src/glsl/lower_output_reads.cpp
index 5ba9720..128b0b8 100644
--- a/src/glsl/lower_output_reads.cpp
+++ b/src/glsl/lower_output_reads.cpp
@@ -37,6 +37,8 @@
  * main() function to copy the final values to the actual shader outputs.
  */
 
+namespace {
+
 class output_read_remover : public ir_hierarchical_visitor {
 protected:
    /**
@@ -55,6 +57,8 @@ public:
    virtual ir_visitor_status visit_leave(class ir_function_signature *);
 };
 
+} /* anonymous namespace */
+
 /**
  * Hash function for the output variables - computes the hash of the name.
  * NOTE: We're using the name string to ensure that the hash doesn't depend
diff --git a/src/glsl/lower_packed_varyings.cpp b/src/glsl/lower_packed_varyings.cpp
index 4f61722..2bcadfd 100644
--- a/src/glsl/lower_packed_varyings.cpp
+++ b/src/glsl/lower_packed_varyings.cpp
@@ -148,6 +148,8 @@
 #include "ir.h"
 #include "ir_optimization.h"
 
+namespace {
+
 /**
  * Visitor that performs varying packing.  For each varying declared in the
  * shader, this visitor determines whether it needs to be packed.  If so, it
@@ -230,6 +232,8 @@ private:
    exec_list *out_instructions;
 };
 
+} /* anonymous namespace */
+
 lower_packed_varyings_visitor::lower_packed_varyings_visitor(
       void *mem_ctx, unsigned location_base, unsigned locations_used,
       ir_variable_mode mode, unsigned gs_input_vertices,
diff --git a/src/glsl/lower_texture_projection.cpp b/src/glsl/lower_texture_projection.cpp
index 6e3aaec..16d6376 100644
--- a/src/glsl/lower_texture_projection.cpp
+++ b/src/glsl/lower_texture_projection.cpp
@@ -37,6 +37,8 @@
 
 #include "ir.h"
 
+namespace {
+
 class lower_texture_projection_visitor : public ir_hierarchical_visitor {
 public:
    lower_texture_projection_visitor()
@@ -49,6 +51,8 @@ public:
    bool progress;
 };
 
+} /* anonymous namespace */
+
 ir_visitor_status
 lower_texture_projection_visitor::visit_leave(ir_texture *ir)
 {
diff --git a/src/glsl/lower_variable_index_to_cond_assign.cpp b/src/glsl/lower_variable_index_to_cond_assign.cpp
index 0f50727..21674b5 100644
--- a/src/glsl/lower_variable_index_to_cond_assign.cpp
+++ b/src/glsl/lower_variable_index_to_cond_assign.cpp
@@ -122,6 +122,7 @@ is_array_or_matrix(const ir_rvalue *ir)
    return (ir->type->is_array() || ir->type->is_matrix());
 }
 
+namespace {
 /**
  * Replace a dereference of a variable with a specified r-value
  *
@@ -512,6 +513,8 @@ public:
    }
 };
 
+} /* anonymous namespace */
+
 bool
 lower_variable_index_to_cond_assign(exec_list *instructions,
 				    bool lower_input,
diff --git a/src/glsl/lower_vec_index_to_cond_assign.cpp b/src/glsl/lower_vec_index_to_cond_assign.cpp
index 8808596..8080006 100644
--- a/src/glsl/lower_vec_index_to_cond_assign.cpp
+++ b/src/glsl/lower_vec_index_to_cond_assign.cpp
@@ -41,6 +41,8 @@
 #include "ir_optimization.h"
 #include "glsl_types.h"
 
+namespace {
+
 /**
  * Visitor class for replacing expressions with ir_constant values.
  */
@@ -69,6 +71,8 @@ public:
    bool progress;
 };
 
+} /* anonymous namespace */
+
 ir_rvalue *
 ir_vec_index_to_cond_assign_visitor::convert_vec_index_to_cond_assign(void *mem_ctx,
                                                                       ir_rvalue *orig_vector,
diff --git a/src/glsl/lower_vec_index_to_swizzle.cpp b/src/glsl/lower_vec_index_to_swizzle.cpp
index d5ad692..4698579 100644
--- a/src/glsl/lower_vec_index_to_swizzle.cpp
+++ b/src/glsl/lower_vec_index_to_swizzle.cpp
@@ -39,6 +39,8 @@
  * Visitor class for replacing expressions with ir_constant values.
  */
 
+namespace {
+
 class ir_vec_index_to_swizzle_visitor : public ir_hierarchical_visitor {
 public:
    ir_vec_index_to_swizzle_visitor()
@@ -58,6 +60,8 @@ public:
    bool progress;
 };
 
+} /* anonymous namespace */
+
 ir_rvalue *
 ir_vec_index_to_swizzle_visitor::convert_vector_extract_to_swizzle(ir_rvalue *ir)
 {
diff --git a/src/glsl/lower_vector.cpp b/src/glsl/lower_vector.cpp
index 0cd6909..9172b6a 100644
--- a/src/glsl/lower_vector.cpp
+++ b/src/glsl/lower_vector.cpp
@@ -31,6 +31,8 @@
 #include "ir.h"
 #include "ir_rvalue_visitor.h"
 
+namespace {
+
 class lower_vector_visitor : public ir_rvalue_visitor {
 public:
    lower_vector_visitor() : progress(false)
@@ -48,6 +50,8 @@ public:
    bool progress;
 };
 
+} /* anonymous namespace */
+
 /**
  * Determine if an IR expression tree looks like an extended swizzle
  *
diff --git a/src/glsl/lower_vector_insert.cpp b/src/glsl/lower_vector_insert.cpp
index 0e640cc..6d7cfa9 100644
--- a/src/glsl/lower_vector_insert.cpp
+++ b/src/glsl/lower_vector_insert.cpp
@@ -27,6 +27,8 @@
 
 using namespace ir_builder;
 
+namespace {
+
 class vector_insert_visitor : public ir_rvalue_visitor {
 public:
    vector_insert_visitor(bool lower_nonconstant_index)
@@ -48,6 +50,7 @@ public:
    bool lower_nonconstant_index;
 };
 
+} /* anonymous namespace */
 
 void
 vector_insert_visitor::handle_rvalue(ir_rvalue **rv)
diff --git a/src/glsl/opt_array_splitting.cpp b/src/glsl/opt_array_splitting.cpp
index f4a7ef9..34ac836 100644
--- a/src/glsl/opt_array_splitting.cpp
+++ b/src/glsl/opt_array_splitting.cpp
@@ -40,6 +40,8 @@
 
 static bool debug = false;
 
+namespace {
+
 namespace opt_array_splitting {
 
 class variable_entry : public exec_node
@@ -77,6 +79,7 @@ public:
 };
 
 } /* namespace */
+
 using namespace opt_array_splitting;
 
 /**
@@ -112,6 +115,8 @@ public:
    void *mem_ctx;
 };
 
+} /* namespace */
+
 variable_entry *
 ir_array_reference_visitor::get_variable_entry(ir_variable *var)
 {
diff --git a/src/glsl/opt_dead_builtin_varyings.cpp b/src/glsl/opt_dead_builtin_varyings.cpp
index 3cdd130..7e8cd43 100644
--- a/src/glsl/opt_dead_builtin_varyings.cpp
+++ b/src/glsl/opt_dead_builtin_varyings.cpp
@@ -52,6 +52,7 @@
 #include "glsl_types.h"
 #include "link_varyings.h"
 
+namespace {
 
 /**
  * This obtains detailed information about built-in varyings from shader code.
@@ -397,6 +398,7 @@ private:
    ir_variable *new_fog;
 };
 
+} /* anonymous namespace */
 
 static void
 lower_texcoord_array(exec_list *ir, const varying_info_visitor *info)
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index c46a3d0..d5a6a87 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -57,11 +57,13 @@ extern "C" {
 #include "program/sampler.h"
 }
 
+static int swizzle_for_size(int size);
+
+namespace {
+
 class src_reg;
 class dst_reg;
 
-static int swizzle_for_size(int size);
-
 /**
  * This struct is a corresponding struct to Mesa prog_src_register, with
  * wider fields.
@@ -129,6 +131,8 @@ public:
    src_reg *reladdr;
 };
 
+} /* anonymous namespace */
+
 src_reg::src_reg(dst_reg reg)
 {
    this->file = reg.file;
@@ -147,6 +151,8 @@ dst_reg::dst_reg(src_reg reg)
    this->reladdr = reg.reladdr;
 }
 
+namespace {
+
 class ir_to_mesa_instruction : public exec_node {
 public:
    DECLARE_RZALLOC_CXX_OPERATORS(ir_to_mesa_instruction)
@@ -316,6 +322,8 @@ public:
    void *mem_ctx;
 };
 
+} /* anonymous namespace */
+
 static src_reg undef_src = src_reg(PROGRAM_UNDEFINED, 0, NULL);
 
 static dst_reg undef_dst = dst_reg(PROGRAM_UNDEFINED, SWIZZLE_NOOP);
@@ -2407,6 +2415,8 @@ print_program(struct prog_instruction *mesa_instructions,
    }
 }
 
+namespace {
+
 class add_uniform_to_shader : public program_resource_visitor {
 public:
    add_uniform_to_shader(struct gl_shader_program *shader_program,
@@ -2436,6 +2446,8 @@ private:
    gl_shader_type shader_type;
 };
 
+} /* anonymous namespace */
+
 void
 add_uniform_to_shader::visit_field(const glsl_type *type, const char *name,
                                    bool row_major)




More information about the mesa-commit mailing list